diff --git a/.gitignore b/.gitignore index 9c628283b..f414165d6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules coverage dist +output/ \ No newline at end of file diff --git a/examples/output/echo_Echo.abi b/examples/output/echo_Echo.abi deleted file mode 100644 index 2e37c0779..000000000 --- a/examples/output/echo_Echo.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Echo","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"EchoMessage","header":2074217921,"fields":[]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"EchoMessage"}},{"receiver":"internal","message":{"kind":"text"}},{"receiver":"internal","message":{"kind":"any"}}],"getters":[{"name":"hello","arguments":[{"name":"src","type":{"kind":"simple","type":"string","optional":false}}],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"hello2","arguments":[{"name":"src","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/examples/output/echo_Echo.code.boc b/examples/output/echo_Echo.code.boc deleted file mode 100644 index e8fb2753e..000000000 Binary files a/examples/output/echo_Echo.code.boc and /dev/null differ diff --git a/examples/output/echo_Echo.code.boc.html b/examples/output/echo_Echo.code.boc.html deleted file mode 100644 index e15b022e0..000000000 --- a/examples/output/echo_Echo.code.boc.html +++ /dev/null @@ -1,540 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_105790;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC ?fun_115554;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_7b0b7ac68163f545;
-            ..DECLPROC ?fun_ref_8e0b7601d5773f02;
-            ..DECLPROC ?fun_ref_a2813468f47d741c;
-            ..DECLPROC ?fun_ref_a919648a283a4b4d;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_dca7aba6e712f2dd;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            ..DECLPROC ?fun_ref_fbd3661091469c71;
-            ..DECLPROC ?fun_ref_fc8ae1407928bf8b;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_fbd3661091469c71 INLINECALLDICT
-            ....ROTREV
-            ....?fun_ref_8e0b7601d5773f02 INLINECALLDICT
-            ....130 THROWIFNOT
-            ....s0 POP
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..?fun_105790 PROC:<{
-            ....?fun_ref_fbd3661091469c71 INLINECALLDICT
-            ....s0 s1 XCHG
-            ....?fun_ref_a919648a283a4b4d INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..?fun_115554 PROC:<{
-            ....?fun_ref_fbd3661091469c71 INLINECALLDICT
-            ....s0 s1 XCHG
-            ....?fun_ref_fc8ae1407928bf8b INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D6548637A5A6A5A754E4564556F6B78333239477543534E6F79655A354D3339436A5A48626A6858436A776B5382_} PUSHSLICE
-            ..}>
-            ..?fun_ref_7b0b7ac68163f545 PROCREF:<{
-            ....NEWC
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....32 STU
-            ....0 TUPLE
-            ....s0 s1 XCHG
-            ....TPUSH
-            ....NULL
-            ....TPUSH
-            ....s0 s1 XCHG
-            ....?fun_ref_a2813468f47d741c INLINECALLDICT
-            ....2 UNTUPLE
-            ....s0 s1 XCHG
-            ....ENDC
-            ....<{
-            ......s1 PUSH
-            ......ISNULL
-            ......NOT
-            ....}> PUSHCONT
-            ....<{
-            ......s0 s1 XCHG
-            ......2 UNTUPLE
-            ......ROTREV
-            ......STREF
-            ......ENDC
-            ....}> PUSHCONT
-            ....WHILE
-            ....s1 POP
-            ..}>
-            ..?fun_ref_8e0b7601d5773f02 PROCREF:<{
-            ....2 SAVE
-            ....SAMEALTSAVE
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....s0 PUSH
-            ....2074217921 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2074217921 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......NULL
-            ......s1 POP
-            ......NEWC
-            ......s0 s1 XCHG
-            ......s0 POP
-            ......2074217921 PUSHINT
-            ......s0 s1 XCHG
-            ......32 STU
-            ......ENDC
-            ......2 GETGLOBVAR
-            ......s0 s1 XCHG
-            ......-1 PUSHINT
-            ......NULL
-            ......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 EQINT
-            ....<{
-            ......s0 PUSH
-            ......SBITS
-            ......31 GTINT
-            ......<{
-            ........32 PUSHINT
-            ........SDSKIPFIRST
-            ........?fun_ref_7b0b7ac68163f545 INLINECALLDICT
-            ........2 GETGLOBVAR
-            ........s0 s1 XCHG
-            ........-1 PUSHINT
-            ........NULL
-            ........?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ....}> PUSHCONT
-            ....IF
-            ....NEWC
-            ....s0 s1 XCHG
-            ....STSLICER
-            ....ENDC
-            ....2 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....-1 PUSHINT
-            ....NULL
-            ....?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            ....-1 PUSHINT
-            ..}>
-            x12..?fun_ref_a2813468f47d741c PROCREF:<{
-            18x12....s0 PUSH
-            26x12....SREFS
-            18x12....s1 PUSH
-            26x12....SBITS
-            18x12....<{
-            18x44......s0 PUSH
-            26x44......0 GTINT
-            18x44......s2 PUSH
-            26x44......0 GTINT
-            18x44......OR
-            18x12....}> PUSHCONT
-            26x12....<{
-            18x32......s0 s3 XCHG
-            28x32......2 UNTUPLE
-            26x32......127 PUSHINT
-            18x32......s2 PUSH
-            26x32......BBITS
-            26x32......3 RSHIFT
-            18x32......SUB
-            18x32......s0 s5 XCHG
-            26x32......3 RSHIFT
-            26x32......s5 s5 XCPU
-            26x32......MIN
-            18x32......s0 PUSH
-            26x32......0 GTINT
-            18x32......<{
-            18x32........s0 PUSH
-            26x32........3 LSHIFT
-            18x32........s1 s5 XCHG
-            26x32........LDSLICEX
-            26x32........s3 s3 XCHG2
-            26x32........STSLICER
-            26x32........s0 s1 s4 XCHG3
-            18x32......}> PUSHCONT
-            18x32......IF
-            18x32......ROTREV
-            28x32......2 TUPLE
-            26x32......s4 s1 PUSH2
-            18x32......SUB
-            26x32......0 GTINT
-            18x32......<{
-            18x10........NEWC
-            18x10........s0 s1 XCHG
-            28x10........2 TUPLE
-            26x10........s4 s4 XCHG2
-            18x10........SUB
-            26x10........3 LSHIFT
-            18x32......}> PUSHCONT
-            26x32......<{
-            18x22........s1 POP
-            18x22........s3 POP
-            26x22........0 GTINT
-            18x22........<{
-            18x10..........LDREF
-            18x10..........s0 POP
-            118x10..........CTOS
-            18x10..........s0 PUSH
-            26x10..........SREFS
-            18x10..........s1 PUSH
-            26x10..........SBITS
-            18x22........}> PUSHCONT
-            18x22........<{
-            18x12..........0 PUSHINT
-            18x12..........s0 PUSH
-            18x22........}> PUSHCONT
-            18x22........IFELSE
-            26x32......}> PUSHCONT
-            18x32......IFELSE
-            26x12....}> PUSHCONT
-            18x12....WHILE
-            26x12....3 BLKDROP
-            x12..}>
-            ..?fun_ref_a919648a283a4b4d PROCREF:<{
-            ....10 LSHIFT
-            ....32 PUSHINT
-            ....AND
-            ..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            ..?fun_ref_dca7aba6e712f2dd PROCREF:<{
-            ....s0 POP
-            ....NULL
-            ..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            ..?fun_ref_fbd3661091469c71 PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFJMP
-            ....MYADDR
-            ....11 PLDU
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....137 THROWIFNOT
-            ....257 PUSHINT
-            ....LDIX
-            ....s0 s1 XCHG
-            ....s0 s1 XCHG
-            ....ENDS
-            ....?fun_ref_dca7aba6e712f2dd INLINECALLDICT
-            ..}>
-            ..?fun_ref_fc8ae1407928bf8b PROCREF:<{
-            ....NEWC
-            ....0 TUPLE
-            ....s0 s1 XCHG
-            ....TPUSH
-            ....NULL
-            ....TPUSH
-            ....x{48656C6C6F2C208} PUSHSLICE
-            ....?fun_ref_a2813468f47d741c INLINECALLDICT
-            ....s0 s1 XCHG
-            ....?fun_ref_a2813468f47d741c INLINECALLDICT
-            ....2 UNTUPLE
-            ....s0 s1 XCHG
-            ....ENDC
-            ....<{
-            ......s1 PUSH
-            ......ISNULL
-            ......NOT
-            ....}> PUSHCONT
-            ....<{
-            ......s0 s1 XCHG
-            ......2 UNTUPLE
-            ......ROTREV
-            ......STREF
-            ......ENDC
-            ....}> PUSHCONT
-            ....WHILE
-            ....s1 POP
-            ....CTOS
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/echo_Echo.code.fc b/examples/output/echo_Echo.code.fc deleted file mode 100644 index 35e5c2797..000000000 --- a/examples/output/echo_Echo.code.fc +++ /dev/null @@ -1,148 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "echo_Echo.headers.fc"; -#include "echo_Echo.stdlib.fc"; -#include "echo_Echo.constants.fc"; -#include "echo_Echo.storage.fc"; - -;; -;; Contract Echo functions -;; - -tuple $Echo$_contract_init(int $a) impure inline_ref { - tuple $self = null(); - return $self; -} - -(tuple, slice) $Echo$_fun_hello(tuple $self, slice $src) impure inline_ref { - var ($self) = $self; - tuple $builder = __tact_string_builder_start_string(); - $builder~__tact_string_builder_append(__gen_slice_string_f370faf8638967dd9ace3fe077417700dc2370082f3795482bcb6285b962df24()); - $builder~__tact_string_builder_append($src); - return ($self, __tact_string_builder_end_slice($builder)); -} - -(tuple, int) $Echo$_fun_hello2(tuple $self, int $src) impure inline_ref { - var ($self) = $self; - return ($self, (($src << 10) & 32)); -} - -;; -;; Receivers of a Contract Echo -;; - -((tuple), ()) $Echo$_internal_binary_EchoMessage(tuple $self, tuple $msg) impure inline { - var $self = $self; - var $msg = $msg; - $self~$Echo$_fun_reply($EchoMessage$_store_cell($msg)); - return ($self, ()); -} - -(tuple, ()) $Echo$_internal_any_text(tuple $self, slice $msg) impure inline { - var $self = $self; - $self~$Echo$_fun_reply($String$_fun_asComment($msg)); - return ($self, ()); -} - -(tuple, ()) $Echo$_internal_any(tuple $self, slice $msg) impure inline { - var $self = $self; - $self~$Echo$_fun_reply($Slice$_fun_asCell($msg)); - return ($self, ()); -} - -;; -;; Get methods of a Contract Echo -;; - -_ %hello(slice $$src) method_id(115554) { - slice $src = $$src; - var self = $Echo$_contract_load(); - var res = self~$Echo$_fun_hello($src); - return res; -} - -_ %hello2(int $$src) method_id(105790) { - int $src = $$src; - var self = $Echo$_contract_load(); - var res = self~$Echo$_fun_hello2($src); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmeHczZjZuNEdUokx329GuCSNoyeZ5M39CjZHbjhXCjwkS"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Echo -;; - -(tuple, int) $Echo$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive EchoMessage message - if (op == 2074217921) { - var msg = in_msg~$EchoMessage$_load(); - self~$Echo$_internal_binary_EchoMessage(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - if (slice_bits(in_msg) >= 32) { - self~$Echo$_internal_any_text(in_msg.skip_bits(32)); - return (self, true); - } - } - - ;; Receiver fallback - self~$Echo$_internal_any(in_msg); - return (self, true); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Echo$_contract_load(); - - ;; Handle operation - int handled = self~$Echo$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Echo$_contract_store(self); -} diff --git a/examples/output/echo_Echo.code.fif b/examples/output/echo_Echo.code.fif deleted file mode 100644 index 81d613b86..000000000 --- a/examples/output/echo_Echo.code.fif +++ /dev/null @@ -1,523 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC __tact_string_builder_start - DECLPROC __tact_string_builder_start_comment - DECLPROC __tact_string_builder_start_string - DECLPROC __tact_string_builder_end - DECLPROC __tact_string_builder_end_slice - DECLPROC __tact_string_builder_append - DECLPROC $EchoMessage$_store - DECLPROC $EchoMessage$_store_cell - DECLPROC $EchoMessage$_load - DECLPROC $StateInit$_not_null - DECLPROC $Echo$init$_load - DECLPROC $Echo$_contract_init - DECLPROC $Echo$_contract_load - DECLPROC $Echo$_contract_store - DECLPROC $global_send - DECLPROC $Slice$_fun_asCell - DECLPROC $String$_fun_asComment - DECLPROC $Echo$_fun_hello - DECLPROC $Echo$_fun_hello2 - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $Echo$_fun_forward - DECLPROC $Echo$_fun_reply - DECLPROC $Echo$_internal_binary_EchoMessage - DECLPROC $Echo$_internal_any_text - DECLPROC $Echo$_internal_any - 115554 DECLMETHOD %hello - 105790 DECLMETHOD %hello2 - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Echo$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_string_builder_start PROCINLINE:<{ - NIL - SWAP - TPUSH - PUSHNULL - TPUSH - }> - __tact_string_builder_start_comment PROCINLINE:<{ - NEWC - 0 PUSHINT - SWAP - 32 STU - __tact_string_builder_start INLINECALLDICT - }> - __tact_string_builder_start_string PROCINLINE:<{ - NEWC - __tact_string_builder_start INLINECALLDICT - }> - __tact_string_builder_end PROCINLINE:<{ - UNCONS - SWAP - ENDC - WHILE:<{ - OVER - ISNULL - NOT - }>DO<{ - SWAP - UNCONS - -ROT - STREF - ENDC - }> - NIP - }> - __tact_string_builder_end_slice PROCINLINE:<{ - __tact_string_builder_end INLINECALLDICT - CTOS - }> - __tact_string_builder_append PROCREF:<{ - DUP - SREFS - OVER - SBITS - WHILE:<{ - DUP - 0 GTINT - s2 PUSH - 0 GTINT - OR - }>DO<{ - s0 s3 XCHG - UNCONS - 127 PUSHINT - s2 PUSH - BBITS - 3 RSHIFT# - SUB - s0 s5 XCHG - 3 RSHIFT# - s5 s5 XCPU - MIN - DUP - 0 GTINT - IF:<{ - DUP - 3 LSHIFT# - s1 s5 XCHG - LDSLICEX - s3 s3 XCHG2 - STSLICER - s0 s1 s4 XCHG3 - }> - -ROT - CONS - s4 s1 PUSH2 - SUB - 0 GTINT - IF:<{ - NEWC - SWAP - CONS - s4 s4 XCHG2 - SUB - 3 LSHIFT# - }>ELSE<{ - NIP - s3 POP - 0 GTINT - IF:<{ - LDREF - DROP - CTOS - DUP - SREFS - OVER - SBITS - }>ELSE<{ - 0 PUSHINT - DUP - }> - }> - }> - 3 BLKDROP - }> - $EchoMessage$_store PROCINLINE:<{ - DROP - 2074217921 PUSHINT - SWAP - 32 STU - }> - $EchoMessage$_store_cell PROCINLINE:<{ - NEWC - SWAP - $EchoMessage$_store INLINECALLDICT - ENDC - }> - $EchoMessage$_load PROCINLINE:<{ - 32 LDU - SWAP - 2074217921 PUSHINT - EQUAL - 129 THROWIFNOT - PUSHNULL - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $Echo$init$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - SWAP - }> - $Echo$_contract_init PROCREF:<{ - DROP - PUSHNULL - }> - $Echo$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - DROP - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Echo$init$_load INLINECALLDICT - SWAP - ENDS - $Echo$_contract_init INLINECALLDICT - }> - $Echo$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $Slice$_fun_asCell PROCINLINE:<{ - NEWC - SWAP - STSLICER - ENDC - }> - $String$_fun_asComment PROCREF:<{ - __tact_string_builder_start_comment INLINECALLDICT - SWAP - __tact_string_builder_append INLINECALLDICT - __tact_string_builder_end INLINECALLDICT - }> - $Echo$_fun_hello PROCREF:<{ - __tact_string_builder_start_string INLINECALLDICT - B{b5ee9c7241010101000900000e48656c6c6f2c20e8d197d2} B>boc - $Echo$_fun_hello2 PROCREF:<{ - 10 LSHIFT# - 32 PUSHINT - AND - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $Echo$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $Echo$_fun_reply PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - TRUE - PUSHNULL - $Echo$_fun_forward INLINECALLDICT - }> - $Echo$_internal_binary_EchoMessage PROCINLINE:<{ - $EchoMessage$_store_cell INLINECALLDICT - $Echo$_fun_reply INLINECALLDICT - }> - $Echo$_internal_any_text PROCINLINE:<{ - $String$_fun_asComment INLINECALLDICT - $Echo$_fun_reply INLINECALLDICT - }> - $Echo$_internal_any PROCINLINE:<{ - $Slice$_fun_asCell INLINECALLDICT - $Echo$_fun_reply INLINECALLDICT - }> - %hello PROC:<{ - $Echo$_contract_load INLINECALLDICT - SWAP - $Echo$_fun_hello INLINECALLDICT - NIP - }> - %hello2 PROC:<{ - $Echo$_contract_load INLINECALLDICT - SWAP - $Echo$_fun_hello2 INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d6548637a5a6a5a754e4564556f6b78333239477543534e6f79655a354d3339436a5a48626a6858436a776b53} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Echo$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 2074217921 PUSHINT - EQUAL - IFJMP:<{ - DROP - $EchoMessage$_load INLINECALLDICT - NIP - $Echo$_internal_binary_EchoMessage INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - DUP - SBITS - 31 GTINT - IFJMP:<{ - 32 PUSHINT - SDSKIPFIRST - $Echo$_internal_any_text INLINECALLDICT - TRUE - RETALT - }> - }> - $Echo$_internal_any INLINECALLDICT - TRUE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Echo$_contract_load INLINECALLDICT - -ROT - $Echo$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Echo$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/echo_Echo.code.rev.fif b/examples/output/echo_Echo.code.rev.fif deleted file mode 100644 index 8175f3bb2..000000000 --- a/examples/output/echo_Echo.code.rev.fif +++ /dev/null @@ -1,504 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_105790; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC ?fun_115554; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_7b0b7ac68163f545; - DECLPROC ?fun_ref_8e0b7601d5773f02; - DECLPROC ?fun_ref_a2813468f47d741c; - DECLPROC ?fun_ref_a919648a283a4b4d; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_dca7aba6e712f2dd; - DECLPROC ?fun_ref_e31d986f279fa0fb; - DECLPROC ?fun_ref_fbd3661091469c71; - DECLPROC ?fun_ref_fc8ae1407928bf8b; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_fbd3661091469c71 INLINECALLDICT - ROTREV - ?fun_ref_8e0b7601d5773f02 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_105790 PROC:<{ - ?fun_ref_fbd3661091469c71 INLINECALLDICT - s0 s1 XCHG - ?fun_ref_a919648a283a4b4d INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - ?fun_115554 PROC:<{ - ?fun_ref_fbd3661091469c71 INLINECALLDICT - s0 s1 XCHG - ?fun_ref_fc8ae1407928bf8b INLINECALLDICT - s1 POP - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D6548637A5A6A5A754E4564556F6B78333239477543534E6F79655A354D3339436A5A48626A6858436A776B5382_} PUSHSLICE - }> - ?fun_ref_7b0b7ac68163f545 PROCREF:<{ - NEWC - 0 PUSHINT - s0 s1 XCHG - 32 STU - 0 TUPLE - s0 s1 XCHG - TPUSH - NULL - TPUSH - s0 s1 XCHG - ?fun_ref_a2813468f47d741c INLINECALLDICT - 2 UNTUPLE - s0 s1 XCHG - ENDC - <{ - s1 PUSH - ISNULL - NOT - }> PUSHCONT - <{ - s0 s1 XCHG - 2 UNTUPLE - ROTREV - STREF - ENDC - }> PUSHCONT - WHILE - s1 POP - }> - ?fun_ref_8e0b7601d5773f02 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 2074217921 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2074217921 PUSHINT - EQUAL - 129 THROWIFNOT - NULL - s1 POP - NEWC - s0 s1 XCHG - s0 POP - 2074217921 PUSHINT - s0 s1 XCHG - 32 STU - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - -1 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 EQINT - <{ - s0 PUSH - SBITS - 31 GTINT - <{ - 32 PUSHINT - SDSKIPFIRST - ?fun_ref_7b0b7ac68163f545 INLINECALLDICT - 2 GETGLOBVAR - s0 s1 XCHG - -1 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> PUSHCONT - IF - NEWC - s0 s1 XCHG - STSLICER - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - -1 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> - ?fun_ref_a2813468f47d741c PROCREF:<{ - s0 PUSH - SREFS - s1 PUSH - SBITS - <{ - s0 PUSH - 0 GTINT - s2 PUSH - 0 GTINT - OR - }> PUSHCONT - <{ - s0 s3 XCHG - 2 UNTUPLE - 127 PUSHINT - s2 PUSH - BBITS - 3 RSHIFT - SUB - s0 s5 XCHG - 3 RSHIFT - s5 s5 XCPU - MIN - s0 PUSH - 0 GTINT - <{ - s0 PUSH - 3 LSHIFT - s1 s5 XCHG - LDSLICEX - s3 s3 XCHG2 - STSLICER - s0 s1 s4 XCHG3 - }> PUSHCONT - IF - ROTREV - 2 TUPLE - s4 s1 PUSH2 - SUB - 0 GTINT - <{ - NEWC - s0 s1 XCHG - 2 TUPLE - s4 s4 XCHG2 - SUB - 3 LSHIFT - }> PUSHCONT - <{ - s1 POP - s3 POP - 0 GTINT - <{ - LDREF - s0 POP - CTOS - s0 PUSH - SREFS - s1 PUSH - SBITS - }> PUSHCONT - <{ - 0 PUSHINT - s0 PUSH - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> PUSHCONT - WHILE - 3 BLKDROP - }> - ?fun_ref_a919648a283a4b4d PROCREF:<{ - 10 LSHIFT - 32 PUSHINT - AND - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_dca7aba6e712f2dd PROCREF:<{ - s0 POP - NULL - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_fbd3661091469c71 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - s0 POP - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - 257 PUSHINT - LDIX - s0 s1 XCHG - s0 s1 XCHG - ENDS - ?fun_ref_dca7aba6e712f2dd INLINECALLDICT - }> - ?fun_ref_fc8ae1407928bf8b PROCREF:<{ - NEWC - 0 TUPLE - s0 s1 XCHG - TPUSH - NULL - TPUSH - x{48656C6C6F2C208} PUSHSLICE - ?fun_ref_a2813468f47d741c INLINECALLDICT - s0 s1 XCHG - ?fun_ref_a2813468f47d741c INLINECALLDICT - 2 UNTUPLE - s0 s1 XCHG - ENDC - <{ - s1 PUSH - ISNULL - NOT - }> PUSHCONT - <{ - s0 s1 XCHG - 2 UNTUPLE - ROTREV - STREF - ENDC - }> PUSHCONT - WHILE - s1 POP - CTOS - }> -}END>c \ No newline at end of file diff --git a/examples/output/echo_Echo.constants.fc b/examples/output/echo_Echo.constants.fc deleted file mode 100644 index 1fca771b6..000000000 --- a/examples/output/echo_Echo.constants.fc +++ /dev/null @@ -1,2 +0,0 @@ -;; String "Hello, " -slice __gen_slice_string_f370faf8638967dd9ace3fe077417700dc2370082f3795482bcb6285b962df24() asm "B{b5ee9c7241010101000900000e48656c6c6f2c20e8d197d2} B>boc X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_string_builder_start -tuple __tact_string_builder_start(builder b) inline; - -;; __tact_string_builder_start_comment -tuple __tact_string_builder_start_comment() inline; - -;; __tact_string_builder_start_string -tuple __tact_string_builder_start_string() inline; - -;; __tact_string_builder_end -cell __tact_string_builder_end(tuple builders) inline; - -;; __tact_string_builder_end_slice -slice __tact_string_builder_end_slice(tuple builders) inline; - -;; __tact_string_builder_append -((tuple), ()) __tact_string_builder_append(tuple builders, slice sc) inline_ref; - -;; $EchoMessage$_store -builder $EchoMessage$_store(builder build_0, tuple v) inline; - -;; $EchoMessage$_store_cell -cell $EchoMessage$_store_cell(tuple v) inline; - -;; $EchoMessage$_load -(slice, (tuple)) $EchoMessage$_load(slice sc_0) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $Echo$init$_load -(slice, ((int))) $Echo$init$_load(slice sc_0) inline; - -;; $Echo$_contract_init -tuple $Echo$_contract_init(int $a) impure inline_ref; - -;; $Echo$_contract_load -tuple $Echo$_contract_load() impure inline_ref; - -;; $Echo$_contract_store -() $Echo$_contract_store(tuple v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $Slice$_fun_asCell -cell $Slice$_fun_asCell(slice $self) impure inline; - -;; $String$_fun_asComment -cell $String$_fun_asComment(slice $self) impure inline_ref; - -;; $Echo$_fun_hello -(tuple, slice) $Echo$_fun_hello(tuple $self, slice $src) impure inline_ref; - -;; $Echo$_fun_hello2 -(tuple, int) $Echo$_fun_hello2(tuple $self, int $src) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $Echo$_fun_forward -(tuple, ()) $Echo$_fun_forward(tuple $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $Echo$_fun_reply -(tuple, ()) $Echo$_fun_reply(tuple $self, cell $body) impure inline; diff --git a/examples/output/echo_Echo.md b/examples/output/echo_Echo.md deleted file mode 100644 index 99b5b1309..000000000 --- a/examples/output/echo_Echo.md +++ /dev/null @@ -1,57 +0,0 @@ -# TACT Compilation Report -Contract: Echo -BOC Size: 860 bytes - -# Types -Total Types: 4 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## EchoMessage -TLB: `echo_message#7ba20dc1 = EchoMessage` -Signature: `EchoMessage{}` - -# Get Methods -Total Get Methods: 2 - -## hello -Argument: src - -## hello2 -Argument: src - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/examples/output/echo_Echo.pkg b/examples/output/echo_Echo.pkg deleted file mode 100644 index d0a12de54..000000000 --- a/examples/output/echo_Echo.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Echo","code":"te6ccgECFwEAA1AAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UEwQCAVgKCwTG7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEHuiDcG6jqUw0x8BghB7og3BuvLggW0xyAEwghB7og3BAcsfyfhCAX9t2zx/4MAAjxgg10nCH48QgCDXIds8+EIBf23bPH/bMeDeBwUHBgFCyHAByx9vAAFvjG1vjAHbPG8iAcmTIW6zlgFvIlnMyegxFgEayAHPFsn4QgF/bds8fwcBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8CAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAJAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAgEgDA0CAUgPEAIRt6fbZ4A7Z4YwEw4Albd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4TsunLVmnZbmdB0s2yjN0UkAAKqgmAILACAnEREgB1sm7jQ1aXBmczovL1FtZUhjelpqWnVORWRVb2t4MzI5R3VDU05veWVaNU0zOUNqWkhiamhYQ2p3a1OCAAD6L7tRNDSAAGAg+hi2zwB2zwxhMUAUbtRNDUAfhj0gABkjBt4Pgo1wsKgwm68uCJgQEB1wABAdHbPBUCUshvAAFvjG1vjIt0hlbGxvLCCNs8Ads8byIByZMhbrOWAW8iWczJ6DHQFhYABDBtALog10oh10mXIMIAIsIAsY5KA28igH8izzGrAqEFqwJRVbYIIMIAnCCqAhXXGFAzzxZAFN5ZbwJTQaHCAJnIAW8CUEShqgKOEjEzwgCZ1DDQINdKIddJknAg4uLoXwM=","abi":"{\"name\":\"Echo\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"EchoMessage\",\"header\":2074217921,\"fields\":[]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"EchoMessage\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"any\"}}],\"getters\":[{\"name\":\"hello\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"string\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"string\",\"optional\":false}},{\"name\":\"hello2\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECGQEAA1oAAQHAAQEFoB5RAgEU/wD0pBP0vPLICwMCAWIPBAIBWAsFAgFIBwYAdbJu40NWlwZnM6Ly9RbWVIY3paalp1TkVkVW9reDMyOUd1Q1NOb3llWjVNMzlDalpIYmpoWENqd2tTggAgJxCggCD6GLbPAHbPDGFwkCUshvAAFvjG1vjIt0hlbGxvLCCNs8Ads8byIByZMhbrOWAW8iWczJ6DHQExMAD6L7tRNDSAAGAgEgDQwAlbd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4TsunLVmnZbmdB0s2yjN0UkAIRt6fbZ4A7Z4YwFw4ACqoJgCCwApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UFxAExu2i7fsBkjB/4HAh10nCH5UwINcLH94gghB7og3Buo6lMNMfAYIQe6INwbry4IFtMcgBMIIQe6INwQHLH8n4QgF/bds8f+DAAI8YINdJwh+PEIAg1yHbPPhCAX9t2zx/2zHg3hQSFBEBGsgBzxbJ+EIBf23bPH8UAULIcAHLH28AAW+MbW+MAds8byIByZMhbrOWAW8iWczJ6DETALog10oh10mXIMIAIsIAsY5KA28igH8izzGrAqEFqwJRVbYIIMIAnCCqAhXXGFAzzxZAFN5ZbwJTQaHCAJnIAW8CUEShqgKOEjEzwgCZ1DDQINdKIddJknAg4uLoXwMBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8FQHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAWAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAUbtRNDUAfhj0gABkjBt4Pgo1wsKgwm68uCJgQEB1wABAdHbPBgABDBtvzqZEw=="}},"sources":{"examples\\echo.tact":"bWVzc2FnZSBFY2hvTWVzc2FnZSB7fQ0KDQpjb250cmFjdCBFY2hvIHsNCg0KICAgIGluaXQoYTogSW50KSB7DQogICAgICAgIA0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBFY2hvTWVzc2FnZSkgew0KICAgICAgICBzZWxmLnJlcGx5KG1zZy50b0NlbGwoKSk7DQogICAgfQ0KICAgIA0KICAgIHJlY2VpdmUobXNnOiBTdHJpbmcpIHsNCiAgICAgICAgc2VsZi5yZXBseShtc2cuYXNDb21tZW50KCkpOw0KICAgIH0NCiAgICANCiAgICByZWNlaXZlKG1zZzogU2xpY2UpIHsNCiAgICAgICAgc2VsZi5yZXBseShtc2cuYXNDZWxsKCkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaGVsbG8oc3JjOiBTdHJpbmcpOiBTdHJpbmcgew0KICAgICAgICBsZXQgYnVpbGRlcjogU3RyaW5nQnVpbGRlciA9IGJlZ2luU3RyaW5nKCk7DQogICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJIZWxsbywgIik7DQogICAgICAgIGJ1aWxkZXIuYXBwZW5kKHNyYyk7DQogICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBoZWxsbzIoc3JjOiBJbnQpOiBJbnQgew0KICAgICAgICByZXR1cm4gc3JjIDw8IDEwICYgMzI7DQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/echo.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/echo_Echo.stdlib.fc b/examples/output/echo_Echo.stdlib.fc deleted file mode 100644 index 05dce6060..000000000 --- a/examples/output/echo_Echo.stdlib.fc +++ /dev/null @@ -1,188 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -tuple __tact_string_builder_start(builder b) inline { - return tpush(tpush(empty_tuple(), b), null()); -} - -tuple __tact_string_builder_start_comment() inline { - return __tact_string_builder_start(begin_cell().store_uint(0, 32)); -} - -tuple __tact_string_builder_start_string() inline { - return __tact_string_builder_start(begin_cell()); -} - -cell __tact_string_builder_end(tuple builders) inline { - (builder b, tuple tail) = uncons(builders); - cell c = b.end_cell(); - while(~ null?(tail)) { - (b, tail) = uncons(tail); - c = b.store_ref(c).end_cell(); - } - return c; -} - -slice __tact_string_builder_end_slice(tuple builders) inline { - return __tact_string_builder_end(builders).begin_parse(); -} - -((tuple), ()) __tact_string_builder_append(tuple builders, slice sc) inline_ref { - int sliceRefs = slice_refs(sc); - int sliceBits = slice_bits(sc); - - while((sliceBits > 0) | (sliceRefs > 0)) { - - ;; Load the current builder - (builder b, tuple tail) = uncons(builders); - int remBytes = 127 - (builder_bits(b) / 8); - int exBytes = sliceBits / 8; - - ;; Append bits - int amount = min(remBytes, exBytes); - if (amount > 0) { - slice read = sc~load_bits(amount * 8); - b = b.store_slice(read); - } - - ;; Update builders - builders = cons(b, tail); - - ;; Check if we need to add a new cell and continue - if (exBytes - amount > 0) { - var bb = begin_cell(); - builders = cons(bb, builders); - sliceBits = (exBytes - amount) * 8; - } elseif (sliceRefs > 0) { - sc = sc~load_ref().begin_parse(); - sliceRefs = slice_refs(sc); - sliceBits = slice_bits(sc); - } else { - sliceBits = 0; - sliceRefs = 0; - } - } - - return ((builders), ()); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -cell $Slice$_fun_asCell(slice $self) impure inline { - var ($self) = $self; - return end_cell(store_slice(begin_cell(), $self)); -} - -cell $String$_fun_asComment(slice $self) impure inline_ref { - var ($self) = $self; - tuple $b = __tact_string_builder_start_comment(); - $b~__tact_string_builder_append($self); - return __tact_string_builder_end($b); -} - -(tuple, ()) $Echo$_fun_forward(tuple $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var ($self) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return ($self, ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return ($self, ()); -} - -(tuple, ()) $Echo$_fun_reply(tuple $self, cell $body) impure inline { - var ($self) = $self; - $self~$Echo$_fun_forward(__tact_context_get_sender(), $body, true, null()); - return ($self, ()); -} \ No newline at end of file diff --git a/examples/output/echo_Echo.storage.fc b/examples/output/echo_Echo.storage.fc deleted file mode 100644 index f11f58730..000000000 --- a/examples/output/echo_Echo.storage.fc +++ /dev/null @@ -1,70 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: EchoMessage -;; Header: 0x7ba20dc1 -;; TLB: echo_message#7ba20dc1 = EchoMessage -;; - -builder $EchoMessage$_store(builder build_0, tuple v) inline { - build_0 = store_uint(build_0, 2074217921, 32); - return build_0; -} - -cell $EchoMessage$_store_cell(tuple v) inline { - return $EchoMessage$_store(begin_cell(), v).end_cell(); -} - -(slice, (tuple)) $EchoMessage$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2074217921); - return (sc_0, null()); -} - -;; -;; Type: Echo -;; - -(slice, ((int))) $Echo$init$_load(slice sc_0) inline { - var v'a = sc_0~load_int(257); - return (sc_0, (v'a)); -} - -tuple $Echo$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (int a) = $sc~$Echo$init$_load(); - $sc.end_parse(); - return $Echo$_contract_init(a); - } -} - -() $Echo$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/echo_Echo.ts b/examples/output/echo_Echo.ts deleted file mode 100644 index 4ea9c63fe..000000000 --- a/examples/output/echo_Echo.ts +++ /dev/null @@ -1,362 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type EchoMessage = { - $$type: 'EchoMessage'; -} - -export function storeEchoMessage(src: EchoMessage) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2074217921, 32); - }; -} - -export function loadEchoMessage(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2074217921) { throw Error('Invalid prefix'); } - return { $$type: 'EchoMessage' as const }; -} - -function loadTupleEchoMessage(source: TupleReader) { - return { $$type: 'EchoMessage' as const }; -} - -function storeTupleEchoMessage(source: EchoMessage) { - let builder = new TupleBuilder(); - return builder.build(); -} - -function dictValueParserEchoMessage(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeEchoMessage(src)).endCell()); - }, - parse: (src) => { - return loadEchoMessage(src.loadRef().beginParse()); - } - } -} - - type Echo_init_args = { - $$type: 'Echo_init_args'; - a: bigint; -} - -function initEcho_init_args(src: Echo_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.a, 257); - }; -} - -async function Echo_init(a: bigint) { - const __code = Cell.fromBase64('te6ccgECFwEAA1AAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UEwQCAVgKCwTG7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEHuiDcG6jqUw0x8BghB7og3BuvLggW0xyAEwghB7og3BAcsfyfhCAX9t2zx/4MAAjxgg10nCH48QgCDXIds8+EIBf23bPH/bMeDeBwUHBgFCyHAByx9vAAFvjG1vjAHbPG8iAcmTIW6zlgFvIlnMyegxFgEayAHPFsn4QgF/bds8fwcBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8CAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAJAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAgEgDA0CAUgPEAIRt6fbZ4A7Z4YwEw4Albd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4TsunLVmnZbmdB0s2yjN0UkAAKqgmAILACAnEREgB1sm7jQ1aXBmczovL1FtZUhjelpqWnVORWRVb2t4MzI5R3VDU05veWVaNU0zOUNqWkhiamhYQ2p3a1OCAAD6L7tRNDSAAGAg+hi2zwB2zwxhMUAUbtRNDUAfhj0gABkjBt4Pgo1wsKgwm68uCJgQEB1wABAdHbPBUCUshvAAFvjG1vjIt0hlbGxvLCCNs8Ads8byIByZMhbrOWAW8iWczJ6DHQFhYABDBtALog10oh10mXIMIAIsIAsY5KA28igH8izzGrAqEFqwJRVbYIIMIAnCCqAhXXGFAzzxZAFN5ZbwJTQaHCAJnIAW8CUEShqgKOEjEzwgCZ1DDQINdKIddJknAg4uLoXwM='); - const __system = Cell.fromBase64('te6cckECGQEAA1oAAQHAAQEFoB5RAgEU/wD0pBP0vPLICwMCAWIPBAIBWAsFAgFIBwYAdbJu40NWlwZnM6Ly9RbWVIY3paalp1TkVkVW9reDMyOUd1Q1NOb3llWjVNMzlDalpIYmpoWENqd2tTggAgJxCggCD6GLbPAHbPDGFwkCUshvAAFvjG1vjIt0hlbGxvLCCNs8Ads8byIByZMhbrOWAW8iWczJ6DHQExMAD6L7tRNDSAAGAgEgDQwAlbd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4TsunLVmnZbmdB0s2yjN0UkAIRt6fbZ4A7Z4YwFw4ACqoJgCCwApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UFxAExu2i7fsBkjB/4HAh10nCH5UwINcLH94gghB7og3Buo6lMNMfAYIQe6INwbry4IFtMcgBMIIQe6INwQHLH8n4QgF/bds8f+DAAI8YINdJwh+PEIAg1yHbPPhCAX9t2zx/2zHg3hQSFBEBGsgBzxbJ+EIBf23bPH8UAULIcAHLH28AAW+MbW+MAds8byIByZMhbrOWAW8iWczJ6DETALog10oh10mXIMIAIsIAsY5KA28igH8izzGrAqEFqwJRVbYIIMIAnCCqAhXXGFAzzxZAFN5ZbwJTQaHCAJnIAW8CUEShqgKOEjEzwgCZ1DDQINdKIddJknAg4uLoXwMBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8FQHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAWAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAUbtRNDUAfhj0gABkjBt4Pgo1wsKgwm68uCJgQEB1wABAdHbPBgABDBtvzqZEw=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initEcho_init_args({ $$type: 'Echo_init_args', a })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Echo_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const Echo_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"EchoMessage","header":2074217921,"fields":[]}, -] - -const Echo_getters: ABIGetter[] = [ - {"name":"hello","arguments":[{"name":"src","type":{"kind":"simple","type":"string","optional":false}}],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"hello2","arguments":[{"name":"src","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const Echo_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"EchoMessage"}}, - {"receiver":"internal","message":{"kind":"text"}}, - {"receiver":"internal","message":{"kind":"any"}}, -] - -export class Echo implements Contract { - - static async init(a: bigint) { - return await Echo_init(a); - } - - static async fromInit(a: bigint) { - const init = await Echo_init(a); - const address = contractAddress(0, init); - return new Echo(address, init); - } - - static fromAddress(address: Address) { - return new Echo(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Echo_types, - getters: Echo_getters, - receivers: Echo_receivers, - errors: Echo_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: EchoMessage | string | Slice) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'EchoMessage') { - body = beginCell().store(storeEchoMessage(message)).endCell(); - } - if (typeof message === 'string') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && message instanceof Slice) { - body = message.asCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getHello(provider: ContractProvider, src: string) { - let builder = new TupleBuilder(); - builder.writeString(src); - let source = (await provider.get('hello', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getHello2(provider: ContractProvider, src: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(src); - let source = (await provider.get('hello2', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/examples/output/external_External.abi b/examples/output/external_External.abi deleted file mode 100644 index 79dd3fc89..000000000 --- a/examples/output/external_External.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"External","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"Increment","header":997752964,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Topup"}},{"receiver":"external","message":{"kind":"text","text":"Timeout"}},{"receiver":"external","message":{"kind":"typed","type":"Increment"}},{"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}],"getters":[{"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0","org.ton.ownable"]} \ No newline at end of file diff --git a/examples/output/external_External.code.boc b/examples/output/external_External.code.boc deleted file mode 100644 index e7e19994c..000000000 Binary files a/examples/output/external_External.code.boc and /dev/null differ diff --git a/examples/output/external_External.code.boc.html b/examples/output/external_External.code.boc.html deleted file mode 100644 index f13b1ae62..000000000 --- a/examples/output/external_External.code.boc.html +++ /dev/null @@ -1,529 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_external;
-            ..DECLPROC recv_internal;
-            ..DECLPROC owner;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_0d1340300d24ab7f;
-            ..DECLPROC ?fun_ref_44086a5ce86162fe;
-            ..DECLPROC ?fun_ref_586a3824257c707d;
-            ..DECLPROC ?fun_ref_a6bbe305f98ab617;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            ..DECLPROC ?fun_ref_f98244bbf48f6e96;
-            ..recv_external PROC:<{
-            ....?fun_ref_586a3824257c707d INLINECALLDICT
-            ....ROT
-            ....?fun_ref_f98244bbf48f6e96 INLINECALLDICT
-            ....s0 POP
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....ROTREV
-            ....ROTREV
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....257 PUSHINT
-            ....STIX
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_586a3824257c707d INLINECALLDICT
-            ....SWAP2
-            ....?fun_ref_0d1340300d24ab7f INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....ROTREV
-            ....ROTREV
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....257 PUSHINT
-            ....STIX
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..owner PROC:<{
-            ....?fun_ref_586a3824257c707d INLINECALLDICT
-            ....?fun_ref_44086a5ce86162fe INLINECALLDICT
-            ....2 1 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ....86142586315491086060343270784266291122 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D4E5736365279477934684B386F414B61677750435A657266703439573255504674794E78704A74383879526B82_} PUSHSLICE
-            ..}>
-            ..?fun_ref_0d1340300d24ab7f PROCREF:<{
-            ....2 SAVE
-            ....SAMEALTSAVE
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....s0 PUSH
-            ....2490013878 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2490013878 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......64 LDU
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......NEWC
-            ......s0 s1 XCHG
-            ......2952335191 PUSHINT
-            ......ROT
-            ......32 STU
-            ......64 STU
-            ......ENDC
-            ......2 GETGLOBVAR
-            ......s0 s1 XCHG
-            ......0 PUSHINT
-            ......NULL
-            ......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 EQINT
-            ....<{
-            ......HASHSU
-            ......113691274514348241773307530592170224403705343040261258325315193208551291628520 PUSHINT
-            ......EQUAL
-            ......<{
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ....}> PUSHCONT
-            ....<{
-            ......s0 POP
-            ....}> PUSHCONT
-            ....IFELSE
-            ....0 PUSHINT
-            ..}>
-            x5..?fun_ref_44086a5ce86162fe PROCREF:<{
-            18x5....s1 PUSH
-            x5..}>
-            ..?fun_ref_586a3824257c707d PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......257 PUSHINT
-            ......LDIX
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ....}> PUSHCONT
-            ....IFJMP
-            ....MYADDR
-            ....11 PLDU
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....137 THROWIFNOT
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s1 XCHG
-            ....ENDS
-            ....?fun_ref_a6bbe305f98ab617 INLINECALLDICT
-            ..}>
-            ..?fun_ref_a6bbe305f98ab617 PROCREF:<{
-            ....NOW
-            ....300 PUSHINT
-            ....ADD
-            ..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            ..?fun_ref_f98244bbf48f6e96 PROCREF:<{
-            ....2 SAVE
-            ....SAMEALTSAVE
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....s0 PUSH
-            ....997752964 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......997752964 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......NOW
-            ......EQUAL
-            ......<{
-            ........ACCEPT
-            ......}> PUSHCONT
-            ......IF
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 EQINT
-            ....<{
-            ......HASHSU
-            ......88543690164330179811477973912487838692102358940333217862290846308145337783394 PUSHINT
-            ......EQUAL
-            ......<{
-            ........NOW
-            ........s1 PUSH
-            ........GREATER
-            ........<{
-            ..........ACCEPT
-            ........}> PUSHCONT
-            ........IF
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ....}> PUSHCONT
-            ....<{
-            ......s0 POP
-            ....}> PUSHCONT
-            ....IFELSE
-            ....0 PUSHINT
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/external_External.code.fc b/examples/output/external_External.code.fc deleted file mode 100644 index 520fbc33d..000000000 --- a/examples/output/external_External.code.fc +++ /dev/null @@ -1,189 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "external_External.headers.fc"; -#include "external_External.stdlib.fc"; -#include "external_External.storage.fc"; - -;; -;; Contract External functions -;; - -(slice, int) $External$_contract_init(slice $owner) impure inline_ref { - var (($self'owner, $self'timeout)) = (null(), null()); - $self'owner = $owner; - $self'timeout = (now() + (5 * 60)); - return ($self'owner, $self'timeout); -} - -((slice, int), slice) $External$_fun_owner((slice, int) $self) impure inline_ref { - var (($self'owner, $self'timeout)) = $self; - return (($self'owner, $self'timeout), $self'owner); -} - -;; -;; Receivers of a Contract External -;; - -((slice, int), ()) $External$_internal_text_fb5afb2314c4a83f630eee3abd1bb27a6dd574bdc82ce83a9b5a388ebe7a2be8((slice, int) $self) impure inline { - var ($self'owner, $self'timeout) = $self; - return (($self'owner, $self'timeout), ()); -} - -((slice, int), ()) $External$_external_text_c3c1f3e19ef67964f6f1da1ad85bd08b35f8b02ffb881418fb6c1fb3b468d462((slice, int) $self) impure inline { - var ($self'owner, $self'timeout) = $self; - if ((now() > $self'timeout)) { - accept_message(); - } - return (($self'owner, $self'timeout), ()); -} - -(((slice, int)), ()) $External$_external_binary_Increment((slice, int) $self, (int) $msg) impure inline { - var ($self'owner, $self'timeout) = $self; - var ($msg'value) = $msg; - if (($msg'value == now())) { - accept_message(); - } - return (($self'owner, $self'timeout), ()); -} - -(((slice, int)), ()) $External$_internal_binary_Deploy((slice, int) $self, (int) $deploy) impure inline { - var ($self'owner, $self'timeout) = $self; - var ($deploy'queryId) = $deploy; - ($self'owner, $self'timeout)~$External$_fun_notify($DeployOk$_store_cell($DeployOk$_constructor_queryId($deploy'queryId))); - return (($self'owner, $self'timeout), ()); -} - -;; -;; Get methods of a Contract External -;; - -_ %owner() method_id(83229) { - var self = $External$_contract_load(); - var res = self~$External$_fun_owner(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128, - "org.ton.ownable"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmNW66RyGy4hK8oAKagwPCZerfp49W2UPFtyNxpJt88yRk"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract External -;; - -((slice, int), int) $External$_contract_router_internal((slice, int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Deploy message - if (op == 2490013878) { - var msg = in_msg~$Deploy$_load(); - self~$External$_internal_binary_Deploy(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Topup" message - if (text_op == 0xfb5afb2314c4a83f630eee3abd1bb27a6dd574bdc82ce83a9b5a388ebe7a2be8) { - self~$External$_internal_text_fb5afb2314c4a83f630eee3abd1bb27a6dd574bdc82ce83a9b5a388ebe7a2be8(); - return (self, true); - } - } - - return (self, false); -} - -((slice, int), int) $External$_contract_router_external((slice, int) self, slice in_msg) impure inline_ref { - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Increment message - if (op == 997752964) { - var msg = in_msg~$Increment$_load(); - self~$External$_external_binary_Increment(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Timeout" message - if (text_op == 0xc3c1f3e19ef67964f6f1da1ad85bd08b35f8b02ffb881418fb6c1fb3b468d462) { - self~$External$_external_text_c3c1f3e19ef67964f6f1da1ad85bd08b35f8b02ffb881418fb6c1fb3b468d462(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $External$_contract_load(); - - ;; Handle operation - int handled = self~$External$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $External$_contract_store(self); -} - -() recv_external(slice in_msg) impure { - ;; Load contract data - var self = $External$_contract_load(); - - ;; Handle operation - int handled = self~$External$_contract_router_external(in_msg); - - ;; Throw if not handled - throw_unless(handled, 130); - - ;; Persist state - $External$_contract_store(self); -} diff --git a/examples/output/external_External.code.fif b/examples/output/external_External.code.fif deleted file mode 100644 index 0abb01596..000000000 --- a/examples/output/external_External.code.fif +++ /dev/null @@ -1,472 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC $Deploy$_load - DECLPROC $DeployOk$_store - DECLPROC $DeployOk$_store_cell - DECLPROC $Increment$_load - DECLPROC $External$_store - DECLPROC $External$_load - DECLPROC $StateInit$_not_null - DECLPROC $External$init$_load - DECLPROC $External$_contract_init - DECLPROC $External$_contract_load - DECLPROC $External$_contract_store - DECLPROC $global_send - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $External$_fun_forward - DECLPROC $External$_fun_notify - DECLPROC $External$_fun_owner - DECLPROC $DeployOk$_constructor_queryId - DECLPROC $External$_internal_text_fb5afb2314c4a83f630eee3abd1bb27a6dd574bdc82ce83a9b5a388ebe7a2be8 - DECLPROC $External$_external_text_c3c1f3e19ef67964f6f1da1ad85bd08b35f8b02ffb881418fb6c1fb3b468d462 - DECLPROC $External$_external_binary_Increment - DECLPROC $External$_internal_binary_Deploy - 83229 DECLMETHOD %owner - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $External$_contract_router_internal - DECLPROC $External$_contract_router_external - DECLPROC recv_internal - DECLPROC recv_external - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - $Deploy$_load PROCINLINE:<{ - 32 LDU - SWAP - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - SWAP - }> - $DeployOk$_store PROCINLINE:<{ - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - }> - $DeployOk$_store_cell PROCINLINE:<{ - NEWC - SWAP - $DeployOk$_store INLINECALLDICT - ENDC - }> - $Increment$_load PROCINLINE:<{ - 32 LDU - SWAP - 997752964 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - SWAP - }> - $External$_store PROCINLINE:<{ - -ROT - __tact_store_address INLINECALLDICT - 257 PUSHINT - STIX - }> - $External$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - SWAP - 257 PUSHINT - LDIX - -ROT - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $External$init$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - }> - $External$_contract_init PROCREF:<{ - NOW - 300 PUSHINT - ADD - }> - $External$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $External$_load INLINECALLDICT - 1 2 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $External$init$_load INLINECALLDICT - SWAP - ENDS - $External$_contract_init INLINECALLDICT - }> - $External$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - -ROT - $External$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $External$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $External$_fun_notify PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - FALSE - PUSHNULL - $External$_fun_forward INLINECALLDICT - }> - $External$_fun_owner PROCREF:<{ - OVER - }> - $DeployOk$_constructor_queryId PROCINLINE:<{ - }> - $External$_internal_text_fb5afb2314c4a83f630eee3abd1bb27a6dd574bdc82ce83a9b5a388ebe7a2be8 PROCINLINE:<{ - }> - $External$_external_text_c3c1f3e19ef67964f6f1da1ad85bd08b35f8b02ffb881418fb6c1fb3b468d462 PROCINLINE:<{ - NOW - OVER - GREATER - IF:<{ - ACCEPT - }> - }> - $External$_external_binary_Increment PROCINLINE:<{ - NOW - EQUAL - IF:<{ - ACCEPT - }> - }> - $External$_internal_binary_Deploy PROCINLINE:<{ - $DeployOk$_constructor_queryId INLINECALLDICT - $DeployOk$_store_cell INLINECALLDICT - $External$_fun_notify INLINECALLDICT - }> - %owner PROC:<{ - $External$_contract_load INLINECALLDICT - $External$_fun_owner INLINECALLDICT - 2 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 86142586315491086060343270784266291122 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d4e5736365279477934684b386f414b61677750435a657266703439573255504674794e78704a74383879526b} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $External$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 2490013878 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Deploy$_load INLINECALLDICT - NIP - $External$_internal_binary_Deploy INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - 113691274514348241773307530592170224403705343040261258325315193208551291628520 PUSHINT - EQUAL - IFJMP:<{ - $External$_internal_text_fb5afb2314c4a83f630eee3abd1bb27a6dd574bdc82ce83a9b5a388ebe7a2be8 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - $External$_contract_router_external PROCREF:<{ - c2 SAVE - SAMEALTSAVE - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 997752964 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Increment$_load INLINECALLDICT - NIP - $External$_external_binary_Increment INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - 88543690164330179811477973912487838692102358940333217862290846308145337783394 PUSHINT - EQUAL - IFJMP:<{ - $External$_external_text_c3c1f3e19ef67964f6f1da1ad85bd08b35f8b02ffb881418fb6c1fb3b468d462 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $External$_contract_load INLINECALLDICT - 2SWAP - $External$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $External$_contract_store INLINECALLDICT - }> - recv_external PROC:<{ - $External$_contract_load INLINECALLDICT - ROT - $External$_contract_router_external INLINECALLDICT - DROP - $External$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/external_External.code.rev.fif b/examples/output/external_External.code.rev.fif deleted file mode 100644 index b7f149f3f..000000000 --- a/examples/output/external_External.code.rev.fif +++ /dev/null @@ -1,493 +0,0 @@ -PROGRAM{ - DECLPROC recv_external; - DECLPROC recv_internal; - DECLPROC owner; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_0d1340300d24ab7f; - DECLPROC ?fun_ref_44086a5ce86162fe; - DECLPROC ?fun_ref_586a3824257c707d; - DECLPROC ?fun_ref_a6bbe305f98ab617; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_e31d986f279fa0fb; - DECLPROC ?fun_ref_f98244bbf48f6e96; - recv_external PROC:<{ - ?fun_ref_586a3824257c707d INLINECALLDICT - ROT - ?fun_ref_f98244bbf48f6e96 INLINECALLDICT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ROTREV - ROTREV - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - 257 PUSHINT - STIX - ENDC - c4 POP - }> - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_586a3824257c707d INLINECALLDICT - SWAP2 - ?fun_ref_0d1340300d24ab7f INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ROTREV - ROTREV - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - 257 PUSHINT - STIX - ENDC - c4 POP - }> - owner PROC:<{ - ?fun_ref_586a3824257c707d INLINECALLDICT - ?fun_ref_44086a5ce86162fe INLINECALLDICT - 2 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 86142586315491086060343270784266291122 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D4E5736365279477934684B386F414B61677750435A657266703439573255504674794E78704A74383879526B82_} PUSHSLICE - }> - ?fun_ref_0d1340300d24ab7f PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 2490013878 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - s0 s1 XCHG - s1 POP - NEWC - s0 s1 XCHG - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - 0 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 EQINT - <{ - HASHSU - 113691274514348241773307530592170224403705343040261258325315193208551291628520 PUSHINT - EQUAL - <{ - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - 0 PUSHINT - }> - ?fun_ref_44086a5ce86162fe PROCREF:<{ - s1 PUSH - }> - ?fun_ref_586a3824257c707d PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 257 PUSHINT - LDIX - ROTREV - 1 2 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - ENDS - ?fun_ref_a6bbe305f98ab617 INLINECALLDICT - }> - ?fun_ref_a6bbe305f98ab617 PROCREF:<{ - NOW - 300 PUSHINT - ADD - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_f98244bbf48f6e96 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 997752964 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 997752964 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - NOW - EQUAL - <{ - ACCEPT - }> PUSHCONT - IF - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 EQINT - <{ - HASHSU - 88543690164330179811477973912487838692102358940333217862290846308145337783394 PUSHINT - EQUAL - <{ - NOW - s1 PUSH - GREATER - <{ - ACCEPT - }> PUSHCONT - IF - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - 0 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/examples/output/external_External.headers.fc b/examples/output/external_External.headers.fc deleted file mode 100644 index 9bc6a7e15..000000000 --- a/examples/output/external_External.headers.fc +++ /dev/null @@ -1,79 +0,0 @@ -;; -;; Header files for External -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; $Deploy$_load -(slice, ((int))) $Deploy$_load(slice sc_0) inline; - -;; $DeployOk$_store -builder $DeployOk$_store(builder build_0, (int) v) inline; - -;; $DeployOk$_store_cell -cell $DeployOk$_store_cell((int) v) inline; - -;; $Increment$_load -(slice, ((int))) $Increment$_load(slice sc_0) inline; - -;; $External$_store -builder $External$_store(builder build_0, (slice, int) v) inline; - -;; $External$_load -(slice, ((slice, int))) $External$_load(slice sc_0) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $External$init$_load -(slice, ((slice))) $External$init$_load(slice sc_0) inline; - -;; $External$_contract_init -(slice, int) $External$_contract_init(slice $owner) impure inline_ref; - -;; $External$_contract_load -(slice, int) $External$_contract_load() impure inline_ref; - -;; $External$_contract_store -() $External$_contract_store((slice, int) v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $External$_fun_forward -((slice, int), ()) $External$_fun_forward((slice, int) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $External$_fun_notify -((slice, int), ()) $External$_fun_notify((slice, int) $self, cell $body) impure inline; - -;; $External$_fun_owner -((slice, int), slice) $External$_fun_owner((slice, int) $self) impure inline_ref; - -;; $DeployOk$_constructor_queryId -((int)) $DeployOk$_constructor_queryId(int queryId) inline; diff --git a/examples/output/external_External.md b/examples/output/external_External.md deleted file mode 100644 index a02854a23..000000000 --- a/examples/output/external_External.md +++ /dev/null @@ -1,73 +0,0 @@ -# TACT Compilation Report -Contract: External -BOC Size: 973 bytes - -# Types -Total Types: 9 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Deploy -TLB: `deploy#946a98b6 queryId:uint64 = Deploy` -Signature: `Deploy{queryId:uint64}` - -## DeployOk -TLB: `deploy_ok#aff90f57 queryId:uint64 = DeployOk` -Signature: `DeployOk{queryId:uint64}` - -## FactoryDeploy -TLB: `factory_deploy#6d0ff13b queryId:uint64 cashback:address = FactoryDeploy` -Signature: `FactoryDeploy{queryId:uint64,cashback:address}` - -## ChangeOwner -TLB: `change_owner#819dbe99 queryId:uint64 newOwner:address = ChangeOwner` -Signature: `ChangeOwner{queryId:uint64,newOwner:address}` - -## ChangeOwnerOk -TLB: `change_owner_ok#327b2b4a queryId:uint64 newOwner:address = ChangeOwnerOk` -Signature: `ChangeOwnerOk{queryId:uint64,newOwner:address}` - -## Increment -TLB: `increment#3b788084 value:int257 = Increment` -Signature: `Increment{value:int257}` - -# Get Methods -Total Get Methods: 1 - -## owner - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/examples/output/external_External.pkg b/examples/output/external_External.pkg deleted file mode 100644 index d5fb22805..000000000 --- a/examples/output/external_External.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"External","code":"te6ccgECFAEAA8EAART/APSkE/S88sgLAQIBIAIDAgFIBAUCcPLbPFjbPDDI+EMBzH8BygBZWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFoEBAc8Aye1UERIC2tAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFrbPPLggsj4QwHMfwHKAFlZINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WgQEBzwDJ7VQRBgIBIAoLAfbtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQlGqYtrqOqDDTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gwACOKvkBgvD7WvsjFMSoP2MO7jq9G7J6bdV0vcgs6DqbWjiOvnor6LqTf9sx4JEw4nAHATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPAgByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsACQCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAIRviju2ebZ42EMEQwCASANDgACIQC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJwQM51aecV+dJQsB1hbiZHsoAgFIDxAAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtTlc2NlJ5R3k0aEs4b0FLYWd3UENaZXJmcDQ5VzJVUEZ0eU54cEp0ODh5UmuCABxu1E0NQB+GPSAAGOKPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgBgQEB1wBZbBLg+CjXCwqDCbry4In6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdHbPBMA5u2i7ftwIddJwh+VMCDXCx/eIIIQO3iAhLqOHTDTHwGCEDt4gIS68uCBgQEB1wABMfgjupL4AN5/4MAAjjL5AYLww8Hz4Z72eWT28doa2FvQizX4sC/7iBQY+2wfs7Ro1GK6m/gjIbyS+ADef9sx4JEw4nAADPgjgQEsoA==","abi":"{\"name\":\"External\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Deploy\",\"header\":2490013878,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"DeployOk\",\"header\":2952335191,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"FactoryDeploy\",\"header\":1829761339,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"cashback\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"ChangeOwner\",\"header\":2174598809,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"ChangeOwnerOk\",\"header\":846932810,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"Increment\",\"header\":997752964,\"fields\":[{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Topup\"}},{\"receiver\":\"external\",\"message\":{\"kind\":\"text\",\"text\":\"Timeout\"}},{\"receiver\":\"external\",\"message\":{\"kind\":\"typed\",\"type\":\"Increment\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Deploy\"}}],\"getters\":[{\"name\":\"owner\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\",\"org.ton.ownable\"]}","init":{"kind":"direct","args":[{"name":"owner","type":{"kind":"simple","type":"address","optional":false}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECFgEAA8sAAQHAAQEFoNSlAgEU/wD0pBP0vPLICwMCASAGBAJw8ts8WNs8MMj4QwHMfwHKAFlZINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WgQEBzwDJ7VQUBQDm7aLt+3Ah10nCH5UwINcLH94gghA7eICEuo4dMNMfAYIQO3iAhLry4IGBAQHXAAEx+CO6kvgA3n/gwACOMvkBgvDDwfPhnvZ5ZPbx2hrYW9CLNfiwL/uIFBj7bB+ztGjUYrqb+CMhvJL4AN5/2zHgkTDicAIBSA8HAgEgDQgCASAMCQIBSAsKAHWybuNDVpcGZzOi8vUW1OVzY2UnlHeTRoSzhvQUthZ3dQQ1plcmZwNDlXMlVQRnR5TnhwSnQ4OHlSa4IAARsK+7UTQ0gABgALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgnBAznVp5xX50lCwHWFuJkeygCEb4o7tnm2eNhDBQOAAIhAtrQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxa2zzy4ILI+EMBzH8BygBZWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFoEBAc8Aye1UFBAB9u2i7fsBkjB/4HAh10nCH5UwINcLH94gghCUapi2uo6oMNMfAYIQlGqYtrry4IHTPwExyAGCEK/5D1dYyx/LP8n4QgFwbds8f+DAAI4q+QGC8Pta+yMUxKg/Yw7uOr0bsnpt1XS9yCzoOptaOI6+eivoupN/2zHgkTDicBEBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8EgHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wATAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAcbtRNDUAfhj0gABjij6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAYEBAdcAWWwS4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHR2zwVAAz4I4EBLKBe6vWl"}},"sources":{"examples\\external.tact":"aW1wb3J0ICJAc3RkbGliL2RlcGxveSI7DQppbXBvcnQgIkBzdGRsaWIvb3duYWJsZSI7DQoNCm1lc3NhZ2UgSW5jcmVtZW50IHsNCiAgICB2YWx1ZTogSW50Ow0KfQ0KDQpjb250cmFjdCBFeHRlcm5hbCB3aXRoIERlcGxveWFibGUsIE93bmFibGUgew0KICAgIG93bmVyOiBBZGRyZXNzOw0KICAgIHRpbWVvdXQ6IEludDsNCg0KICAgIGluaXQob3duZXI6IEFkZHJlc3MpIHsNCiAgICAgICAgc2VsZi5vd25lciA9IG93bmVyOw0KICAgICAgICBzZWxmLnRpbWVvdXQgPSBub3coKSArIDUgKiA2MDsgLy8gNSBtaW51dGVzDQogICAgfQ0KDQogICAgcmVjZWl2ZSgiVG9wdXAiKSB7DQogICAgICAgIC8vIERvIG5vdGhpbmcNCiAgICB9DQoNCiAgICBleHRlcm5hbCgiVGltZW91dCIpIHsNCiAgICAgICAgaWYgKG5vdygpID4gc2VsZi50aW1lb3V0KSB7DQogICAgICAgICAgICBhY2NlcHRNZXNzYWdlKCk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBleHRlcm5hbChtc2c6IEluY3JlbWVudCkgew0KICAgICAgICBpZiAobXNnLnZhbHVlID09IG5vdygpKSB7DQogICAgICAgICAgICBhY2NlcHRNZXNzYWdlKCk7DQogICAgICAgIH0NCiAgICB9DQp9"},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/external.tact\",\"options\":{\"external\":true}}"}} \ No newline at end of file diff --git a/examples/output/external_External.stdlib.fc b/examples/output/external_External.stdlib.fc deleted file mode 100644 index 82927cf08..000000000 --- a/examples/output/external_External.stdlib.fc +++ /dev/null @@ -1,116 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -((slice, int), ()) $External$_fun_forward((slice, int) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var (($self'owner, $self'timeout)) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return (($self'owner, $self'timeout), ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return (($self'owner, $self'timeout), ()); -} - -((slice, int), ()) $External$_fun_notify((slice, int) $self, cell $body) impure inline { - var (($self'owner, $self'timeout)) = $self; - ($self'owner, $self'timeout)~$External$_fun_forward(__tact_context_get_sender(), $body, false, null()); - return (($self'owner, $self'timeout), ()); -} \ No newline at end of file diff --git a/examples/output/external_External.storage.fc b/examples/output/external_External.storage.fc deleted file mode 100644 index 852f87d79..000000000 --- a/examples/output/external_External.storage.fc +++ /dev/null @@ -1,109 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: Deploy -;; Header: 0x946a98b6 -;; TLB: deploy#946a98b6 queryId:uint64 = Deploy -;; - -(slice, ((int))) $Deploy$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2490013878); - var v'queryId = sc_0~load_uint(64); - return (sc_0, (v'queryId)); -} - -;; -;; Type: DeployOk -;; Header: 0xaff90f57 -;; TLB: deploy_ok#aff90f57 queryId:uint64 = DeployOk -;; - -builder $DeployOk$_store(builder build_0, (int) v) inline { - var (v'queryId) = v; - build_0 = store_uint(build_0, 2952335191, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell $DeployOk$_store_cell((int) v) inline { - return $DeployOk$_store(begin_cell(), v).end_cell(); -} - -((int)) $DeployOk$_constructor_queryId(int queryId) inline { - return (queryId); -} - -;; -;; Type: Increment -;; Header: 0x3b788084 -;; TLB: increment#3b788084 value:int257 = Increment -;; - -(slice, ((int))) $Increment$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 997752964); - var v'value = sc_0~load_int(257); - return (sc_0, (v'value)); -} - -;; -;; Type: External -;; - -builder $External$_store(builder build_0, (slice, int) v) inline { - var (v'owner, v'timeout) = v; - build_0 = __tact_store_address(build_0, v'owner); - build_0 = build_0.store_int(v'timeout, 257); - return build_0; -} - -(slice, ((slice, int))) $External$_load(slice sc_0) inline { - var v'owner = sc_0~__tact_load_address(); - var v'timeout = sc_0~load_int(257); - return (sc_0, (v'owner, v'timeout)); -} - -(slice, ((slice))) $External$init$_load(slice sc_0) inline { - var v'owner = sc_0~__tact_load_address(); - return (sc_0, (v'owner)); -} - -(slice, int) $External$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$External$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (slice owner) = $sc~$External$init$_load(); - $sc.end_parse(); - return $External$_contract_init(owner); - } -} - -() $External$_contract_store((slice, int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $External$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/external_External.ts b/examples/output/external_External.ts deleted file mode 100644 index bb03f3b56..000000000 --- a/examples/output/external_External.ts +++ /dev/null @@ -1,600 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Deploy = { - $$type: 'Deploy'; - queryId: bigint; -} - -export function storeDeploy(src: Deploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2490013878, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2490013878) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function loadTupleDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function storeTupleDeploy(source: Deploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeploy(src)).endCell()); - }, - parse: (src) => { - return loadDeploy(src.loadRef().beginParse()); - } - } -} - -export type DeployOk = { - $$type: 'DeployOk'; - queryId: bigint; -} - -export function storeDeployOk(src: DeployOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2952335191, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeployOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2952335191) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function loadTupleDeployOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function storeTupleDeployOk(source: DeployOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeployOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeployOk(src)).endCell()); - }, - parse: (src) => { - return loadDeployOk(src.loadRef().beginParse()); - } - } -} - -export type FactoryDeploy = { - $$type: 'FactoryDeploy'; - queryId: bigint; - cashback: Address; -} - -export function storeFactoryDeploy(src: FactoryDeploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1829761339, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.cashback); - }; -} - -export function loadFactoryDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1829761339) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _cashback = sc_0.loadAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function loadTupleFactoryDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _cashback = source.readAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function storeTupleFactoryDeploy(source: FactoryDeploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.cashback); - return builder.build(); -} - -function dictValueParserFactoryDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFactoryDeploy(src)).endCell()); - }, - parse: (src) => { - return loadFactoryDeploy(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwner = { - $$type: 'ChangeOwner'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwner(src: ChangeOwner) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2174598809, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwner(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2174598809) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwner(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwner(source: ChangeOwner) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwner(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwner(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwner(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwnerOk = { - $$type: 'ChangeOwnerOk'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwnerOk(src: ChangeOwnerOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(846932810, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwnerOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 846932810) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwnerOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwnerOk(source: ChangeOwnerOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwnerOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwnerOk(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwnerOk(src.loadRef().beginParse()); - } - } -} - -export type Increment = { - $$type: 'Increment'; - value: bigint; -} - -export function storeIncrement(src: Increment) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(997752964, 32); - b_0.storeInt(src.value, 257); - }; -} - -export function loadIncrement(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 997752964) { throw Error('Invalid prefix'); } - let _value = sc_0.loadIntBig(257); - return { $$type: 'Increment' as const, value: _value }; -} - -function loadTupleIncrement(source: TupleReader) { - let _value = source.readBigNumber(); - return { $$type: 'Increment' as const, value: _value }; -} - -function storeTupleIncrement(source: Increment) { - let builder = new TupleBuilder(); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserIncrement(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeIncrement(src)).endCell()); - }, - parse: (src) => { - return loadIncrement(src.loadRef().beginParse()); - } - } -} - - type External_init_args = { - $$type: 'External_init_args'; - owner: Address; -} - -function initExternal_init_args(src: External_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeAddress(src.owner); - }; -} - -async function External_init(owner: Address) { - const __code = Cell.fromBase64('te6ccgECFAEAA8EAART/APSkE/S88sgLAQIBIAIDAgFIBAUCcPLbPFjbPDDI+EMBzH8BygBZWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFoEBAc8Aye1UERIC2tAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFrbPPLggsj4QwHMfwHKAFlZINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WgQEBzwDJ7VQRBgIBIAoLAfbtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQlGqYtrqOqDDTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gwACOKvkBgvD7WvsjFMSoP2MO7jq9G7J6bdV0vcgs6DqbWjiOvnor6LqTf9sx4JEw4nAHATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPAgByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsACQCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAIRviju2ebZ42EMEQwCASANDgACIQC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJwQM51aecV+dJQsB1hbiZHsoAgFIDxAAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtTlc2NlJ5R3k0aEs4b0FLYWd3UENaZXJmcDQ5VzJVUEZ0eU54cEp0ODh5UmuCABxu1E0NQB+GPSAAGOKPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgBgQEB1wBZbBLg+CjXCwqDCbry4In6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdHbPBMA5u2i7ftwIddJwh+VMCDXCx/eIIIQO3iAhLqOHTDTHwGCEDt4gIS68uCBgQEB1wABMfgjupL4AN5/4MAAjjL5AYLww8Hz4Z72eWT28doa2FvQizX4sC/7iBQY+2wfs7Ro1GK6m/gjIbyS+ADef9sx4JEw4nAADPgjgQEsoA=='); - const __system = Cell.fromBase64('te6cckECFgEAA8sAAQHAAQEFoNSlAgEU/wD0pBP0vPLICwMCASAGBAJw8ts8WNs8MMj4QwHMfwHKAFlZINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WgQEBzwDJ7VQUBQDm7aLt+3Ah10nCH5UwINcLH94gghA7eICEuo4dMNMfAYIQO3iAhLry4IGBAQHXAAEx+CO6kvgA3n/gwACOMvkBgvDDwfPhnvZ5ZPbx2hrYW9CLNfiwL/uIFBj7bB+ztGjUYrqb+CMhvJL4AN5/2zHgkTDicAIBSA8HAgEgDQgCASAMCQIBSAsKAHWybuNDVpcGZzOi8vUW1OVzY2UnlHeTRoSzhvQUthZ3dQQ1plcmZwNDlXMlVQRnR5TnhwSnQ4OHlSa4IAARsK+7UTQ0gABgALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgnBAznVp5xX50lCwHWFuJkeygCEb4o7tnm2eNhDBQOAAIhAtrQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxa2zzy4ILI+EMBzH8BygBZWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFoEBAc8Aye1UFBAB9u2i7fsBkjB/4HAh10nCH5UwINcLH94gghCUapi2uo6oMNMfAYIQlGqYtrry4IHTPwExyAGCEK/5D1dYyx/LP8n4QgFwbds8f+DAAI4q+QGC8Pta+yMUxKg/Yw7uOr0bsnpt1XS9yCzoOptaOI6+eivoupN/2zHgkTDicBEBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8EgHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wATAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAcbtRNDUAfhj0gABjij6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAYEBAdcAWWwS4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHR2zwVAAz4I4EBLKBe6vWl'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initExternal_init_args({ $$type: 'External_init_args', owner })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const External_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const External_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"Increment","header":997752964,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const External_getters: ABIGetter[] = [ - {"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}, -] - -const External_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Topup"}}, - {"receiver":"external","message":{"kind":"text","text":"Timeout"}}, - {"receiver":"external","message":{"kind":"typed","type":"Increment"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}, -] - -export class External implements Contract { - - static async init(owner: Address) { - return await External_init(owner); - } - - static async fromInit(owner: Address) { - const init = await External_init(owner); - const address = contractAddress(0, init); - return new External(address, init); - } - - static fromAddress(address: Address) { - return new External(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: External_types, - getters: External_getters, - receivers: External_receivers, - errors: External_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Topup' | Deploy) { - - let body: Cell | null = null; - if (message === 'Topup') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Deploy') { - body = beginCell().store(storeDeploy(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async sendExternal(provider: ContractProvider, message: 'Timeout' | Increment) { - - let body: Cell | null = null; - if (message === 'Timeout') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Increment') { - body = beginCell().store(storeIncrement(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.external(body); - - } - - async getOwner(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('owner', builder.build())).stack; - let result = source.readAddress(); - return result; - } - -} \ No newline at end of file diff --git a/examples/output/increment_IncrementContract.abi b/examples/output/increment_IncrementContract.abi deleted file mode 100644 index 0129a6a83..000000000 --- a/examples/output/increment_IncrementContract.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"IncrementContract","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"Increment","header":537284411,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"Toggle","header":1081595080,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"Persist","header":3801943978,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"content","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Reset","header":1718153138,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"Something","header":null,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"Increment"}},{"receiver":"internal","message":{"kind":"typed","type":"Toggle"}},{"receiver":"internal","message":{"kind":"typed","type":"Persist"}},{"receiver":"internal","message":{"kind":"typed","type":"Reset"}},{"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}],"getters":[{"name":"counters","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int"}},{"name":"counters2","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int"}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"52777":{"message":"Empty counter"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/examples/output/increment_IncrementContract.code.boc b/examples/output/increment_IncrementContract.code.boc deleted file mode 100644 index 6812c8a8c..000000000 Binary files a/examples/output/increment_IncrementContract.code.boc and /dev/null differ diff --git a/examples/output/increment_IncrementContract.code.boc.html b/examples/output/increment_IncrementContract.code.boc.html deleted file mode 100644 index f533ea14d..000000000 --- a/examples/output/increment_IncrementContract.code.boc.html +++ /dev/null @@ -1,742 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_77570;
-            ..DECLPROC ?fun_95239;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_2dff0589a7770907;
-            ..DECLPROC ?fun_ref_3dd70f0a0852c361;
-            ..DECLPROC ?fun_ref_44086a5ce86162fe;
-            ..DECLPROC ?fun_ref_4f4d01402200958e;
-            ..DECLPROC ?fun_ref_a2cdc56ef3c61464;
-            ..DECLPROC ?fun_ref_b347d9c3ebd197d4;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            x2..recv_internal PROC:<{
-            18x2....s0 s1 XCHG
-            118x2....CTOS
-            26x2....4 LDU
-            18x2....s0 s1 XCHG
-            18x2....1 PUSHINT
-            18x2....AND
-            18x2....-1 MULCONST
-            18x2....s0 s1 XCHG
-            26x2....LDMSGADDR
-            18x2....s0 s1 XCHG
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            34x2....137 THROWIF
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            34x2....s0 s6 s4 PUXCPU
-            18x2....s0 s3 XCHG
-            30x2....4 TUPLE
-            28x2....1 SETGLOBVAR
-            18x2....s0 s2 XCHG
-            29x2....2 SETGLOBVAR
-            126x2....?fun_ref_a2cdc56ef3c61464 INLINECALLDICT
-            26x2....2 5 BLKSWAP
-            126x2....?fun_ref_4f4d01402200958e INLINECALLDICT
-            34x2....130 THROWIFNOT
-            18x2....NEWC
-            26x2....3 GETGLOBVAR
-            18x2....s0 s1 XCHG
-            18x2....STREF
-            18x2....-1 PUSHINT
-            18x2....s0 s1 XCHG
-            26x2....1 STI
-            26x2....5 1 BLKSWAP
-            26x2....s4 s5 XCHG2
-            26x2....STDICT
-            18x2....s1 s2 XCHG
-            26x2....STDICT
-            18x2....s0 s1 XCHG
-            18x2....NEWC
-            26x2....STDICT
-            18x2....s1 s2 XCHG
-            26x2....STDICT
-            18x2....s1 s2 XCHG
-            26x2....STDICT
-            518x2....ENDC
-            18x2....s0 s1 XCHG
-            18x2....STREF
-            518x2....ENDC
-            26x2....c4 POP
-            x2..}>
-            x1..?fun_77570 PROC:<{
-            126x1....?fun_ref_a2cdc56ef3c61464 INLINECALLDICT
-            126x1....?fun_ref_44086a5ce86162fe INLINECALLDICT
-            26x1....5 1 BLKDROP2
-            x1..}>
-            x1..?fun_95239 PROC:<{
-            126x1....?fun_ref_a2cdc56ef3c61464 INLINECALLDICT
-            126x1....?fun_ref_b347d9c3ebd197d4 INLINECALLDICT
-            26x1....5 1 BLKDROP2
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D4E5334694E544D7848706876455947766170516D55684A65765864765969375951576636714A70415936515682_} PUSHSLICE
-            ..}>
-            x1..?fun_ref_2dff0589a7770907 PROCREF:<{
-            18x1....NULL
-            18x1....NULL
-            18x1....NULL
-            18x1....NULL
-            18x1....NULL
-            x1..}>
-            ..?fun_ref_3dd70f0a0852c361 PROCREF:<{
-            ....257 PUSHINT
-            ....NULL
-            ....s1 s2 PUSH2
-            ....s4 s9 XCHG
-            ....ROTREV
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s4 XCHG
-            ....257 PUSHINT
-            ....s6 PUSH
-            ....NULL
-            ....1 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s3 XCHG
-            ....257 PUSHINT
-            ....s6 PUSH
-            ....NULL
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......s1 s3 s3 XCHG3
-            ......DICTISETREF
-            ....}> PUSHCONT
-            ....IFELSE
-            ....267 PUSHINT
-            ....2 GETGLOBVAR
-            ....s2 s4 XCHG
-            ....NULL
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....257 PUSHINT
-            ....NULL
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......1 UNTUPLE
-            ......NEWC
-            ......s0 s1 XCHG
-            ......s0 s1 XCHG
-            ......257 PUSHINT
-            ......STIX
-            ......ENDC
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s1 s7 s0 XCHG3
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......s1 s3 s3 XCHG3
-            ......DICTISETREF
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s3 s4 XCHG
-            ....s1 s3 s0 XCHG3
-            ..}>
-            x5..?fun_ref_44086a5ce86162fe PROCREF:<{
-            18x5....s1 PUSH
-            x5..}>
-            x2..?fun_ref_4f4d01402200958e PROCREF:<{
-            18x2....s0 s1 XCHG
-            18x2....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x2....}> PUSHCONT
-            18x2....IFJMP
-            18x2....0 PUSHINT
-            18x2....s1 PUSH
-            26x2....SBITS
-            26x2....31 GTINT
-            18x2....<{
-            18x2......s0 POP
-            18x2......s0 PUSH
-            34x2......32 PLDU
-            18x2....}> PUSHCONT
-            18x2....IF
-            18x2....s0 PUSH
-            23x2....537284411 PUSHINT
-            18x2....EQUAL
-            26x2....<{
-            18x1......s0 POP
-            26x1......32 LDU
-            18x1......s0 s1 XCHG
-            23x1......537284411 PUSHINT
-            18x1......EQUAL
-            34x1......129 THROWIFNOT
-            34x1......257 PUSHINT
-            26x1......LDIX
-            34x1......257 PUSHINT
-            26x1......LDIX
-            18x1......ROTREV
-            26x1......1 2 BLKDROP2
-            34x1......257 PUSHINT
-            18x1......s0 PUSH
-            26x1......s3 s8 XCHG
-            26x1......s1 s8 s0 XCHG3
-            26x1......s8 s1 PUXC
-            18x1......s1 PUSH
-            18x1......ISNULL
-            18x1......<{
-            ........DROP2
-            ........ROTREV
-            ........DICTIDEL
-            ........s0 POP
-            18x1......}> PUSHCONT
-            18x1......<{
-            18x1........NEWC
-            18x1........s0 s1 XCHG
-            26x1........STIX
-            26x1........s1 s3 s3 XCHG3
-            526x1........DICTISETB
-            18x1......}> PUSHCONT
-            18x1......IFELSE
-            34x1......267 PUSHINT
-            26x1......2 GETGLOBVAR
-            26x1......s3 s4 XCHG
-            26x1......s1 s0 s7 XCHG3
-            34x1......257 PUSHINT
-            18x1......s1 PUSH
-            18x1......ISNULL
-            18x1......<{
-            ........DROP2
-            ........ROTREV
-            ........DICTDEL
-            ........s0 POP
-            18x1......}> PUSHCONT
-            18x1......<{
-            18x1........NEWC
-            18x1........s0 s1 XCHG
-            26x1........STIX
-            26x1........s1 s3 s3 XCHG3
-            526x1........DICTSETB
-            18x1......}> PUSHCONT
-            18x1......IFELSE
-            18x1......s0 s1 XCHG
-            18x1......-1 PUSHINT
-            26x2....}> PUSHCONT
-            18x2....IFJMP
-            18x1....s0 PUSH
-            23x1....1081595080 PUSHINT
-            18x1....EQUAL
-            26x1....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1081595080 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......s4 PUSH
-            ......257 PUSHINT
-            ......s2 PUSH
-            ......1 PUSHINT
-            ......s1 s3 s3 XCHG3
-            ......DICTIGET
-            ......NULLSWAPIFNOT
-            ......<{
-            ........s0 s1 XCHG
-            ........LDIX
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........DROP2
-            ........NULL
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........s1 s4 XCHG
-            ........257 PUSHINT
-            ........s0 s1 XCHG
-            ........-1 PUSHINT
-            ........1 PUSHINT
-            ........s1 PUSH
-            ........ISNULL
-            ........<{
-            ..........DROP2
-            ..........ROTREV
-            ..........DICTIDEL
-            ..........s0 POP
-            ........}> PUSHCONT
-            ........<{
-            ..........NEWC
-            ..........s0 s1 XCHG
-            ..........STIX
-            ..........s1 s3 s3 XCHG3
-            ..........DICTISETB
-            ........}> PUSHCONT
-            ........IFELSE
-            ......}> PUSHCONT
-            ......<{
-            ........257 PUSHINT
-            ........s0 s1 XCHG
-            ........s0 PUSH
-            ........ISNULL
-            ........128 THROWIF
-            ........NOT
-            ........s3 s6 XCHG
-            ........s1 s2 XCHG
-            ........1 PUSHINT
-            ........s1 PUSH
-            ........ISNULL
-            ........<{
-            ..........DROP2
-            ..........ROTREV
-            ..........DICTIDEL
-            ..........s0 POP
-            ........}> PUSHCONT
-            ........<{
-            ..........NEWC
-            ..........s0 s1 XCHG
-            ..........STIX
-            ..........s1 s3 s3 XCHG3
-            ..........DICTISETB
-            ........}> PUSHCONT
-            ........IFELSE
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s3 XCHG
-            ......-1 PUSHINT
-            26x1....}> PUSHCONT
-            18x1....IFJMP
-            18x1....s0 PUSH
-            23x1....3801943978 PUSHINT
-            18x1....EQUAL
-            26x1....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......3801943978 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........LDREF
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......52777 PUSHINT
-            ......s5 PUSH
-            ......257 PUSHINT
-            ......s4 PUSH
-            ......ROTREV
-            ......DICTIGETREF
-            ......NULLSWAPIFNOT
-            ......<{
-            ........s0 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......IFNOT
-            ......ISNULL
-            ......THROWANYIFNOT
-            ......s2 s4 XCHG
-            ......257 PUSHINT
-            ......ROTREV
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........ROTREV
-            ........DICTIDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........s1 s3 s3 XCHG3
-            ........DICTISETREF
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s2 XCHG
-            ......-1 PUSHINT
-            26x1....}> IFJMPREF
-            18x1....s0 PUSH
-            23x1....1718153138 PUSHINT
-            18x1....EQUAL
-            26x1....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1718153138 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......?fun_ref_3dd70f0a0852c361 INLINECALLDICT
-            ......-1 PUSHINT
-            26x1....}> PUSHCONT
-            18x1....IFJMP
-            23x1....2490013878 PUSHINT
-            18x1....EQUAL
-            26x1....<{
-            26x1......32 LDU
-            18x1......s0 s1 XCHG
-            23x1......2490013878 PUSHINT
-            18x1......EQUAL
-            34x1......129 THROWIFNOT
-            26x1......64 LDU
-            18x1......s0 s1 XCHG
-            18x1......s1 POP
-            18x1......NEWC
-            18x1......s0 s1 XCHG
-            23x1......2952335191 PUSHINT
-            18x1......ROT
-            26x1......32 STU
-            26x1......64 STU
-            518x1......ENDC
-            26x1......2 GETGLOBVAR
-            18x1......s0 s1 XCHG
-            18x1......0 PUSHINT
-            18x1......NULL
-            126x1......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            18x1......-1 PUSHINT
-            26x1....}> PUSHCONT
-            18x1....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            x2..}>
-            x4..?fun_ref_a2cdc56ef3c61464 PROCREF:<{
-            26x4....c4 PUSH
-            118x4....CTOS
-            18x4....LDREF
-            18x4....s0 s1 XCHG
-            30x4....3 SETGLOBVAR
-            26x4....1 LDI
-            18x4....s0 s1 XCHG
-            26x4....<{
-            26x3......LDDICT
-            26x3......LDDICT
-            18x3......LDREF
-            18x3......s0 s1 XCHG
-            118x3......CTOS
-            26x3......LDDICT
-            26x3......LDDICT
-            26x3......LDDICT
-            18x3......s0 POP
-            26x3......s3 s5 XCHG
-            26x3......s3 s4 XCHG
-            26x3......1 5 BLKDROP2
-            26x4....}> PUSHCONT
-            18x4....IFJMP
-            18x1....s0 POP
-            26x1....MYADDR
-            34x1....11 PLDU
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....137 THROWIFNOT
-            126x1....?fun_ref_2dff0589a7770907 INLINECALLDICT
-            x4..}>
-            x3..?fun_ref_b347d9c3ebd197d4 PROCREF:<{
-            18x3....s4 PUSH
-            x3..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/increment_IncrementContract.code.fc b/examples/output/increment_IncrementContract.code.fc deleted file mode 100644 index 8e2623e1a..000000000 --- a/examples/output/increment_IncrementContract.code.fc +++ /dev/null @@ -1,187 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "increment_IncrementContract.headers.fc"; -#include "increment_IncrementContract.stdlib.fc"; -#include "increment_IncrementContract.storage.fc"; - -;; -;; Contract IncrementContract functions -;; - -(cell, cell, cell, cell, cell) $IncrementContract$_contract_init() impure inline_ref { - var (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5)) = (null(), null(), null(), null(), null()); - return ($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5); -} - -((cell, cell, cell, cell, cell), cell) $IncrementContract$_fun_counters((cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5)) = $self; - return (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5), $self'counters); -} - -((cell, cell, cell, cell, cell), cell) $IncrementContract$_fun_counters2((cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5)) = $self; - return (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5), $self'counters4); -} - -;; -;; Receivers of a Contract IncrementContract -;; - -(((cell, cell, cell, cell, cell)), ()) $IncrementContract$_internal_binary_Increment((cell, cell, cell, cell, cell) $self, (int, int) $msg) impure inline { - var ($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5) = $self; - var ($msg'key, $msg'value) = $msg; - $self'counters~__tact_dict_set_int_int(257, $msg'key, $msg'value, 257); - $self'counters4~__tact_dict_set_slice_int(267, __tact_context_get_sender(), $msg'value, 257); - return (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5), ()); -} - -(((cell, cell, cell, cell, cell)), ()) $IncrementContract$_internal_binary_Toggle((cell, cell, cell, cell, cell) $self, (int) $msg) impure inline { - var ($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5) = $self; - var ($msg'key) = $msg; - int $ex = __tact_dict_get_int_int($self'counters2, 257, $msg'key, 1); - if (null?($ex)) { - $self'counters2~__tact_dict_set_int_int(257, $msg'key, true, 1); - } else { - $self'counters2~__tact_dict_set_int_int(257, $msg'key, (~ __tact_not_null($ex)), 1); - } - return (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5), ()); -} - -(((cell, cell, cell, cell, cell)), ()) $IncrementContract$_internal_binary_Persist((cell, cell, cell, cell, cell) $self, (int, cell) $msg) impure inline { - var ($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5) = $self; - var ($msg'key, $msg'content) = $msg; - throw_unless(52777, null?(__tact_dict_get_int_cell($self'counters3, 257, $msg'key))); - $self'counters3~__tact_dict_set_int_cell(257, $msg'key, $msg'content); - return (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5), ()); -} - -(((cell, cell, cell, cell, cell)), ()) $IncrementContract$_internal_binary_Reset((cell, cell, cell, cell, cell) $self, (int) $msg) impure inline { - var ($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5) = $self; - var ($msg'key) = $msg; - $self'counters~__tact_dict_set_int_int(257, $msg'key, null(), 257); - $self'counters2~__tact_dict_set_int_int(257, $msg'key, null(), 1); - $self'counters3~__tact_dict_set_int_cell(257, $msg'key, null()); - $self'counters4~__tact_dict_set_slice_int(267, __tact_context_get_sender(), null(), 257); - $self'counters5~__tact_dict_set_int_cell(257, $msg'key, $Something$_store_opt(null())); - return (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5), ()); -} - -(((cell, cell, cell, cell, cell)), ()) $IncrementContract$_internal_binary_Deploy((cell, cell, cell, cell, cell) $self, (int) $deploy) impure inline { - var ($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5) = $self; - var ($deploy'queryId) = $deploy; - ($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5)~$IncrementContract$_fun_notify($DeployOk$_store_cell($DeployOk$_constructor_queryId($deploy'queryId))); - return (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5), ()); -} - -;; -;; Get methods of a Contract IncrementContract -;; - -_ %counters() method_id(95239) { - var self = $IncrementContract$_contract_load(); - var res = self~$IncrementContract$_fun_counters(); - return res; -} - -_ %counters2() method_id(77570) { - var self = $IncrementContract$_contract_load(); - var res = self~$IncrementContract$_fun_counters2(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmNS4iNTMxHphvEYGvapQmUhJevXdvYi7YQWf6qJpAY6QV"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract IncrementContract -;; - -((cell, cell, cell, cell, cell), int) $IncrementContract$_contract_router_internal((cell, cell, cell, cell, cell) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Increment message - if (op == 537284411) { - var msg = in_msg~$Increment$_load(); - self~$IncrementContract$_internal_binary_Increment(msg); - return (self, true); - } - - ;; Receive Toggle message - if (op == 1081595080) { - var msg = in_msg~$Toggle$_load(); - self~$IncrementContract$_internal_binary_Toggle(msg); - return (self, true); - } - - ;; Receive Persist message - if (op == 3801943978) { - var msg = in_msg~$Persist$_load(); - self~$IncrementContract$_internal_binary_Persist(msg); - return (self, true); - } - - ;; Receive Reset message - if (op == 1718153138) { - var msg = in_msg~$Reset$_load(); - self~$IncrementContract$_internal_binary_Reset(msg); - return (self, true); - } - - ;; Receive Deploy message - if (op == 2490013878) { - var msg = in_msg~$Deploy$_load(); - self~$IncrementContract$_internal_binary_Deploy(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $IncrementContract$_contract_load(); - - ;; Handle operation - int handled = self~$IncrementContract$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $IncrementContract$_contract_store(self); -} diff --git a/examples/output/increment_IncrementContract.code.fif b/examples/output/increment_IncrementContract.code.fif deleted file mode 100644 index 30c9c7339..000000000 --- a/examples/output/increment_IncrementContract.code.fif +++ /dev/null @@ -1,686 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC __tact_dict_set_int_int - DECLPROC __tact_dict_get_int_int - DECLPROC __tact_dict_set_int_cell - DECLPROC __tact_dict_get_int_cell - DECLPROC __tact_dict_set_slice_int - DECLPROC $Deploy$_load - DECLPROC $DeployOk$_store - DECLPROC $DeployOk$_store_cell - DECLPROC $Increment$_load - DECLPROC $Toggle$_load - DECLPROC $Persist$_load - DECLPROC $Reset$_load - DECLPROC $Something$_store - DECLPROC $Something$_store_cell - DECLPROC $Something$_not_null - DECLPROC $Something$_store_opt - DECLPROC $IncrementContract$_store - DECLPROC $IncrementContract$_load - DECLPROC $StateInit$_not_null - DECLPROC $IncrementContract$_contract_init - DECLPROC $IncrementContract$_contract_load - DECLPROC $IncrementContract$_contract_store - DECLPROC $global_send - DECLPROC $IncrementContract$_fun_counters - DECLPROC $IncrementContract$_fun_counters2 - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $IncrementContract$_fun_forward - DECLPROC $IncrementContract$_fun_notify - DECLPROC $DeployOk$_constructor_queryId - DECLPROC $IncrementContract$_internal_binary_Increment - DECLPROC $IncrementContract$_internal_binary_Toggle - DECLPROC $IncrementContract$_internal_binary_Persist - DECLPROC $IncrementContract$_internal_binary_Reset - DECLPROC $IncrementContract$_internal_binary_Deploy - 95239 DECLMETHOD %counters - 77570 DECLMETHOD %counters2 - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $IncrementContract$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_dict_set_int_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> - }> - __tact_dict_get_int_int PROCINLINE:<{ - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - IF:<{ - SWAP - LDIX - DROP - }>ELSE<{ - 2DROP - PUSHNULL - }> - }> - __tact_dict_set_int_cell PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTISETREF - }> - }> - __tact_dict_get_int_cell PROCINLINE:<{ - -ROT - DICTIGETREF - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> - }> - __tact_dict_set_slice_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> - }> - $Deploy$_load PROCINLINE:<{ - 32 LDU - SWAP - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - SWAP - }> - $DeployOk$_store PROCINLINE:<{ - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - }> - $DeployOk$_store_cell PROCINLINE:<{ - NEWC - SWAP - $DeployOk$_store INLINECALLDICT - ENDC - }> - $Increment$_load PROCINLINE:<{ - 32 LDU - SWAP - 537284411 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - -ROT - }> - $Toggle$_load PROCINLINE:<{ - 32 LDU - SWAP - 1081595080 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - SWAP - }> - $Persist$_load PROCINLINE:<{ - 32 LDU - SWAP - 3801943978 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $Reset$_load PROCINLINE:<{ - 32 LDU - SWAP - 1718153138 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - SWAP - }> - $Something$_store PROCINLINE:<{ - SWAP - 257 PUSHINT - STIX - }> - $Something$_store_cell PROCINLINE:<{ - NEWC - SWAP - $Something$_store INLINECALLDICT - ENDC - }> - $Something$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 1 UNTUPLE - }> - $Something$_store_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $Something$_not_null INLINECALLDICT - $Something$_store_cell INLINECALLDICT - }> - }> - $IncrementContract$_store PROCINLINE:<{ - s4 s5 XCHG2 - STDICT - s1 s2 XCHG - STDICT - SWAP - NEWC - STDICT - s1 s2 XCHG - STDICT - s1 s2 XCHG - STDICT - ENDC - SWAP - STREF - }> - $IncrementContract$_load PROCINLINE:<{ - LDDICT - LDDICT - LDREF - SWAP - CTOS - LDDICT - LDDICT - LDDICT - DROP - s3 s5 XCHG - s3 s4 XCHG - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $IncrementContract$_contract_init PROCREF:<{ - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - }> - $IncrementContract$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $IncrementContract$_load INLINECALLDICT - 1 5 BLKDROP2 - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $IncrementContract$_contract_init INLINECALLDICT - }> - $IncrementContract$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 5 -ROLL - $IncrementContract$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $IncrementContract$_fun_counters PROCREF:<{ - s4 PUSH - }> - $IncrementContract$_fun_counters2 PROCREF:<{ - OVER - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $IncrementContract$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $IncrementContract$_fun_notify PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - FALSE - PUSHNULL - $IncrementContract$_fun_forward INLINECALLDICT - }> - $DeployOk$_constructor_queryId PROCINLINE:<{ - }> - $IncrementContract$_internal_binary_Increment PROCINLINE:<{ - 257 PUSHINT - DUP - s3 s8 XCHG - s1 s8 s0 XCHG3 - s8 s(-1) PUXC - __tact_dict_set_int_int INLINECALLDICT - 267 PUSHINT - __tact_context_get_sender INLINECALLDICT - s3 s4 XCHG - s1 s0 s7 XCHG3 - 257 PUSHINT - __tact_dict_set_slice_int INLINECALLDICT - SWAP - }> - $IncrementContract$_internal_binary_Toggle PROCINLINE:<{ - s4 PUSH - 257 PUSHINT - s2 PUSH - 1 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - DUP - ISNULL - IF:<{ - DROP - s1 s4 XCHG - 257 PUSHINT - SWAP - TRUE - 1 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - }>ELSE<{ - 257 PUSHINT - SWAP - __tact_not_null INLINECALLDICT - NOT - s3 s6 XCHG - s1 s2 XCHG - 1 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - }> - s0 s3 XCHG - }> - $IncrementContract$_internal_binary_Persist PROCINLINE:<{ - 52777 PUSHINT - s5 PUSH - 257 PUSHINT - s4 PUSH - __tact_dict_get_int_cell INLINECALLDICT - ISNULL - THROWANYIFNOT - s2 s4 XCHG - 257 PUSHINT - -ROT - __tact_dict_set_int_cell INLINECALLDICT - s0 s2 XCHG - }> - $IncrementContract$_internal_binary_Reset PROCINLINE:<{ - 257 PUSHINT - PUSHNULL - s1 s2 PUSH2 - s4 s9 XCHG - -ROT - __tact_dict_set_int_int INLINECALLDICT - s0 s4 XCHG - 257 PUSHINT - s6 PUSH - PUSHNULL - 1 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 s3 XCHG - 257 PUSHINT - s6 PUSH - PUSHNULL - __tact_dict_set_int_cell INLINECALLDICT - 267 PUSHINT - __tact_context_get_sender INLINECALLDICT - s2 s4 XCHG - PUSHNULL - 257 PUSHINT - __tact_dict_set_slice_int INLINECALLDICT - 257 PUSHINT - PUSHNULL - $Something$_store_opt INLINECALLDICT - s1 s7 s0 XCHG3 - __tact_dict_set_int_cell INLINECALLDICT - s3 s4 XCHG - s1 s3 s0 XCHG3 - }> - $IncrementContract$_internal_binary_Deploy PROCINLINE:<{ - $DeployOk$_constructor_queryId INLINECALLDICT - $DeployOk$_store_cell INLINECALLDICT - $IncrementContract$_fun_notify INLINECALLDICT - }> - %counters PROC:<{ - $IncrementContract$_contract_load INLINECALLDICT - $IncrementContract$_fun_counters INLINECALLDICT - 5 1 BLKDROP2 - }> - %counters2 PROC:<{ - $IncrementContract$_contract_load INLINECALLDICT - $IncrementContract$_fun_counters2 INLINECALLDICT - 5 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d4e5334694e544d7848706876455947766170516d55684a65765864765969375951576636714a704159365156} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $IncrementContract$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 537284411 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Increment$_load INLINECALLDICT - 1 2 BLKDROP2 - $IncrementContract$_internal_binary_Increment INLINECALLDICT - TRUE - }> - DUP - 1081595080 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Toggle$_load INLINECALLDICT - NIP - $IncrementContract$_internal_binary_Toggle INLINECALLDICT - TRUE - }> - DUP - 3801943978 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Persist$_load INLINECALLDICT - 1 2 BLKDROP2 - $IncrementContract$_internal_binary_Persist INLINECALLDICT - TRUE - }> - DUP - 1718153138 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Reset$_load INLINECALLDICT - NIP - $IncrementContract$_internal_binary_Reset INLINECALLDICT - TRUE - }> - 2490013878 PUSHINT - EQUAL - IFJMP:<{ - $Deploy$_load INLINECALLDICT - NIP - $IncrementContract$_internal_binary_Deploy INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $IncrementContract$_contract_load INLINECALLDICT - 2 5 BLKSWAP - $IncrementContract$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $IncrementContract$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/increment_IncrementContract.code.rev.fif b/examples/output/increment_IncrementContract.code.rev.fif deleted file mode 100644 index 55053fb88..000000000 --- a/examples/output/increment_IncrementContract.code.rev.fif +++ /dev/null @@ -1,706 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_77570; - DECLPROC ?fun_95239; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_2dff0589a7770907; - DECLPROC ?fun_ref_3dd70f0a0852c361; - DECLPROC ?fun_ref_44086a5ce86162fe; - DECLPROC ?fun_ref_4f4d01402200958e; - DECLPROC ?fun_ref_a2cdc56ef3c61464; - DECLPROC ?fun_ref_b347d9c3ebd197d4; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_e31d986f279fa0fb; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a2cdc56ef3c61464 INLINECALLDICT - 2 5 BLKSWAP - ?fun_ref_4f4d01402200958e INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 5 1 BLKSWAP - s4 s5 XCHG2 - STDICT - s1 s2 XCHG - STDICT - s0 s1 XCHG - NEWC - STDICT - s1 s2 XCHG - STDICT - s1 s2 XCHG - STDICT - ENDC - s0 s1 XCHG - STREF - ENDC - c4 POP - }> - ?fun_77570 PROC:<{ - ?fun_ref_a2cdc56ef3c61464 INLINECALLDICT - ?fun_ref_44086a5ce86162fe INLINECALLDICT - 5 1 BLKDROP2 - }> - ?fun_95239 PROC:<{ - ?fun_ref_a2cdc56ef3c61464 INLINECALLDICT - ?fun_ref_b347d9c3ebd197d4 INLINECALLDICT - 5 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D4E5334694E544D7848706876455947766170516D55684A65765864765969375951576636714A70415936515682_} PUSHSLICE - }> - ?fun_ref_2dff0589a7770907 PROCREF:<{ - NULL - NULL - NULL - NULL - NULL - }> - ?fun_ref_3dd70f0a0852c361 PROCREF:<{ - 257 PUSHINT - NULL - s1 s2 PUSH2 - s4 s9 XCHG - ROTREV - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s4 XCHG - 257 PUSHINT - s6 PUSH - NULL - 1 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s3 XCHG - 257 PUSHINT - s6 PUSH - NULL - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISETREF - }> PUSHCONT - IFELSE - 267 PUSHINT - 2 GETGLOBVAR - s2 s4 XCHG - NULL - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - 257 PUSHINT - NULL - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 1 UNTUPLE - NEWC - s0 s1 XCHG - s0 s1 XCHG - 257 PUSHINT - STIX - ENDC - }> PUSHCONT - IFELSE - s1 s7 s0 XCHG3 - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISETREF - }> PUSHCONT - IFELSE - s3 s4 XCHG - s1 s3 s0 XCHG3 - }> - ?fun_ref_44086a5ce86162fe PROCREF:<{ - s1 PUSH - }> - ?fun_ref_4f4d01402200958e PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 537284411 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 537284411 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - ROTREV - 1 2 BLKDROP2 - 257 PUSHINT - s0 PUSH - s3 s8 XCHG - s1 s8 s0 XCHG3 - s8 s1 PUXC - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - 267 PUSHINT - 2 GETGLOBVAR - s3 s4 XCHG - s1 s0 s7 XCHG3 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s1 XCHG - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 1081595080 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1081595080 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - s4 PUSH - 257 PUSHINT - s2 PUSH - 1 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - <{ - s0 POP - s1 s4 XCHG - 257 PUSHINT - s0 s1 XCHG - -1 PUSHINT - 1 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - }> PUSHCONT - <{ - 257 PUSHINT - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - NOT - s3 s6 XCHG - s1 s2 XCHG - 1 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - s0 s3 XCHG - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 3801943978 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 3801943978 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - 52777 PUSHINT - s5 PUSH - 257 PUSHINT - s4 PUSH - ROTREV - DICTIGETREF - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - ISNULL - THROWANYIFNOT - s2 s4 XCHG - 257 PUSHINT - ROTREV - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISETREF - }> PUSHCONT - IFELSE - s0 s2 XCHG - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 1718153138 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1718153138 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - ?fun_ref_3dd70f0a0852c361 INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - 2490013878 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - s0 s1 XCHG - s1 POP - NEWC - s0 s1 XCHG - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - 0 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> - ?fun_ref_a2cdc56ef3c61464 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDDICT - LDDICT - LDREF - s0 s1 XCHG - CTOS - LDDICT - LDDICT - LDDICT - s0 POP - s3 s5 XCHG - s3 s4 XCHG - 1 5 BLKDROP2 - }> PUSHCONT - IFJMP - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_2dff0589a7770907 INLINECALLDICT - }> - ?fun_ref_b347d9c3ebd197d4 PROCREF:<{ - s4 PUSH - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> -}END>c \ No newline at end of file diff --git a/examples/output/increment_IncrementContract.headers.fc b/examples/output/increment_IncrementContract.headers.fc deleted file mode 100644 index d4d209c48..000000000 --- a/examples/output/increment_IncrementContract.headers.fc +++ /dev/null @@ -1,112 +0,0 @@ -;; -;; Header files for IncrementContract -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_dict_set_int_int -(cell, ()) __tact_dict_set_int_int(cell d, int kl, int k, int v, int vl) inline; - -;; __tact_dict_get_int_int -int __tact_dict_get_int_int(cell d, int kl, int k, int vl) inline; - -;; __tact_dict_set_int_cell -(cell, ()) __tact_dict_set_int_cell(cell d, int kl, int k, cell v) inline; - -;; __tact_dict_get_int_cell -cell __tact_dict_get_int_cell(cell d, int kl, int k) inline; - -;; __tact_dict_set_slice_int -(cell, ()) __tact_dict_set_slice_int(cell d, int kl, slice k, int v, int vl) inline; - -;; $Deploy$_load -(slice, ((int))) $Deploy$_load(slice sc_0) inline; - -;; $DeployOk$_store -builder $DeployOk$_store(builder build_0, (int) v) inline; - -;; $DeployOk$_store_cell -cell $DeployOk$_store_cell((int) v) inline; - -;; $Increment$_load -(slice, ((int, int))) $Increment$_load(slice sc_0) inline; - -;; $Toggle$_load -(slice, ((int))) $Toggle$_load(slice sc_0) inline; - -;; $Persist$_load -(slice, ((int, cell))) $Persist$_load(slice sc_0) inline; - -;; $Reset$_load -(slice, ((int))) $Reset$_load(slice sc_0) inline; - -;; $Something$_store -builder $Something$_store(builder build_0, (int) v) inline; - -;; $Something$_store_cell -cell $Something$_store_cell((int) v) inline; - -;; $Something$_not_null -((int)) $Something$_not_null(tuple v) inline; - -;; $Something$_store_opt -cell $Something$_store_opt(tuple v) inline; - -;; $IncrementContract$_store -builder $IncrementContract$_store(builder build_0, (cell, cell, cell, cell, cell) v) inline; - -;; $IncrementContract$_load -(slice, ((cell, cell, cell, cell, cell))) $IncrementContract$_load(slice sc_0) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $IncrementContract$_contract_init -(cell, cell, cell, cell, cell) $IncrementContract$_contract_init() impure inline_ref; - -;; $IncrementContract$_contract_load -(cell, cell, cell, cell, cell) $IncrementContract$_contract_load() impure inline_ref; - -;; $IncrementContract$_contract_store -() $IncrementContract$_contract_store((cell, cell, cell, cell, cell) v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $IncrementContract$_fun_counters -((cell, cell, cell, cell, cell), cell) $IncrementContract$_fun_counters((cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $IncrementContract$_fun_counters2 -((cell, cell, cell, cell, cell), cell) $IncrementContract$_fun_counters2((cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $IncrementContract$_fun_forward -((cell, cell, cell, cell, cell), ()) $IncrementContract$_fun_forward((cell, cell, cell, cell, cell) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $IncrementContract$_fun_notify -((cell, cell, cell, cell, cell), ()) $IncrementContract$_fun_notify((cell, cell, cell, cell, cell) $self, cell $body) impure inline; - -;; $DeployOk$_constructor_queryId -((int)) $DeployOk$_constructor_queryId(int queryId) inline; diff --git a/examples/output/increment_IncrementContract.md b/examples/output/increment_IncrementContract.md deleted file mode 100644 index 1bd164a4a..000000000 --- a/examples/output/increment_IncrementContract.md +++ /dev/null @@ -1,84 +0,0 @@ -# TACT Compilation Report -Contract: IncrementContract -BOC Size: 1174 bytes - -# Types -Total Types: 11 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Deploy -TLB: `deploy#946a98b6 queryId:uint64 = Deploy` -Signature: `Deploy{queryId:uint64}` - -## DeployOk -TLB: `deploy_ok#aff90f57 queryId:uint64 = DeployOk` -Signature: `DeployOk{queryId:uint64}` - -## FactoryDeploy -TLB: `factory_deploy#6d0ff13b queryId:uint64 cashback:address = FactoryDeploy` -Signature: `FactoryDeploy{queryId:uint64,cashback:address}` - -## Increment -TLB: `increment#20064f3b key:int257 value:int257 = Increment` -Signature: `Increment{key:int257,value:int257}` - -## Toggle -TLB: `toggle#4077d4c8 key:int257 = Toggle` -Signature: `Toggle{key:int257}` - -## Persist -TLB: `persist#e29d0faa key:int257 content:Maybe ^cell = Persist` -Signature: `Persist{key:int257,content:Maybe ^cell}` - -## Reset -TLB: `reset#6668efb2 key:int257 = Reset` -Signature: `Reset{key:int257}` - -## Something -TLB: `_ value:int257 = Something` -Signature: `Something{value:int257}` - -# Get Methods -Total Get Methods: 2 - -## counters - -## counters2 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -52777: Empty counter \ No newline at end of file diff --git a/examples/output/increment_IncrementContract.pkg b/examples/output/increment_IncrementContract.pkg deleted file mode 100644 index c8d96d3b5..000000000 --- a/examples/output/increment_IncrementContract.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"IncrementContract","code":"te6ccgECGQEABIoAART/APSkE/S88sgLAQIBYgIDAr7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVFNs88uCCyPhDAcx/AcoAVUBQRfQAEvQAAcj0ABL0ABL0AMkBzMntVBIEAgEgDQ4B9gGSMH/gcCHXScIflTAg1wsf3iCCECAGTzu6jlcw0x8BghAgBk87uvLggYEBAdcAgQEB1wBZbBKBAQEgEDhBgFKAIW6VW1n0WjCYyAHPAEEz9ELigQEL+EIQNEEHgQEBIW6VW1n0WTCYyAHPAEEz9EHiAX/gIIIQQHfUyAUC+LqObTDTHwGCEEB31Mi68uCBgQEB1wABMSSBAQEicUEz9AxvoZQB1wAwkltt4iBujhowFIEBAQF/cSFulVtZ9FowmMgBzwBBM/RC4o4ggQEBASBu8tCAsxA2EnEhbpVbWfRaMJjIAc8AQTP0QuLiA3/gIIIQ4p0PqrrjAiAGBwCUMNMfAYIQ4p0Pqrry4IGBAQHXANIAAZHUkm0B4llsEoIAziklgQEBJFn0DW+hkjBt327y9BAkgQEBWSBulTBZ9FowlEEz9BXiAn8CqoIQZmjvsrqOmDDTHwGCEGZo77K68uCBgQEB1wABMds8f+CCEJRqmLa6jqfTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gMHAICQHSgQEBbVMSEElZIW6VW1n0WjCYyAHPAEEz9ELiBIEBASZtcSFulVtZ9FowmMgBzwBBM/RC4gOBAQEmbSBulTBZ9FowlEEz9BXigQEL+EIQJG2BAQEhbpVbWfRZMJjIAc8AQTP0QeKBAQFtCgE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwLAFggbpIwbY4QIG7y0IBvIcgBAYEBAc8AyeJBcCBulTBZ9FowlEEz9BXiEDRBMAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAMAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAgEgDxACASAVFgIRuvAts82zxsUYEhECEbtAfbPNs8bFGBITAAIhAV7tRNDUAfhj0gABjhT0BPQE1AHQ9AT0BPQEMBA1EDRsFeAw+CjXCwqDCbry4InbPBQAAiQACm1tbW1tAJW7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgCAUgXGAARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1OUzRpTlRNeEhwaHZFWUd2YXBRbVVoSmV2WGR2WWk3WVFXZjZxSnBBWTZRVoIA==","abi":"{\"name\":\"IncrementContract\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Deploy\",\"header\":2490013878,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"DeployOk\",\"header\":2952335191,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"FactoryDeploy\",\"header\":1829761339,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"cashback\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"Increment\",\"header\":537284411,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"Toggle\",\"header\":1081595080,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"Persist\",\"header\":3801943978,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Reset\",\"header\":1718153138,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"Something\",\"header\":null,\"fields\":[{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Increment\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Toggle\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Persist\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Reset\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Deploy\"}}],\"getters\":[{\"name\":\"counters\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\"}},{\"name\":\"counters2\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"int\"}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"52777\":{\"message\":\"Empty counter\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECGwEABJQAAQHAAQEFoXRDAgEU/wD0pBP0vPLICwMCAWIPBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtTlM0aU5UTXhIcGh2RVlHdmFwUW1VaEpldlhkdllpN1lRV2Y2cUpwQVk2UVaCAAEbCvu1E0NIAAYACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgEgDQsCEbtAfbPNs8bFGBkMAAIkAhG68C2zzbPGxRgZDgACIQK+0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRTbPPLggsj4QwHMfwHKAFVAUEX0ABL0AAHI9AAS9AAS9ADJAczJ7VQZEAH2AZIwf+BwIddJwh+VMCDXCx/eIIIQIAZPO7qOVzDTHwGCECAGTzu68uCBgQEB1wCBAQHXAFlsEoEBASAQOEGAUoAhbpVbWfRaMJjIAc8AQTP0QuKBAQv4QhA0QQeBAQEhbpVbWfRZMJjIAc8AQTP0QeIBf+AgghBAd9TIEQL4uo5tMNMfAYIQQHfUyLry4IGBAQHXAAExJIEBASJxQTP0DG+hlAHXADCSW23iIG6OGjAUgQEBAX9xIW6VW1n0WjCYyAHPAEEz9ELijiCBAQEBIG7y0ICzEDYScSFulVtZ9FowmMgBzwBBM/RC4uIDf+AgghDinQ+quuMCIBgSAqqCEGZo77K6jpgw0x8BghBmaO+yuvLggYEBAdcAATHbPH/gghCUapi2uo6n0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4DBwFhMBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8FAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAVAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAdKBAQFtUxIQSVkhbpVbWfRaMJjIAc8AQTP0QuIEgQEBJm1xIW6VW1n0WjCYyAHPAEEz9ELiA4EBASZtIG6VMFn0WjCUQTP0FeKBAQv4QhAkbYEBASFulVtZ9FkwmMgBzwBBM/RB4oEBAW0XAFggbpIwbY4QIG7y0IBvIcgBAYEBAc8AyeJBcCBulTBZ9FowlEEz9BXiEDRBMACUMNMfAYIQ4p0Pqrry4IGBAQHXANIAAZHUkm0B4llsEoIAziklgQEBJFn0DW+hkjBt327y9BAkgQEBWSBulTBZ9FowlEEz9BXiAn8BXu1E0NQB+GPSAAGOFPQE9ATUAdD0BPQE9AQwEDUQNGwV4DD4KNcLCoMJuvLgids8GgAKbW1tbW1wcwtn"}},"sources":{"examples\\increment.tact":"aW1wb3J0ICJAc3RkbGliL2RlcGxveSI7DQoNCm1lc3NhZ2UgSW5jcmVtZW50IHsNCiAgICBrZXk6IEludDsNCiAgICB2YWx1ZTogSW50Ow0KfQ0KDQptZXNzYWdlIFRvZ2dsZSB7DQogICAga2V5OiBJbnQ7DQp9DQoNCm1lc3NhZ2UgUGVyc2lzdCB7DQogICAga2V5OiBJbnQ7DQogICAgY29udGVudDogQ2VsbD87DQp9DQoNCm1lc3NhZ2UgUmVzZXQgew0KICAgIGtleTogSW50Ow0KfQ0KDQpzdHJ1Y3QgU29tZXRoaW5nIHsNCiAgICB2YWx1ZTogSW50Ow0KfQ0KDQpjb250cmFjdCBJbmNyZW1lbnRDb250cmFjdCB3aXRoIERlcGxveWFibGUgew0KICAgIGNvdW50ZXJzOiBtYXA8SW50LCBJbnQ+Ow0KICAgIGNvdW50ZXJzMjogbWFwPEludCwgQm9vbD47DQogICAgY291bnRlcnMzOiBtYXA8SW50LCBDZWxsPjsNCiAgICBjb3VudGVyczQ6IG1hcDxBZGRyZXNzLCBJbnQ+Ow0KICAgIGNvdW50ZXJzNTogbWFwPEludCwgU29tZXRoaW5nPjsNCg0KICAgIGluaXQoKSB7DQogICAgICAgIC8vIE5vdGhpbmcgdG8gZG8NCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogSW5jcmVtZW50KSB7DQogICAgICAgIHNlbGYuY291bnRlcnMuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuY291bnRlcnM0LnNldChzZW5kZXIoKSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogVG9nZ2xlKSB7DQogICAgICAgIGxldCBleDogQm9vbD8gPSBzZWxmLmNvdW50ZXJzMi5nZXQobXNnLmtleSk7DQogICAgICAgIGlmIChleCA9PSBudWxsKSB7DQogICAgICAgICAgICBzZWxmLmNvdW50ZXJzMi5zZXQobXNnLmtleSwgdHJ1ZSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBzZWxmLmNvdW50ZXJzMi5zZXQobXNnLmtleSwgIShleCEhKSk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogUGVyc2lzdCkgew0KICAgICAgICByZXF1aXJlKHNlbGYuY291bnRlcnMzLmdldChtc2cua2V5KSA9PSBudWxsLCAiRW1wdHkgY291bnRlciIpOw0KICAgICAgICBzZWxmLmNvdW50ZXJzMy5zZXQobXNnLmtleSwgbXNnLmNvbnRlbnQpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBSZXNldCkgew0KICAgICAgICBzZWxmLmNvdW50ZXJzLnNldChtc2cua2V5LCBudWxsKTsNCiAgICAgICAgc2VsZi5jb3VudGVyczIuc2V0KG1zZy5rZXksIG51bGwpOw0KICAgICAgICBzZWxmLmNvdW50ZXJzMy5zZXQobXNnLmtleSwgbnVsbCk7DQogICAgICAgIHNlbGYuY291bnRlcnM0LnNldChzZW5kZXIoKSwgbnVsbCk7DQogICAgICAgIHNlbGYuY291bnRlcnM1LnNldChtc2cua2V5LCBudWxsKTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGNvdW50ZXJzKCk6IG1hcDxJbnQsIEludD4gew0KICAgICAgICByZXR1cm4gc2VsZi5jb3VudGVyczsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGNvdW50ZXJzMigpOiBtYXA8QWRkcmVzcywgSW50PiB7DQogICAgICAgIHJldHVybiBzZWxmLmNvdW50ZXJzNDsNCiAgICB9DQp9"},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/increment.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/increment_IncrementContract.stdlib.fc b/examples/output/increment_IncrementContract.stdlib.fc deleted file mode 100644 index 7e2188e8c..000000000 --- a/examples/output/increment_IncrementContract.stdlib.fc +++ /dev/null @@ -1,160 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(cell, int) __tact_dict_delete(cell dict, int key_len, slice index) asm(index dict key_len) "DICTDEL"; - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -(cell, ()) __tact_dict_set_int_int(cell d, int kl, int k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = idict_delete?(d, kl, k); - return (r, ()); - } else { - return (idict_set_builder(d, kl, k, begin_cell().store_int(v, vl)), ()); - } -} - -int __tact_dict_get_int_int(cell d, int kl, int k, int vl) inline { - var (r, ok) = idict_get?(d, kl, k); - if (ok) { - return r~load_int(vl); - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_int_cell(cell d, int kl, int k, cell v) inline { - if (null?(v)) { - var (r, ok) = idict_delete?(d, kl, k); - return (r, ()); - } else { - return (idict_set_ref(d, kl, k, v), ()); - } -} - -cell __tact_dict_get_int_cell(cell d, int kl, int k) inline { - var (r, ok) = idict_get_ref?(d, kl, k); - if (ok) { - return r; - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_slice_int(cell d, int kl, slice k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = __tact_dict_delete(d, kl, k); - return (r, ()); - } else { - return (dict_set_builder(d, kl, k, begin_cell().store_int(v, vl)), ()); - } -} - -forall X0 -> (X0) __tact_tuple_destroy_1(tuple v) asm "1 UNTUPLE"; - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -((cell, cell, cell, cell, cell), ()) $IncrementContract$_fun_forward((cell, cell, cell, cell, cell) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5)) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5), ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5), ()); -} - -((cell, cell, cell, cell, cell), ()) $IncrementContract$_fun_notify((cell, cell, cell, cell, cell) $self, cell $body) impure inline { - var (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5)) = $self; - ($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5)~$IncrementContract$_fun_forward(__tact_context_get_sender(), $body, false, null()); - return (($self'counters, $self'counters2, $self'counters3, $self'counters4, $self'counters5), ()); -} \ No newline at end of file diff --git a/examples/output/increment_IncrementContract.storage.fc b/examples/output/increment_IncrementContract.storage.fc deleted file mode 100644 index 379d7b4a7..000000000 --- a/examples/output/increment_IncrementContract.storage.fc +++ /dev/null @@ -1,177 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: Deploy -;; Header: 0x946a98b6 -;; TLB: deploy#946a98b6 queryId:uint64 = Deploy -;; - -(slice, ((int))) $Deploy$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2490013878); - var v'queryId = sc_0~load_uint(64); - return (sc_0, (v'queryId)); -} - -;; -;; Type: DeployOk -;; Header: 0xaff90f57 -;; TLB: deploy_ok#aff90f57 queryId:uint64 = DeployOk -;; - -builder $DeployOk$_store(builder build_0, (int) v) inline { - var (v'queryId) = v; - build_0 = store_uint(build_0, 2952335191, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell $DeployOk$_store_cell((int) v) inline { - return $DeployOk$_store(begin_cell(), v).end_cell(); -} - -((int)) $DeployOk$_constructor_queryId(int queryId) inline { - return (queryId); -} - -;; -;; Type: Increment -;; Header: 0x20064f3b -;; TLB: increment#20064f3b key:int257 value:int257 = Increment -;; - -(slice, ((int, int))) $Increment$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 537284411); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(257); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: Toggle -;; Header: 0x4077d4c8 -;; TLB: toggle#4077d4c8 key:int257 = Toggle -;; - -(slice, ((int))) $Toggle$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1081595080); - var v'key = sc_0~load_int(257); - return (sc_0, (v'key)); -} - -;; -;; Type: Persist -;; Header: 0xe29d0faa -;; TLB: persist#e29d0faa key:int257 content:Maybe ^cell = Persist -;; - -(slice, ((int, cell))) $Persist$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 3801943978); - var v'key = sc_0~load_int(257); - var v'content = sc_0~load_int(1) ? sc_0~load_ref() : null(); - return (sc_0, (v'key, v'content)); -} - -;; -;; Type: Reset -;; Header: 0x6668efb2 -;; TLB: reset#6668efb2 key:int257 = Reset -;; - -(slice, ((int))) $Reset$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1718153138); - var v'key = sc_0~load_int(257); - return (sc_0, (v'key)); -} - -;; -;; Type: Something -;; TLB: _ value:int257 = Something -;; - -builder $Something$_store(builder build_0, (int) v) inline { - var (v'value) = v; - build_0 = build_0.store_int(v'value, 257); - return build_0; -} - -cell $Something$_store_cell((int) v) inline { - return $Something$_store(begin_cell(), v).end_cell(); -} - -((int)) $Something$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (int vvv'value) = __tact_tuple_destroy_1(v); - return (vvv'value); -} - -cell $Something$_store_opt(tuple v) inline { - if (null?(v)) { - return null(); - } - return $Something$_store_cell($Something$_not_null(v)); -} - -;; -;; Type: IncrementContract -;; - -builder $IncrementContract$_store(builder build_0, (cell, cell, cell, cell, cell) v) inline { - var (v'counters, v'counters2, v'counters3, v'counters4, v'counters5) = v; - build_0 = build_0.store_dict(v'counters); - build_0 = build_0.store_dict(v'counters2); - var build_1 = begin_cell(); - build_1 = build_1.store_dict(v'counters3); - build_1 = build_1.store_dict(v'counters4); - build_1 = build_1.store_dict(v'counters5); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((cell, cell, cell, cell, cell))) $IncrementContract$_load(slice sc_0) inline { - var v'counters = sc_0~load_dict(); - var v'counters2 = sc_0~load_dict(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'counters3 = sc_1~load_dict(); - var v'counters4 = sc_1~load_dict(); - var v'counters5 = sc_1~load_dict(); - return (sc_0, (v'counters, v'counters2, v'counters3, v'counters4, v'counters5)); -} - -(cell, cell, cell, cell, cell) $IncrementContract$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$IncrementContract$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $IncrementContract$_contract_init(); - } -} - -() $IncrementContract$_contract_store((cell, cell, cell, cell, cell) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $IncrementContract$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/increment_IncrementContract.ts b/examples/output/increment_IncrementContract.ts deleted file mode 100644 index 6f35df130..000000000 --- a/examples/output/increment_IncrementContract.ts +++ /dev/null @@ -1,686 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Deploy = { - $$type: 'Deploy'; - queryId: bigint; -} - -export function storeDeploy(src: Deploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2490013878, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2490013878) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function loadTupleDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function storeTupleDeploy(source: Deploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeploy(src)).endCell()); - }, - parse: (src) => { - return loadDeploy(src.loadRef().beginParse()); - } - } -} - -export type DeployOk = { - $$type: 'DeployOk'; - queryId: bigint; -} - -export function storeDeployOk(src: DeployOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2952335191, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeployOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2952335191) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function loadTupleDeployOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function storeTupleDeployOk(source: DeployOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeployOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeployOk(src)).endCell()); - }, - parse: (src) => { - return loadDeployOk(src.loadRef().beginParse()); - } - } -} - -export type FactoryDeploy = { - $$type: 'FactoryDeploy'; - queryId: bigint; - cashback: Address; -} - -export function storeFactoryDeploy(src: FactoryDeploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1829761339, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.cashback); - }; -} - -export function loadFactoryDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1829761339) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _cashback = sc_0.loadAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function loadTupleFactoryDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _cashback = source.readAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function storeTupleFactoryDeploy(source: FactoryDeploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.cashback); - return builder.build(); -} - -function dictValueParserFactoryDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFactoryDeploy(src)).endCell()); - }, - parse: (src) => { - return loadFactoryDeploy(src.loadRef().beginParse()); - } - } -} - -export type Increment = { - $$type: 'Increment'; - key: bigint; - value: bigint; -} - -export function storeIncrement(src: Increment) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(537284411, 32); - b_0.storeInt(src.key, 257); - b_0.storeInt(src.value, 257); - }; -} - -export function loadIncrement(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 537284411) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadIntBig(257); - return { $$type: 'Increment' as const, key: _key, value: _value }; -} - -function loadTupleIncrement(source: TupleReader) { - let _key = source.readBigNumber(); - let _value = source.readBigNumber(); - return { $$type: 'Increment' as const, key: _key, value: _value }; -} - -function storeTupleIncrement(source: Increment) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserIncrement(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeIncrement(src)).endCell()); - }, - parse: (src) => { - return loadIncrement(src.loadRef().beginParse()); - } - } -} - -export type Toggle = { - $$type: 'Toggle'; - key: bigint; -} - -export function storeToggle(src: Toggle) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1081595080, 32); - b_0.storeInt(src.key, 257); - }; -} - -export function loadToggle(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1081595080) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - return { $$type: 'Toggle' as const, key: _key }; -} - -function loadTupleToggle(source: TupleReader) { - let _key = source.readBigNumber(); - return { $$type: 'Toggle' as const, key: _key }; -} - -function storeTupleToggle(source: Toggle) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - return builder.build(); -} - -function dictValueParserToggle(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeToggle(src)).endCell()); - }, - parse: (src) => { - return loadToggle(src.loadRef().beginParse()); - } - } -} - -export type Persist = { - $$type: 'Persist'; - key: bigint; - content: Cell | null; -} - -export function storePersist(src: Persist) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3801943978, 32); - b_0.storeInt(src.key, 257); - if (src.content !== null && src.content !== undefined) { b_0.storeBit(true).storeRef(src.content); } else { b_0.storeBit(false); } - }; -} - -export function loadPersist(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3801943978) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _content = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'Persist' as const, key: _key, content: _content }; -} - -function loadTuplePersist(source: TupleReader) { - let _key = source.readBigNumber(); - let _content = source.readCellOpt(); - return { $$type: 'Persist' as const, key: _key, content: _content }; -} - -function storeTuplePersist(source: Persist) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeCell(source.content); - return builder.build(); -} - -function dictValueParserPersist(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storePersist(src)).endCell()); - }, - parse: (src) => { - return loadPersist(src.loadRef().beginParse()); - } - } -} - -export type Reset = { - $$type: 'Reset'; - key: bigint; -} - -export function storeReset(src: Reset) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1718153138, 32); - b_0.storeInt(src.key, 257); - }; -} - -export function loadReset(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1718153138) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - return { $$type: 'Reset' as const, key: _key }; -} - -function loadTupleReset(source: TupleReader) { - let _key = source.readBigNumber(); - return { $$type: 'Reset' as const, key: _key }; -} - -function storeTupleReset(source: Reset) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - return builder.build(); -} - -function dictValueParserReset(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeReset(src)).endCell()); - }, - parse: (src) => { - return loadReset(src.loadRef().beginParse()); - } - } -} - -export type Something = { - $$type: 'Something'; - value: bigint; -} - -export function storeSomething(src: Something) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.value, 257); - }; -} - -export function loadSomething(slice: Slice) { - let sc_0 = slice; - let _value = sc_0.loadIntBig(257); - return { $$type: 'Something' as const, value: _value }; -} - -function loadTupleSomething(source: TupleReader) { - let _value = source.readBigNumber(); - return { $$type: 'Something' as const, value: _value }; -} - -function storeTupleSomething(source: Something) { - let builder = new TupleBuilder(); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSomething(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSomething(src)).endCell()); - }, - parse: (src) => { - return loadSomething(src.loadRef().beginParse()); - } - } -} - - type IncrementContract_init_args = { - $$type: 'IncrementContract_init_args'; -} - -function initIncrementContract_init_args(src: IncrementContract_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function IncrementContract_init() { - const __code = Cell.fromBase64('te6ccgECGQEABIoAART/APSkE/S88sgLAQIBYgIDAr7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVFNs88uCCyPhDAcx/AcoAVUBQRfQAEvQAAcj0ABL0ABL0AMkBzMntVBIEAgEgDQ4B9gGSMH/gcCHXScIflTAg1wsf3iCCECAGTzu6jlcw0x8BghAgBk87uvLggYEBAdcAgQEB1wBZbBKBAQEgEDhBgFKAIW6VW1n0WjCYyAHPAEEz9ELigQEL+EIQNEEHgQEBIW6VW1n0WTCYyAHPAEEz9EHiAX/gIIIQQHfUyAUC+LqObTDTHwGCEEB31Mi68uCBgQEB1wABMSSBAQEicUEz9AxvoZQB1wAwkltt4iBujhowFIEBAQF/cSFulVtZ9FowmMgBzwBBM/RC4o4ggQEBASBu8tCAsxA2EnEhbpVbWfRaMJjIAc8AQTP0QuLiA3/gIIIQ4p0PqrrjAiAGBwCUMNMfAYIQ4p0Pqrry4IGBAQHXANIAAZHUkm0B4llsEoIAziklgQEBJFn0DW+hkjBt327y9BAkgQEBWSBulTBZ9FowlEEz9BXiAn8CqoIQZmjvsrqOmDDTHwGCEGZo77K68uCBgQEB1wABMds8f+CCEJRqmLa6jqfTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gMHAICQHSgQEBbVMSEElZIW6VW1n0WjCYyAHPAEEz9ELiBIEBASZtcSFulVtZ9FowmMgBzwBBM/RC4gOBAQEmbSBulTBZ9FowlEEz9BXigQEL+EIQJG2BAQEhbpVbWfRZMJjIAc8AQTP0QeKBAQFtCgE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwLAFggbpIwbY4QIG7y0IBvIcgBAYEBAc8AyeJBcCBulTBZ9FowlEEz9BXiEDRBMAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAMAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAgEgDxACASAVFgIRuvAts82zxsUYEhECEbtAfbPNs8bFGBITAAIhAV7tRNDUAfhj0gABjhT0BPQE1AHQ9AT0BPQEMBA1EDRsFeAw+CjXCwqDCbry4InbPBQAAiQACm1tbW1tAJW7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgCAUgXGAARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1OUzRpTlRNeEhwaHZFWUd2YXBRbVVoSmV2WGR2WWk3WVFXZjZxSnBBWTZRVoIA=='); - const __system = Cell.fromBase64('te6cckECGwEABJQAAQHAAQEFoXRDAgEU/wD0pBP0vPLICwMCAWIPBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtTlM0aU5UTXhIcGh2RVlHdmFwUW1VaEpldlhkdllpN1lRV2Y2cUpwQVk2UVaCAAEbCvu1E0NIAAYACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgEgDQsCEbtAfbPNs8bFGBkMAAIkAhG68C2zzbPGxRgZDgACIQK+0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRTbPPLggsj4QwHMfwHKAFVAUEX0ABL0AAHI9AAS9AAS9ADJAczJ7VQZEAH2AZIwf+BwIddJwh+VMCDXCx/eIIIQIAZPO7qOVzDTHwGCECAGTzu68uCBgQEB1wCBAQHXAFlsEoEBASAQOEGAUoAhbpVbWfRaMJjIAc8AQTP0QuKBAQv4QhA0QQeBAQEhbpVbWfRZMJjIAc8AQTP0QeIBf+AgghBAd9TIEQL4uo5tMNMfAYIQQHfUyLry4IGBAQHXAAExJIEBASJxQTP0DG+hlAHXADCSW23iIG6OGjAUgQEBAX9xIW6VW1n0WjCYyAHPAEEz9ELijiCBAQEBIG7y0ICzEDYScSFulVtZ9FowmMgBzwBBM/RC4uIDf+AgghDinQ+quuMCIBgSAqqCEGZo77K6jpgw0x8BghBmaO+yuvLggYEBAdcAATHbPH/gghCUapi2uo6n0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4DBwFhMBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8FAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAVAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAdKBAQFtUxIQSVkhbpVbWfRaMJjIAc8AQTP0QuIEgQEBJm1xIW6VW1n0WjCYyAHPAEEz9ELiA4EBASZtIG6VMFn0WjCUQTP0FeKBAQv4QhAkbYEBASFulVtZ9FkwmMgBzwBBM/RB4oEBAW0XAFggbpIwbY4QIG7y0IBvIcgBAYEBAc8AyeJBcCBulTBZ9FowlEEz9BXiEDRBMACUMNMfAYIQ4p0Pqrry4IGBAQHXANIAAZHUkm0B4llsEoIAziklgQEBJFn0DW+hkjBt327y9BAkgQEBWSBulTBZ9FowlEEz9BXiAn8BXu1E0NQB+GPSAAGOFPQE9ATUAdD0BPQE9AQwEDUQNGwV4DD4KNcLCoMJuvLgids8GgAKbW1tbW1wcwtn'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initIncrementContract_init_args({ $$type: 'IncrementContract_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const IncrementContract_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 52777: { message: `Empty counter` }, -} - -const IncrementContract_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"Increment","header":537284411,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"Toggle","header":1081595080,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"Persist","header":3801943978,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"content","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Reset","header":1718153138,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"Something","header":null,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const IncrementContract_getters: ABIGetter[] = [ - {"name":"counters","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int"}}, - {"name":"counters2","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int"}}, -] - -const IncrementContract_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"Increment"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Toggle"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Persist"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Reset"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}, -] - -export class IncrementContract implements Contract { - - static async init() { - return await IncrementContract_init(); - } - - static async fromInit() { - const init = await IncrementContract_init(); - const address = contractAddress(0, init); - return new IncrementContract(address, init); - } - - static fromAddress(address: Address) { - return new IncrementContract(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: IncrementContract_types, - getters: IncrementContract_getters, - receivers: IncrementContract_receivers, - errors: IncrementContract_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: Increment | Toggle | Persist | Reset | Deploy) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Increment') { - body = beginCell().store(storeIncrement(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Toggle') { - body = beginCell().store(storeToggle(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Persist') { - body = beginCell().store(storePersist(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Reset') { - body = beginCell().store(storeReset(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Deploy') { - body = beginCell().store(storeDeploy(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getCounters(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('counters', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getCounters2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('counters2', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - -} \ No newline at end of file diff --git a/examples/output/inheritance_Contract.abi b/examples/output/inheritance_Contract.abi deleted file mode 100644 index 6cf3454a1..000000000 --- a/examples/output/inheritance_Contract.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Contract","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}],"receivers":[],"getters":[{"name":"ex","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"ex2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"const1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"const2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"const3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"const4","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"const5","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/examples/output/inheritance_Contract.code.boc b/examples/output/inheritance_Contract.code.boc deleted file mode 100644 index ef79fe370..000000000 Binary files a/examples/output/inheritance_Contract.code.boc and /dev/null differ diff --git a/examples/output/inheritance_Contract.code.boc.html b/examples/output/inheritance_Contract.code.boc.html deleted file mode 100644 index 6fb39666a..000000000 --- a/examples/output/inheritance_Contract.code.boc.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_68416;
-            ..DECLPROC ?fun_75079;
-            ..DECLPROC ?fun_79206;
-            ..DECLPROC ?fun_83329;
-            ..DECLPROC ?fun_87456;
-            ..DECLPROC ?fun_95714;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_124794;
-            ..DECLPROC ?fun_ref_1cc787db9c1e0f16;
-            ..DECLPROC ?fun_ref_2c1b7ae468dafd22;
-            ..DECLPROC ?fun_ref_3580399fc8677d35;
-            ..DECLPROC ?fun_ref_619f4a253609ef96;
-            ..DECLPROC ?fun_ref_7c69992af38ea311;
-            ..DECLPROC ?fun_ref_831adf13f1e0bf2f;
-            ..DECLPROC ?fun_ref_877e2d515fc9af8e;
-            ..DECLPROC ?fun_ref_a05e0042bce184fb;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            ..DECLPROC ?fun_ref_c7cba78124f0aa01;
-            ..DECLPROC ?fun_ref_d31b4aed7a42e751;
-            ..DECLPROC ?fun_ref_d816dc4ba685aed0;
-            ..DECLPROC ?fun_ref_e859ebc7a631e9ec;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....ROTREV
-            ....?fun_ref_d31b4aed7a42e751 INLINECALLDICT
-            ....130 THROWIFNOT
-            ....s0 POP
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..?fun_68416 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_877e2d515fc9af8e INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_75079 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_2c1b7ae468dafd22 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_79206 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_619f4a253609ef96 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_83329 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_831adf13f1e0bf2f INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_87456 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_3580399fc8677d35 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_95714 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_c7cba78124f0aa01 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D63357143427239716A47506377364B6154374C5343637865636B57333551336779544554577136594C56505282_} PUSHSLICE
-            ..}>
-            ..?fun_124794 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_1cc787db9c1e0f16 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_ref_1cc787db9c1e0f16 PROCREF:<{
-            ....s0 PUSH
-            ....?fun_ref_7c69992af38ea311 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_ref_2c1b7ae468dafd22 PROCREF:<{
-            ....40 PUSHINT
-            ..}>
-            ..?fun_ref_3580399fc8677d35 PROCREF:<{
-            ....30 PUSHINT
-            ..}>
-            ..?fun_ref_619f4a253609ef96 PROCREF:<{
-            ....s0 PUSH
-            ....?fun_ref_e859ebc7a631e9ec INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_ref_7c69992af38ea311 PROCREF:<{
-            ....1000 PUSHINT
-            ..}>
-            ..?fun_ref_831adf13f1e0bf2f PROCREF:<{
-            ....20 PUSHINT
-            ..}>
-            ..?fun_ref_877e2d515fc9af8e PROCREF:<{
-            ....s0 PUSH
-            ....?fun_ref_d816dc4ba685aed0 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            x344..?fun_ref_a05e0042bce184fb PROCREF:<{
-            26x344....c4 PUSH
-            118x344....CTOS
-            18x344....LDREF
-            18x344....s0 s1 XCHG
-            30x344....3 SETGLOBVAR
-            26x344....1 LDI
-            18x344....s0 POP
-            18x344....<{
-            18x273......NULL
-            18x344....}> PUSHCONT
-            18x344....IFJMP
-            26x71....MYADDR
-            34x71....11 PLDU
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....137 THROWIFNOT
-            126x71....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x344..}>
-            x80..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x80....NULL
-            x80..}>
-            ..?fun_ref_c7cba78124f0aa01 PROCREF:<{
-            ....10 PUSHINT
-            ..}>
-            ..?fun_ref_d31b4aed7a42e751 PROCREF:<{
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....SBITS
-            ....s1 POP
-            ....31 GTINT
-            ....s0 POP
-            ....0 PUSHINT
-            ..}>
-            ..?fun_ref_d816dc4ba685aed0 PROCREF:<{
-            ....2 PUSHINT
-            ..}>
-            ..?fun_ref_e859ebc7a631e9ec PROCREF:<{
-            ....50 PUSHINT
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/inheritance_Contract.code.fc b/examples/output/inheritance_Contract.code.fc deleted file mode 100644 index 618091f9a..000000000 --- a/examples/output/inheritance_Contract.code.fc +++ /dev/null @@ -1,176 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "inheritance_Contract.headers.fc"; -#include "inheritance_Contract.stdlib.fc"; -#include "inheritance_Contract.storage.fc"; - -;; -;; Contract Contract functions -;; - -tuple $Contract$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -(tuple, int) $Contract$_fun_executeAbs(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 1000); -} - -(tuple, int) $Contract$_fun_execute(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 2); -} - -(tuple, int) $Contract$_fun_ex(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, $self~$Contract$_fun_execute()); -} - -(tuple, int) $Contract$_fun_ex2(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, $self~$Contract$_fun_executeAbs()); -} - -(tuple, int) $Contract$_fun_const1(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 10); -} - -(tuple, int) $Contract$_fun_const2(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 20); -} - -(tuple, int) $Contract$_fun_const3(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 30); -} - -(tuple, int) $Contract$_fun_const4(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 40); -} - -(tuple, int) $Contract$_fun_loadC2(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 50); -} - -(tuple, int) $Contract$_fun_const5(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, $self~$Contract$_fun_loadC2()); -} - -;; -;; Receivers of a Contract Contract -;; - -;; -;; Get methods of a Contract Contract -;; - -_ %ex() method_id(68416) { - var self = $Contract$_contract_load(); - var res = self~$Contract$_fun_ex(); - return res; -} - -_ %ex2() method_id(124794) { - var self = $Contract$_contract_load(); - var res = self~$Contract$_fun_ex2(); - return res; -} - -_ %const1() method_id(95714) { - var self = $Contract$_contract_load(); - var res = self~$Contract$_fun_const1(); - return res; -} - -_ %const2() method_id(83329) { - var self = $Contract$_contract_load(); - var res = self~$Contract$_fun_const2(); - return res; -} - -_ %const3() method_id(87456) { - var self = $Contract$_contract_load(); - var res = self~$Contract$_fun_const3(); - return res; -} - -_ %const4() method_id(75079) { - var self = $Contract$_contract_load(); - var res = self~$Contract$_fun_const4(); - return res; -} - -_ %const5() method_id(79206) { - var self = $Contract$_contract_load(); - var res = self~$Contract$_fun_const5(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://Qmc5qCBr9qjGPcw6KaT7LSCcxeckW35Q3gyTETWq6YLVPR"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Contract -;; - -(tuple, int) $Contract$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Contract$_contract_load(); - - ;; Handle operation - int handled = self~$Contract$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Contract$_contract_store(self); -} diff --git a/examples/output/inheritance_Contract.code.fif b/examples/output/inheritance_Contract.code.fif deleted file mode 100644 index 2cfdf8399..000000000 --- a/examples/output/inheritance_Contract.code.fif +++ /dev/null @@ -1,205 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Contract$_contract_init - DECLPROC $Contract$_contract_load - DECLPROC $Contract$_contract_store - DECLPROC $Contract$_fun_executeAbs - DECLPROC $Contract$_fun_execute - DECLPROC $Contract$_fun_ex - DECLPROC $Contract$_fun_ex2 - DECLPROC $Contract$_fun_const1 - DECLPROC $Contract$_fun_const2 - DECLPROC $Contract$_fun_const3 - DECLPROC $Contract$_fun_const4 - DECLPROC $Contract$_fun_loadC2 - DECLPROC $Contract$_fun_const5 - 68416 DECLMETHOD %ex - 124794 DECLMETHOD %ex2 - 95714 DECLMETHOD %const1 - 83329 DECLMETHOD %const2 - 87456 DECLMETHOD %const3 - 75079 DECLMETHOD %const4 - 79206 DECLMETHOD %const5 - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Contract$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $Contract$_contract_init PROCREF:<{ - PUSHNULL - }> - $Contract$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Contract$_contract_init INLINECALLDICT - }> - $Contract$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $Contract$_fun_executeAbs PROCREF:<{ - 1000 PUSHINT - }> - $Contract$_fun_execute PROCREF:<{ - 2 PUSHINT - }> - $Contract$_fun_ex PROCREF:<{ - DUP - $Contract$_fun_execute INLINECALLDICT - NIP - }> - $Contract$_fun_ex2 PROCREF:<{ - DUP - $Contract$_fun_executeAbs INLINECALLDICT - NIP - }> - $Contract$_fun_const1 PROCREF:<{ - 10 PUSHINT - }> - $Contract$_fun_const2 PROCREF:<{ - 20 PUSHINT - }> - $Contract$_fun_const3 PROCREF:<{ - 30 PUSHINT - }> - $Contract$_fun_const4 PROCREF:<{ - 40 PUSHINT - }> - $Contract$_fun_loadC2 PROCREF:<{ - 50 PUSHINT - }> - $Contract$_fun_const5 PROCREF:<{ - DUP - $Contract$_fun_loadC2 INLINECALLDICT - NIP - }> - %ex PROC:<{ - $Contract$_contract_load INLINECALLDICT - $Contract$_fun_ex INLINECALLDICT - NIP - }> - %ex2 PROC:<{ - $Contract$_contract_load INLINECALLDICT - $Contract$_fun_ex2 INLINECALLDICT - NIP - }> - %const1 PROC:<{ - $Contract$_contract_load INLINECALLDICT - $Contract$_fun_const1 INLINECALLDICT - NIP - }> - %const2 PROC:<{ - $Contract$_contract_load INLINECALLDICT - $Contract$_fun_const2 INLINECALLDICT - NIP - }> - %const3 PROC:<{ - $Contract$_contract_load INLINECALLDICT - $Contract$_fun_const3 INLINECALLDICT - NIP - }> - %const4 PROC:<{ - $Contract$_contract_load INLINECALLDICT - $Contract$_fun_const4 INLINECALLDICT - NIP - }> - %const5 PROC:<{ - $Contract$_contract_load INLINECALLDICT - $Contract$_fun_const5 INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d63357143427239716a47506377364b6154374c5343637865636b57333551336779544554577136594c565052} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Contract$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - DUP - SBITS - NIP - 31 GTINT - IF:<{ - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Contract$_contract_load INLINECALLDICT - -ROT - $Contract$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Contract$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/inheritance_Contract.code.rev.fif b/examples/output/inheritance_Contract.code.rev.fif deleted file mode 100644 index e8f8293cf..000000000 --- a/examples/output/inheritance_Contract.code.rev.fif +++ /dev/null @@ -1,194 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_68416; - DECLPROC ?fun_75079; - DECLPROC ?fun_79206; - DECLPROC ?fun_83329; - DECLPROC ?fun_87456; - DECLPROC ?fun_95714; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_124794; - DECLPROC ?fun_ref_1cc787db9c1e0f16; - DECLPROC ?fun_ref_2c1b7ae468dafd22; - DECLPROC ?fun_ref_3580399fc8677d35; - DECLPROC ?fun_ref_619f4a253609ef96; - DECLPROC ?fun_ref_7c69992af38ea311; - DECLPROC ?fun_ref_831adf13f1e0bf2f; - DECLPROC ?fun_ref_877e2d515fc9af8e; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_c7cba78124f0aa01; - DECLPROC ?fun_ref_d31b4aed7a42e751; - DECLPROC ?fun_ref_d816dc4ba685aed0; - DECLPROC ?fun_ref_e859ebc7a631e9ec; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_d31b4aed7a42e751 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_68416 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_877e2d515fc9af8e INLINECALLDICT - s1 POP - }> - ?fun_75079 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_2c1b7ae468dafd22 INLINECALLDICT - s1 POP - }> - ?fun_79206 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_619f4a253609ef96 INLINECALLDICT - s1 POP - }> - ?fun_83329 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_831adf13f1e0bf2f INLINECALLDICT - s1 POP - }> - ?fun_87456 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_3580399fc8677d35 INLINECALLDICT - s1 POP - }> - ?fun_95714 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_c7cba78124f0aa01 INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D63357143427239716A47506377364B6154374C5343637865636B57333551336779544554577136594C56505282_} PUSHSLICE - }> - ?fun_124794 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_1cc787db9c1e0f16 INLINECALLDICT - s1 POP - }> - ?fun_ref_1cc787db9c1e0f16 PROCREF:<{ - s0 PUSH - ?fun_ref_7c69992af38ea311 INLINECALLDICT - s1 POP - }> - ?fun_ref_2c1b7ae468dafd22 PROCREF:<{ - 40 PUSHINT - }> - ?fun_ref_3580399fc8677d35 PROCREF:<{ - 30 PUSHINT - }> - ?fun_ref_619f4a253609ef96 PROCREF:<{ - s0 PUSH - ?fun_ref_e859ebc7a631e9ec INLINECALLDICT - s1 POP - }> - ?fun_ref_7c69992af38ea311 PROCREF:<{ - 1000 PUSHINT - }> - ?fun_ref_831adf13f1e0bf2f PROCREF:<{ - 20 PUSHINT - }> - ?fun_ref_877e2d515fc9af8e PROCREF:<{ - s0 PUSH - ?fun_ref_d816dc4ba685aed0 INLINECALLDICT - s1 POP - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_c7cba78124f0aa01 PROCREF:<{ - 10 PUSHINT - }> - ?fun_ref_d31b4aed7a42e751 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - SBITS - s1 POP - 31 GTINT - s0 POP - 0 PUSHINT - }> - ?fun_ref_d816dc4ba685aed0 PROCREF:<{ - 2 PUSHINT - }> - ?fun_ref_e859ebc7a631e9ec PROCREF:<{ - 50 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/examples/output/inheritance_Contract.headers.fc b/examples/output/inheritance_Contract.headers.fc deleted file mode 100644 index 89b38d010..000000000 --- a/examples/output/inheritance_Contract.headers.fc +++ /dev/null @@ -1,46 +0,0 @@ -;; -;; Header files for Contract -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Contract$_contract_init -tuple $Contract$_contract_init() impure inline_ref; - -;; $Contract$_contract_load -tuple $Contract$_contract_load() impure inline_ref; - -;; $Contract$_contract_store -() $Contract$_contract_store(tuple v) impure inline; - -;; $Contract$_fun_executeAbs -(tuple, int) $Contract$_fun_executeAbs(tuple $self) impure inline_ref; - -;; $Contract$_fun_execute -(tuple, int) $Contract$_fun_execute(tuple $self) impure inline_ref; - -;; $Contract$_fun_ex -(tuple, int) $Contract$_fun_ex(tuple $self) impure inline_ref; - -;; $Contract$_fun_ex2 -(tuple, int) $Contract$_fun_ex2(tuple $self) impure inline_ref; - -;; $Contract$_fun_const1 -(tuple, int) $Contract$_fun_const1(tuple $self) impure inline_ref; - -;; $Contract$_fun_const2 -(tuple, int) $Contract$_fun_const2(tuple $self) impure inline_ref; - -;; $Contract$_fun_const3 -(tuple, int) $Contract$_fun_const3(tuple $self) impure inline_ref; - -;; $Contract$_fun_const4 -(tuple, int) $Contract$_fun_const4(tuple $self) impure inline_ref; - -;; $Contract$_fun_loadC2 -(tuple, int) $Contract$_fun_loadC2(tuple $self) impure inline_ref; - -;; $Contract$_fun_const5 -(tuple, int) $Contract$_fun_const5(tuple $self) impure inline_ref; diff --git a/examples/output/inheritance_Contract.md b/examples/output/inheritance_Contract.md deleted file mode 100644 index f36a813d2..000000000 --- a/examples/output/inheritance_Contract.md +++ /dev/null @@ -1,61 +0,0 @@ -# TACT Compilation Report -Contract: Contract -BOC Size: 480 bytes - -# Types -Total Types: 3 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -# Get Methods -Total Get Methods: 7 - -## ex - -## ex2 - -## const1 - -## const2 - -## const3 - -## const4 - -## const5 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/examples/output/inheritance_Contract.pkg b/examples/output/inheritance_Contract.pkg deleted file mode 100644 index acc380b54..000000000 --- a/examples/output/inheritance_Contract.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Contract","code":"te6ccgECIwEAAdQAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UHwQCASAFBgAaAZIwf+Ag10kxwh8wcAIBIAcIAgEgGRoCASAJCgIBIBITAg+1aBtnm2eGMB8LAgEgDQ4BCCDbPDEMAAJyAg+xUfbPNs8MYB8PAg+xWbbPNs8MYB8QAASAKAEIINs8MREABIAyAgEgFBUCD7a8W2ebZ4YwHxgCD7Fgds82zwxgHxYCD7FoNs82zwxgHxcABIAUAASAHgACegCVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgEgGxwCASAdHgIPtO9bZ5tnhjAfIAARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1jNXFDQnI5cWpHUGN3NkthVDdMU0NjeGVja1czNVEzZ3lURVRXcTZZTFZQUoIAE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwhAQgg2zwxIgACbQAGgQPo","abi":"{\"name\":\"Contract\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]}],\"receivers\":[],\"getters\":[{\"name\":\"ex\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"ex2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"const1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"const2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"const3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"const4\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"const5\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECJQEAAd4AAQHAAQEFoF6DAgEU/wD0pBP0vPLICwMCAWIhBAIBIA4FAgEgDQYCASAKBwIPtO9bZ5tnhjAjCAEIINs8MQkABoED6AIBIAwLAHWybuNDVpcGZzOi8vUW1jNXFDQnI5cWpHUGN3NkthVDdMU0NjeGVja1czNVEzZ3lURVRXcTZZTFZQUoIAARsK+7UTQ0gABgAJW7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgCASAXDwIBIBIQAg+2vFtnm2eGMCMRAAJ6AgEgFRMCD7FoNs82zwxgIxQABIAeAg+xYHbPNs8MYCMWAASAFAIBIB4YAgEgHBkCD7FZts82zwxgIxoBCCDbPDEbAASAMgIPsVH2zzbPDGAjHQAEgCgCD7VoG2ebZ4YwIx8BCCDbPDEgAAJyApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UIyIAGgGSMH/gINdJMcIfMHABNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8JAACbbFzl8c="}},"sources":{"examples\\inheritance.tact":"dHJhaXQgVmlydHVhbFRyYWl0IHsNCg0KICAgIGNvbnN0IGI6IEludCA9IDIwOw0KDQogICAgdmlydHVhbCBjb25zdCBiMjogSW50ID0gNDA7DQoNCiAgICB2aXJ0dWFsIGZ1biBleGVjdXRlKCk6IEludCB7DQogICAgICAgIHJldHVybiAwOw0KICAgIH0NCn0NCg0KdHJhaXQgQWJzdHJhY3RUcmFpdCB7DQoNCiAgICBjb25zdCBjOiBJbnQgPSAzMDsNCg0KICAgIGFic3RyYWN0IGNvbnN0IGMyOiBJbnQ7DQoNCiAgICBhYnN0cmFjdCBmdW4gZXhlY3V0ZUFicygpOiBJbnQ7DQoNCiAgICBmdW4gbG9hZEMyKCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLmMyOw0KICAgIH0NCn0NCg0KY29udHJhY3QgQ29udHJhY3Qgd2l0aCBWaXJ0dWFsVHJhaXQsIEFic3RyYWN0VHJhaXQgew0KDQogICAgY29uc3QgYTogSW50ID0gMTA7DQoNCiAgICBvdmVycmlkZSBjb25zdCBjMjogSW50ID0gNTA7DQoNCiAgICBpbml0KCkge30NCiAgICANCiAgICBvdmVycmlkZSBmdW4gZXhlY3V0ZUFicygpOiBJbnQgew0KICAgICAgICByZXR1cm4gMTAwMDsNCiAgICB9DQoNCiAgICBvdmVycmlkZSBmdW4gZXhlY3V0ZSgpOiBJbnQgew0KICAgICAgICByZXR1cm4gMjsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGV4KCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLmV4ZWN1dGUoKTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGV4MigpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2VsZi5leGVjdXRlQWJzKCk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBjb25zdDEoKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGNvbnN0MigpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2VsZi5iOw0KICAgIH0NCg0KICAgIGdldCBmdW4gY29uc3QzKCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLmM7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBjb25zdDQoKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYjI7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBjb25zdDUoKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHNlbGYubG9hZEMyKCk7DQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/inheritance.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/inheritance_Contract.stdlib.fc b/examples/output/inheritance_Contract.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/examples/output/inheritance_Contract.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/examples/output/inheritance_Contract.storage.fc b/examples/output/inheritance_Contract.storage.fc deleted file mode 100644 index d69aaa975..000000000 --- a/examples/output/inheritance_Contract.storage.fc +++ /dev/null @@ -1,23 +0,0 @@ -;; -;; Type: Contract -;; - -tuple $Contract$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $Contract$_contract_init(); - } -} - -() $Contract$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/inheritance_Contract.ts b/examples/output/inheritance_Contract.ts deleted file mode 100644 index ff8c23eec..000000000 --- a/examples/output/inheritance_Contract.ts +++ /dev/null @@ -1,339 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - - type Contract_init_args = { - $$type: 'Contract_init_args'; -} - -function initContract_init_args(src: Contract_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function Contract_init() { - const __code = Cell.fromBase64('te6ccgECIwEAAdQAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UHwQCASAFBgAaAZIwf+Ag10kxwh8wcAIBIAcIAgEgGRoCASAJCgIBIBITAg+1aBtnm2eGMB8LAgEgDQ4BCCDbPDEMAAJyAg+xUfbPNs8MYB8PAg+xWbbPNs8MYB8QAASAKAEIINs8MREABIAyAgEgFBUCD7a8W2ebZ4YwHxgCD7Fgds82zwxgHxYCD7FoNs82zwxgHxcABIAUAASAHgACegCVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgEgGxwCASAdHgIPtO9bZ5tnhjAfIAARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1jNXFDQnI5cWpHUGN3NkthVDdMU0NjeGVja1czNVEzZ3lURVRXcTZZTFZQUoIAE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwhAQgg2zwxIgACbQAGgQPo'); - const __system = Cell.fromBase64('te6cckECJQEAAd4AAQHAAQEFoF6DAgEU/wD0pBP0vPLICwMCAWIhBAIBIA4FAgEgDQYCASAKBwIPtO9bZ5tnhjAjCAEIINs8MQkABoED6AIBIAwLAHWybuNDVpcGZzOi8vUW1jNXFDQnI5cWpHUGN3NkthVDdMU0NjeGVja1czNVEzZ3lURVRXcTZZTFZQUoIAARsK+7UTQ0gABgAJW7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgCASAXDwIBIBIQAg+2vFtnm2eGMCMRAAJ6AgEgFRMCD7FoNs82zwxgIxQABIAeAg+xYHbPNs8MYCMWAASAFAIBIB4YAgEgHBkCD7FZts82zwxgIxoBCCDbPDEbAASAMgIPsVH2zzbPDGAjHQAEgCgCD7VoG2ebZ4YwIx8BCCDbPDEgAAJyApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UIyIAGgGSMH/gINdJMcIfMHABNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8JAACbbFzl8c='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initContract_init_args({ $$type: 'Contract_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Contract_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const Contract_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, -] - -const Contract_getters: ABIGetter[] = [ - {"name":"ex","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"ex2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"const1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"const2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"const3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"const4","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"const5","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const Contract_receivers: ABIReceiver[] = [ -] - -export class Contract implements Contract { - - static async init() { - return await Contract_init(); - } - - static async fromInit() { - const init = await Contract_init(); - const address = contractAddress(0, init); - return new Contract(address, init); - } - - static fromAddress(address: Address) { - return new Contract(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Contract_types, - getters: Contract_getters, - receivers: Contract_receivers, - errors: Contract_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async getEx(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('ex', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getEx2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('ex2', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getConst1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('const1', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getConst2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('const2', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getConst3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('const3', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getConst4(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('const4', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getConst5(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('const5', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/examples/output/large_Large.abi b/examples/output/large_Large.abi deleted file mode 100644 index 05a1485af..000000000 --- a/examples/output/large_Large.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Large","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}],"receivers":[],"getters":[],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/examples/output/large_Large.code.boc b/examples/output/large_Large.code.boc deleted file mode 100644 index eea604a54..000000000 Binary files a/examples/output/large_Large.code.boc and /dev/null differ diff --git a/examples/output/large_Large.code.boc.html b/examples/output/large_Large.code.boc.html deleted file mode 100644 index 2fcb2d30d..000000000 --- a/examples/output/large_Large.code.boc.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_aa862b2cb6b23a19;
-            ..DECLPROC ?fun_ref_d31b4aed7a42e751;
-            ..DECLPROC ?fun_ref_dd92c7f58bf2702e;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_aa862b2cb6b23a19 INLINECALLDICT
-            ....2 4 BLKSWAP
-            ....?fun_ref_d31b4aed7a42e751 INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....4 1 BLKSWAP
-            ....s3 s4 XCHG2
-            ....STREF
-            ....STREF
-            ....s0 s1 XCHG
-            ....NEWC
-            ....STREF
-            ....s1 s2 XCHG
-            ....STREF
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D57326F6E68364A69617766553847475946446B534B445936473347574C594B65444D35315853465636724B3582_} PUSHSLICE
-            ..}>
-            ..?fun_ref_aa862b2cb6b23a19 PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDREF
-            ......LDREF
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......LDREF
-            ......LDREF
-            ......s0 POP
-            ......s2 s4 XCHG
-            ......s2 s3 XCHG
-            ......1 4 BLKDROP2
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 POP
-            ....MYADDR
-            ....11 PLDU
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....137 THROWIFNOT
-            ....?fun_ref_dd92c7f58bf2702e INLINECALLDICT
-            ..}>
-            ..?fun_ref_d31b4aed7a42e751 PROCREF:<{
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....SBITS
-            ....s1 POP
-            ....31 GTINT
-            ....s0 POP
-            ....0 PUSHINT
-            ..}>
-            ..?fun_ref_dd92c7f58bf2702e PROCREF:<{
-            ....x{000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-             x{000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-              x{000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-               x{000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                x{000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                 x{000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                  x{000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                   x{000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                    x{000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                     x{000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                      x{000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                       x{000000000000000000000000000000000000000000000000000000000000000B00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                        x{000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                         x{000000000000000000000000000000000000000000000000000000000000000D00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                          x{000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                           x{000000000000000000000000000000000000000000000000000000000000000F00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                            x{000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                             x{000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                              x{000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                               x{000000000000000000000000000000000000000000000000000000000000001300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                                x{000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} PUSHREF
-            ....x{000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-             x{000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-              x{000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-               x{000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                x{000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                 x{000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                  x{000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                   x{000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                    x{000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                     x{000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                      x{000000000000000000000000000000000000000000000000000000000000000B00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                       x{000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                        x{000000000000000000000000000000000000000000000000000000000000000D00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                         x{000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                          x{000000000000000000000000000000000000000000000000000000000000000F00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                           x{000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                            x{000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                             x{000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                              x{000000000000000000000000000000000000000000000000000000000000001300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                               x{000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                                x{000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} PUSHREF
-            ....x{000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-             x{000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-              x{000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-               x{000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                x{000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                 x{000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                  x{000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                   x{000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                    x{000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                     x{000000000000000000000000000000000000000000000000000000000000000B00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                      x{000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                       x{000000000000000000000000000000000000000000000000000000000000000D00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                        x{000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                         x{000000000000000000000000000000000000000000000000000000000000000F00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                          x{000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                           x{000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                            x{000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                             x{000000000000000000000000000000000000000000000000000000000000001300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                              x{000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                               x{000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                                x{000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} PUSHREF
-            ....x{000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-             x{000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-              x{000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-               x{000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                x{000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                 x{000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                  x{000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                   x{000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                    x{000000000000000000000000000000000000000000000000000000000000000B00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                     x{000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                      x{000000000000000000000000000000000000000000000000000000000000000D00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                       x{000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                        x{000000000000000000000000000000000000000000000000000000000000000F00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                         x{000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                          x{000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                           x{000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                            x{000000000000000000000000000000000000000000000000000000000000001300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                             x{000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                              x{000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                               x{000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000}
-                                x{000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} PUSHREF
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/large_Large.code.fc b/examples/output/large_Large.code.fc deleted file mode 100644 index 3089ff8dc..000000000 --- a/examples/output/large_Large.code.fc +++ /dev/null @@ -1,85 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "large_Large.headers.fc"; -#include "large_Large.stdlib.fc"; -#include "large_Large.constants.fc"; -#include "large_Large.storage.fc"; - -;; -;; Contract Large functions -;; - -(cell, cell, cell, cell) $Large$_contract_init() impure inline_ref { - var (($self'cell1, $self'cell2, $self'cell3, $self'cell4)) = (__gen_cell_cell_1a028cccfdce37fa38acc68cb1824bfc64d3e0c250de39f381d40e0ab1d5bf93(), __gen_cell_cell_8c91d2cb30a59176d5f4d71521469fdf65e8078136026cc79623aa9cfe22013c(), __gen_cell_cell_31c99d25866a6b12f8f377ae17fa9d6803535f07f0e0e052fe2f016b9e9fa839(), __gen_cell_cell_001f65cdb7a3a2e0613601520ce3d65b14f08d94e33451ecd9f4dd3be61b65af()); - return ($self'cell1, $self'cell2, $self'cell3, $self'cell4); -} - -;; -;; Receivers of a Contract Large -;; - -;; -;; Get methods of a Contract Large -;; - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmW2onh6JiawfU8GGYFDkSKDY6G3GWLYKeDM51XSFV6rK5"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Large -;; - -((cell, cell, cell, cell), int) $Large$_contract_router_internal((cell, cell, cell, cell) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Large$_contract_load(); - - ;; Handle operation - int handled = self~$Large$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Large$_contract_store(self); -} diff --git a/examples/output/large_Large.code.fif b/examples/output/large_Large.code.fif deleted file mode 100644 index a886c4494..000000000 --- a/examples/output/large_Large.code.fif +++ /dev/null @@ -1,150 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Large$_store - DECLPROC $Large$_load - DECLPROC $Large$_contract_init - DECLPROC $Large$_contract_load - DECLPROC $Large$_contract_store - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Large$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $Large$_store PROCINLINE:<{ - s3 s4 XCHG2 - STREF - STREF - SWAP - NEWC - STREF - s1 s2 XCHG - STREF - ENDC - SWAP - STREF - }> - $Large$_load PROCINLINE:<{ - LDREF - LDREF - LDREF - SWAP - CTOS - LDREF - LDREF - DROP - s2 s4 XCHG - s2 s3 XCHG - }> - $Large$_contract_init PROCREF:<{ - B{b5ee9c724102150100081e0001c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000201c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000301c00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000401c00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000501c00000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000601c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000701c00000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000801c00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000901c00000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000a01c0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000b01c0000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000c01c0000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d01c0000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000e01c0000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f01c0000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001001c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001101c00000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001201c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001301c00000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001400c00000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000002ed9297d} B>boc PUSHREF - B{b5ee9c724102150100081e0001c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000201c00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000301c00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000401c00000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000501c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000601c00000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000701c00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000801c00000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000901c0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000a01c0000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000b01c0000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000c01c0000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d01c0000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000e01c0000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f01c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001001c00000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001101c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001201c00000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001301c00000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001400c0000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000b71fb1ac} B>boc PUSHREF - B{b5ee9c724102150100081e0001c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101c00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000201c00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000301c00000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000401c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000501c00000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000601c00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000701c00000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000801c0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000901c0000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000a01c0000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000b01c0000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000c01c0000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d01c0000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000e01c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f01c00000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001001c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001101c00000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001201c00000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001301c00000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001400c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000065b68004} B>boc PUSHREF - B{b5ee9c724102150100081e0001c00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101c00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000201c00000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000301c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000401c00000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000501c00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000601c00000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000701c0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000801c0000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000901c0000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000a01c0000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000b01c0000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000c01c0000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d01c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000e01c00000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f01c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001001c00000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001101c00000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001201c00000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001301c00000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001400c0000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000c4dca27c} B>boc PUSHREF - }> - $Large$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Large$_load INLINECALLDICT - 1 4 BLKDROP2 - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Large$_contract_init INLINECALLDICT - }> - $Large$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 4 -ROLL - $Large$_store INLINECALLDICT - ENDC - c4 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d57326f6e68364a69617766553847475946446b534b445936473347574c594b65444d35315853465636724b35} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Large$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - DUP - SBITS - NIP - 31 GTINT - IF:<{ - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Large$_contract_load INLINECALLDICT - 2 4 BLKSWAP - $Large$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Large$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/large_Large.code.rev.fif b/examples/output/large_Large.code.rev.fif deleted file mode 100644 index e46081d08..000000000 --- a/examples/output/large_Large.code.rev.fif +++ /dev/null @@ -1,211 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_aa862b2cb6b23a19; - DECLPROC ?fun_ref_d31b4aed7a42e751; - DECLPROC ?fun_ref_dd92c7f58bf2702e; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_aa862b2cb6b23a19 INLINECALLDICT - 2 4 BLKSWAP - ?fun_ref_d31b4aed7a42e751 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 4 1 BLKSWAP - s3 s4 XCHG2 - STREF - STREF - s0 s1 XCHG - NEWC - STREF - s1 s2 XCHG - STREF - ENDC - s0 s1 XCHG - STREF - ENDC - c4 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D57326F6E68364A69617766553847475946446B534B445936473347574C594B65444D35315853465636724B3582_} PUSHSLICE - }> - ?fun_ref_aa862b2cb6b23a19 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDREF - LDREF - LDREF - s0 s1 XCHG - CTOS - LDREF - LDREF - s0 POP - s2 s4 XCHG - s2 s3 XCHG - 1 4 BLKDROP2 - }> PUSHCONT - IFJMP - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_dd92c7f58bf2702e INLINECALLDICT - }> - ?fun_ref_d31b4aed7a42e751 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - SBITS - s1 POP - 31 GTINT - s0 POP - 0 PUSHINT - }> - ?fun_ref_dd92c7f58bf2702e PROCREF:<{ - x{000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000B00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000D00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000F00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} PUSHREF - x{000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000B00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000D00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000F00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} PUSHREF - x{000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000B00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000D00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000F00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} PUSHREF - x{000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000B00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000D00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000E00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000000F00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} - x{000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000} PUSHREF - }> -}END>c \ No newline at end of file diff --git a/examples/output/large_Large.constants.fc b/examples/output/large_Large.constants.fc deleted file mode 100644 index af73687be..000000000 --- a/examples/output/large_Large.constants.fc +++ /dev/null @@ -1,11 +0,0 @@ -;; Cell GgKMzP3ON/o4rMaMsYJL/GTT4MJQ3jnzgdQOCrHVv5M= -cell __gen_cell_cell_1a028cccfdce37fa38acc68cb1824bfc64d3e0c250de39f381d40e0ab1d5bf93() asm "B{b5ee9c724102150100081e0001c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000201c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000301c00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000401c00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000501c00000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000601c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000701c00000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000801c00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000901c00000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000a01c0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000b01c0000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000c01c0000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d01c0000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000e01c0000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f01c0000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001001c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001101c00000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001201c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001301c00000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001400c00000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000002ed9297d} B>boc PUSHREF"; - -;; Cell jJHSyzClkXbV9NcVIUaf32XoB4E2AmzHliOqnP4iATw= -cell __gen_cell_cell_8c91d2cb30a59176d5f4d71521469fdf65e8078136026cc79623aa9cfe22013c() asm "B{b5ee9c724102150100081e0001c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000201c00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000301c00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000401c00000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000501c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000601c00000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000701c00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000801c00000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000901c0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000a01c0000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000b01c0000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000c01c0000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d01c0000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000e01c0000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f01c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001001c00000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001101c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001201c00000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001301c00000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001400c0000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000b71fb1ac} B>boc PUSHREF"; - -;; Cell McmdJYZqaxL483euF/qdaANTXwfw4OBS/i8Ba56fqDk= -cell __gen_cell_cell_31c99d25866a6b12f8f377ae17fa9d6803535f07f0e0e052fe2f016b9e9fa839() asm "B{b5ee9c724102150100081e0001c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101c00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000201c00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000301c00000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000401c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000501c00000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000601c00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000701c00000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000801c0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000901c0000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000a01c0000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000b01c0000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000c01c0000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d01c0000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000e01c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f01c00000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001001c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001101c00000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001201c00000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001301c00000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001400c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000065b68004} B>boc PUSHREF"; - -;; Cell AB9lzbejouBhNgFSDOPWWxTwjZTjNFHs2fTdO+YbZa8= -cell __gen_cell_cell_001f65cdb7a3a2e0613601520ce3d65b14f08d94e33451ecd9f4dd3be61b65af() asm "B{b5ee9c724102150100081e0001c00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000101c00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000201c00000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000301c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000401c00000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000501c00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000601c00000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000701c0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000801c0000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000901c0000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000a01c0000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000b01c0000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000c01c0000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d01c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000e01c00000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f01c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001001c00000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001101c00000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001201c00000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001301c00000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001400c0000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000c4dca27c} B>boc PUSHREF"; \ No newline at end of file diff --git a/examples/output/large_Large.headers.fc b/examples/output/large_Large.headers.fc deleted file mode 100644 index ea62d12f1..000000000 --- a/examples/output/large_Large.headers.fc +++ /dev/null @@ -1,22 +0,0 @@ -;; -;; Header files for Large -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Large$_store -builder $Large$_store(builder build_0, (cell, cell, cell, cell) v) inline; - -;; $Large$_load -(slice, ((cell, cell, cell, cell))) $Large$_load(slice sc_0) inline; - -;; $Large$_contract_init -(cell, cell, cell, cell) $Large$_contract_init() impure inline_ref; - -;; $Large$_contract_load -(cell, cell, cell, cell) $Large$_contract_load() impure inline_ref; - -;; $Large$_contract_store -() $Large$_contract_store((cell, cell, cell, cell) v) impure inline; diff --git a/examples/output/large_Large.md b/examples/output/large_Large.md deleted file mode 100644 index 8b3b9bb34..000000000 --- a/examples/output/large_Large.md +++ /dev/null @@ -1,47 +0,0 @@ -# TACT Compilation Report -Contract: Large -BOC Size: 8663 bytes - -# Types -Total Types: 3 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -# Get Methods -Total Get Methods: 0 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/examples/output/large_Large.pkg b/examples/output/large_Large.pkg deleted file mode 100644 index a3916dc44..000000000 --- a/examples/output/large_Large.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Large","code":"te6ccgECYAEAIcsAART/APSkE/S88sgLAQIBYgIDAq7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVE9s88uCCyPhDAcx/AcoAVTBQNMzMAcjMEszJAczJ7VQEBQIBWAsMAVDtRNDUAfhj0gABntTU1AHQ1NQwECQQI2wU4DD4KNcLCoMJuvLgids8BgAaAZIwf+Ag10kxwh8wcAQGiIiIBwgJCgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANwECiEsAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAIBSA0OABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVcyb25oNkppYXdmVThHR1lGRGtTS0RZNkczR1dMWUtlRE01MVhTRlY2cks1ggAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADUBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABeAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","abi":"{\"name\":\"Large\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]}],\"receivers\":[],\"getters\":[],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECYgEAIdUAAQHAAQEFoVvnAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVcyb25oNkppYXdmVThHR1lGRGtTS0RZNkczR1dMWUtlRE01MVhTRlY2cks1ggABGwr7tRNDSAAGAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAKu0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRPbPPLggsj4QwHMfwHKAFUwUDTMzAHIzBLMyQHMye1UCwoAGgGSMH/gINdJMcIfMHABUO1E0NQB+GPSAAGe1NTUAdDU1DAQJBAjbBTgMPgo1wsKgwm68uCJ2zwMBAaIiIhNOCMNAQKIDgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1AcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADoBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEIBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEMBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEUBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEYBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEcBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEoBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEsBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYQDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARDozUw=="}},"sources":{"examples\\large.tact":"Y29udHJhY3QgTGFyZ2Ugew0KICAgIGNlbGwxOiBDZWxsID0gY2VsbCgidGU2Y2NzRUNGUUVBQ0I0QUFBQUFZd0RHQVNrQmpBSHZBbElDdFFNWUEzc0QzZ1JCQktRRkJ3VnFCYzBHTUFhVEJ2WUhXUWU4QWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFKQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFOQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFSQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFTQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFUQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJweEI3RCIpOw0KICAgIGNlbGwyOiBDZWxsID0gY2VsbCgidGU2Y2NzRUNGUUVBQ0I0QUFBQUFZd0RHQVNrQmpBSHZBbElDdFFNWUEzc0QzZ1JCQktRRkJ3VnFCYzBHTUFhVEJ2WUhXUWU4QWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFKQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFOQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFSQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFTQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFUQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUR3QW9ZUyIpOw0KICAgIGNlbGwzOiBDZWxsID0gY2VsbCgidGU2Y2NzRUNGUUVBQ0I0QUFBQUFZd0RHQVNrQmpBSHZBbElDdFFNWUEzc0QzZ1JCQktRRkJ3VnFCYzBHTUFhVEJ2WUhXUWU4QWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFKQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFOQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFSQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFTQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFUQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFpcTdlNiIpOw0KICAgIGNlbGw0OiBDZWxsID0gY2VsbCgidGU2Y2NzRUNGUUVBQ0I0QUFBQUFZd0RHQVNrQmpBSHZBbElDdFFNWUEzc0QzZ1JCQktRRkJ3VnFCYzBHTUFhVEJ2WUhXUWU4QWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFKQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFOQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFPQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFSQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFTQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFUQWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNEd1pYQyIpOw0KDQogICAgaW5pdCgpIHsNCiAgICAgICAgDQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/large.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/large_Large.stdlib.fc b/examples/output/large_Large.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/examples/output/large_Large.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/examples/output/large_Large.storage.fc b/examples/output/large_Large.storage.fc deleted file mode 100644 index 9e7f8a256..000000000 --- a/examples/output/large_Large.storage.fc +++ /dev/null @@ -1,44 +0,0 @@ -;; -;; Type: Large -;; - -builder $Large$_store(builder build_0, (cell, cell, cell, cell) v) inline { - var (v'cell1, v'cell2, v'cell3, v'cell4) = v; - build_0 = build_0.store_ref(v'cell1); - build_0 = build_0.store_ref(v'cell2); - var build_1 = begin_cell(); - build_1 = build_1.store_ref(v'cell3); - build_1 = build_1.store_ref(v'cell4); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((cell, cell, cell, cell))) $Large$_load(slice sc_0) inline { - var v'cell1 = sc_0~load_ref(); - var v'cell2 = sc_0~load_ref(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'cell3 = sc_1~load_ref(); - var v'cell4 = sc_1~load_ref(); - return (sc_0, (v'cell1, v'cell2, v'cell3, v'cell4)); -} - -(cell, cell, cell, cell) $Large$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$Large$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $Large$_contract_init(); - } -} - -() $Large$_contract_store((cell, cell, cell, cell) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $Large$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/large_Large.ts b/examples/output/large_Large.ts deleted file mode 100644 index 99c538071..000000000 --- a/examples/output/large_Large.ts +++ /dev/null @@ -1,283 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - - type Large_init_args = { - $$type: 'Large_init_args'; -} - -function initLarge_init_args(src: Large_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function Large_init() { - const __code = Cell.fromBase64('te6ccgECYAEAIcsAART/APSkE/S88sgLAQIBYgIDAq7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVE9s88uCCyPhDAcx/AcoAVTBQNMzMAcjMEszJAczJ7VQEBQIBWAsMAVDtRNDUAfhj0gABntTU1AHQ1NQwECQQI2wU4DD4KNcLCoMJuvLgids8BgAaAZIwf+Ag10kxwh8wcAQGiIiIBwgJCgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANwECiEsAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAIBSA0OABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVcyb25oNkppYXdmVThHR1lGRGtTS0RZNkczR1dMWUtlRE01MVhTRlY2cks1ggAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADUBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABeAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='); - const __system = Cell.fromBase64('te6cckECYgEAIdUAAQHAAQEFoVvnAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVcyb25oNkppYXdmVThHR1lGRGtTS0RZNkczR1dMWUtlRE01MVhTRlY2cks1ggABGwr7tRNDSAAGAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAKu0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRPbPPLggsj4QwHMfwHKAFUwUDTMzAHIzBLMyQHMye1UCwoAGgGSMH/gINdJMcIfMHABUO1E0NQB+GPSAAGe1NTUAdDU1DAQJBAjbBTgMPgo1wsKgwm68uCJ2zwMBAaIiIhNOCMNAQKIDgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1AcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADoBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEIBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEMBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEUBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEYBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEcBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEoBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEsBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXgHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXwHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYQDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARDozUw=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initLarge_init_args({ $$type: 'Large_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Large_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const Large_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, -] - -const Large_getters: ABIGetter[] = [ -] - -const Large_receivers: ABIReceiver[] = [ -] - -export class Large implements Contract { - - static async init() { - return await Large_init(); - } - - static async fromInit() { - const init = await Large_init(); - const address = contractAddress(0, init); - return new Large(address, init); - } - - static fromAddress(address: Address) { - return new Large(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Large_types, - getters: Large_getters, - receivers: Large_receivers, - errors: Large_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - -} \ No newline at end of file diff --git a/examples/output/maps_MapTestContract.abi b/examples/output/maps_MapTestContract.abi deleted file mode 100644 index 89c6c5950..000000000 --- a/examples/output/maps_MapTestContract.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"MapTestContract","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"SetIntMap1","header":1510253336,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]},{"name":"SetIntMap2","header":1629867766,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"bool","optional":true}}]},{"name":"SetIntMap3","header":3613954633,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"SetIntMap4","header":383013829,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"SomeStruct","optional":true}}]},{"name":"SetAddrMap1","header":1749966413,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]},{"name":"SetAddrMap2","header":624157584,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"bool","optional":true}}]},{"name":"SetAddrMap3","header":4276365062,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"SetAddrMap4","header":1683777913,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"SomeStruct","optional":true}}]},{"name":"SomeStruct","header":null,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"SomeStruct2","header":null,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"intMap1","type":{"kind":"dict","key":"uint","keyFormat":8,"value":"uint","valueFormat":8}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"SetIntMap1"}},{"receiver":"internal","message":{"kind":"typed","type":"SetIntMap2"}},{"receiver":"internal","message":{"kind":"typed","type":"SetIntMap3"}},{"receiver":"internal","message":{"kind":"typed","type":"SetIntMap4"}},{"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap1"}},{"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap2"}},{"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap3"}},{"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap4"}}],"getters":[{"name":"intMap1","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":8,"value":"uint","valueFormat":8}},{"name":"intMap1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap2","arguments":[],"returnType":{"kind":"dict","key":"int","value":"bool"}},{"name":"intMap2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":true}},{"name":"intMap3","arguments":[],"returnType":{"kind":"dict","key":"int","value":"cell","valueFormat":"ref"}},{"name":"intMap3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"cell","optional":true}},{"name":"intMap4","arguments":[],"returnType":{"kind":"dict","key":"int","value":"SomeStruct","valueFormat":"ref"}},{"name":"intMap4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"SomeStruct","optional":true}},{"name":"addrMap1","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int"}},{"name":"addrMap1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap2","arguments":[],"returnType":{"kind":"dict","key":"address","value":"bool"}},{"name":"addrMap2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":true}},{"name":"addrMap3","arguments":[],"returnType":{"kind":"dict","key":"address","value":"cell","valueFormat":"ref"}},{"name":"addrMap3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"cell","optional":true}},{"name":"addrMap4","arguments":[],"returnType":{"kind":"dict","key":"address","value":"SomeStruct","valueFormat":"ref"}},{"name":"addrMap4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"SomeStruct","optional":true}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/examples/output/maps_MapTestContract.code.boc b/examples/output/maps_MapTestContract.code.boc deleted file mode 100644 index e3034d614..000000000 Binary files a/examples/output/maps_MapTestContract.code.boc and /dev/null differ diff --git a/examples/output/maps_MapTestContract.code.boc.html b/examples/output/maps_MapTestContract.code.boc.html deleted file mode 100644 index 3432d6cb1..000000000 --- a/examples/output/maps_MapTestContract.code.boc.html +++ /dev/null @@ -1,1060 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_67207;
-            ..DECLPROC ?fun_68436;
-            ..DECLPROC ?fun_71844;
-            ..DECLPROC ?fun_75461;
-            ..DECLPROC ?fun_79588;
-            ..DECLPROC ?fun_81348;
-            ..DECLPROC ?fun_85283;
-            ..DECLPROC ?fun_85748;
-            ..DECLPROC ?fun_87586;
-            ..DECLPROC ?fun_89346;
-            ..DECLPROC ?fun_89348;
-            ..DECLPROC ?fun_93537;
-            ..DECLPROC ?fun_100021;
-            ..DECLPROC ?fun_103396;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC ?fun_116148;
-            ..DECLPROC ?fun_119013;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_022040aa34e0e5a8;
-            ..DECLPROC ?fun_ref_0f4d30a75965db60;
-            ..DECLPROC ?fun_ref_1066dd7c57c72869;
-            ..DECLPROC ?fun_ref_10c319ce0484d846;
-            ..DECLPROC ?fun_ref_11ac340fa34afa1a;
-            ..DECLPROC ?fun_ref_1e8d3bea85f5828b;
-            ..DECLPROC ?fun_ref_2343cff614aace36;
-            ..DECLPROC ?fun_ref_40d98146a47dbe3b;
-            ..DECLPROC ?fun_ref_44086a5ce86162fe;
-            ..DECLPROC ?fun_ref_6326faa87beffd08;
-            ..DECLPROC ?fun_ref_6dadd9d57664c967;
-            ..DECLPROC ?fun_ref_71ea169e01d5ac83;
-            ..DECLPROC ?fun_ref_750b5e2df7ffc4f5;
-            ..DECLPROC ?fun_ref_ac11b1d08d503c56;
-            ..DECLPROC ?fun_ref_b2f99ae1a1dd4dfb;
-            ..DECLPROC ?fun_ref_b347d9c3ebd197d4;
-            ..DECLPROC ?fun_ref_bb7189d2450cf7e2;
-            ..DECLPROC ?fun_ref_bec9abb55d6c8536;
-            ..DECLPROC ?fun_ref_e632c6e9a6caf623;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....2 8 BLKSWAP
-            ....?fun_ref_0f4d30a75965db60 INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....8 1 BLKSWAP
-            ....s7 s8 XCHG2
-            ....STDICT
-            ....s1 s5 XCHG
-            ....STDICT
-            ....s0 s3 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s2 XCHG
-            ....STDICT
-            ....STDICT
-            ....s0 s2 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s3 XCHG
-            ....STDICT
-            ....s1 s3 XCHG
-            ....STDICT
-            ....ENDC
-            ....ROT
-            ....STREF
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..?fun_67207 PROC:<{
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....?fun_ref_1e8d3bea85f5828b INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_68436 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....1 8 BLKSWAP
-            ....?fun_ref_71ea169e01d5ac83 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_71844 PROC:<{
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....1 8 BLKSWAP
-            ....?fun_ref_e632c6e9a6caf623 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_75461 PROC:<{
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....?fun_ref_6326faa87beffd08 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_79588 PROC:<{
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....?fun_ref_750b5e2df7ffc4f5 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_81348 PROC:<{
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....?fun_ref_40d98146a47dbe3b INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_85283 PROC:<{
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....?fun_ref_44086a5ce86162fe INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_85748 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....1 8 BLKSWAP
-            ....?fun_ref_2343cff614aace36 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_87586 PROC:<{
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....?fun_ref_b347d9c3ebd197d4 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_89346 PROC:<{
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_89348 PROC:<{
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....1 8 BLKSWAP
-            ....?fun_ref_1066dd7c57c72869 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_93537 PROC:<{
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....?fun_ref_10c319ce0484d846 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_100021 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....1 8 BLKSWAP
-            ....?fun_ref_022040aa34e0e5a8 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......1 UNTUPLE
-            ......1 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IF
-            ..}>
-            ..?fun_103396 PROC:<{
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....1 8 BLKSWAP
-            ....?fun_ref_11ac340fa34afa1a INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..?fun_116148 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....1 8 BLKSWAP
-            ....?fun_ref_bb7189d2450cf7e2 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_119013 PROC:<{
-            ....?fun_ref_6dadd9d57664c967 INLINECALLDICT
-            ....1 8 BLKSWAP
-            ....?fun_ref_ac11b1d08d503c56 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......1 UNTUPLE
-            ......1 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IF
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D5468453666646F37335A52766744704163464D55556D4B48777162315142574D364B354B704373345036723482_} PUSHSLICE
-            ..}>
-            ..?fun_ref_022040aa34e0e5a8 PROCREF:<{
-            ....267 PUSHINT
-            ....s2 PUSH
-            ....s0 s2 XCHG
-            ....ROTREV
-            ....DICTGETREF
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......CTOS
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......1 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_0f4d30a75965db60 PROCREF:<{
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....s0 PUSH
-            ....1510253336 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1510253336 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......8 PUSHINT
-            ......s0 PUSH
-            ......s4 s11 XCHG
-            ......s3 s3 s0 XCHG3
-            ......s1 PUSH
-            ......ISNULL
-            ......<{
-            ........DROP2
-            ........ROTREV
-            ........DICTUDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........NEWC
-            ........s0 s1 XCHG
-            ........STUX
-            ........s1 s3 s3 XCHG3
-            ........DICTUSETB
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s7 XCHG
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....1629867766 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1629867766 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........1 LDI
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......s2 s8 XCHG
-            ......257 PUSHINT
-            ......ROTREV
-            ......1 PUSHINT
-            ......s1 PUSH
-            ......ISNULL
-            ......<{
-            ........DROP2
-            ........ROTREV
-            ........DICTIDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........NEWC
-            ........s0 s1 XCHG
-            ........STIX
-            ........s1 s3 s3 XCHG3
-            ........DICTISETB
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s6 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....3613954633 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......3613954633 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........LDREF
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......s2 s7 XCHG
-            ......257 PUSHINT
-            ......ROTREV
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........ROTREV
-            ........DICTIDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........s1 s3 s3 XCHG3
-            ........DICTISETREF
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s5 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....383013829 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......383013829 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ........s0 s1 XCHG
-            ........1 TUPLE
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s1 s2 XCHG
-            ......1 2 BLKDROP2
-            ......257 PUSHINT
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......<{
-            ........s0 PUSH
-            ........ISNULL
-            ........128 THROWIF
-            ........1 UNTUPLE
-            ........NEWC
-            ........s0 s1 XCHG
-            ........s0 s1 XCHG
-            ........257 PUSHINT
-            ........STIX
-            ........ENDC
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s3 s7 XCHG
-            ......s1 s2 XCHG
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........ROTREV
-            ........DICTIDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........s1 s3 s3 XCHG3
-            ........DICTISETREF
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s4 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....1749966413 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1749966413 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......s2 s5 XCHG
-            ......267 PUSHINT
-            ......ROTREV
-            ......257 PUSHINT
-            ......s1 PUSH
-            ......ISNULL
-            ......<{
-            ........DROP2
-            ........ROTREV
-            ........DICTDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........NEWC
-            ........s0 s1 XCHG
-            ........STIX
-            ........s1 s3 s3 XCHG3
-            ........DICTSETB
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s3 XCHG
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....624157584 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......624157584 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........1 LDI
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......s2 s4 XCHG
-            ......267 PUSHINT
-            ......ROTREV
-            ......1 PUSHINT
-            ......s1 PUSH
-            ......ISNULL
-            ......<{
-            ........DROP2
-            ........ROTREV
-            ........DICTDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........NEWC
-            ........s0 s1 XCHG
-            ........STIX
-            ........s1 s3 s3 XCHG3
-            ........DICTSETB
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s2 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....4276365062 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......4276365062 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........LDREF
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......s2 s3 XCHG
-            ......267 PUSHINT
-            ......ROTREV
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........ROTREV
-            ........DICTDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........s1 s3 s3 XCHG3
-            ........DICTSETREF
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s1 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....1683777913 PUSHINT
-            ....EQUAL
-            ....<{
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1683777913 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ........s0 s1 XCHG
-            ........1 TUPLE
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s1 s2 XCHG
-            ......1 2 BLKDROP2
-            ......267 PUSHINT
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......<{
-            ........s0 PUSH
-            ........ISNULL
-            ........128 THROWIF
-            ........1 UNTUPLE
-            ........NEWC
-            ........s0 s1 XCHG
-            ........s0 s1 XCHG
-            ........257 PUSHINT
-            ........STIX
-            ........ENDC
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s1 s2 XCHG
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........ROTREV
-            ........DICTDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........s1 s3 s3 XCHG3
-            ........DICTSETREF
-            ......}> PUSHCONT
-            ......IFELSE
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            ..}>
-            ..?fun_ref_1066dd7c57c72869 PROCREF:<{
-            ....257 PUSHINT
-            ....s8 PUSH
-            ....s0 s2 XCHG
-            ....1 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            x2..?fun_ref_10c319ce0484d846 PROCREF:<{
-            18x2....s3 PUSH
-            x2..}>
-            ..?fun_ref_11ac340fa34afa1a PROCREF:<{
-            ....8 PUSHINT
-            ....s0 s9 PUSH2
-            ....s3 s3 XCHG2
-            ....s1 s3 s3 XCHG3
-            ....DICTUGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            x1..?fun_ref_1e8d3bea85f5828b PROCREF:<{
-            18x1....s7 PUSH
-            x1..}>
-            ..?fun_ref_2343cff614aace36 PROCREF:<{
-            ....267 PUSHINT
-            ....s3 PUSH
-            ....s0 s2 XCHG
-            ....ROTREV
-            ....DICTGETREF
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ..}>
-            x7..?fun_ref_40d98146a47dbe3b PROCREF:<{
-            18x7....s0 PUSH
-            x7..}>
-            x5..?fun_ref_44086a5ce86162fe PROCREF:<{
-            18x5....s1 PUSH
-            x5..}>
-            x2..?fun_ref_6326faa87beffd08 PROCREF:<{
-            18x2....s5 PUSH
-            x2..}>
-            ..?fun_ref_6dadd9d57664c967 PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDDICT
-            ......LDDICT
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......LDDICT
-            ......LDDICT
-            ......LDDICT
-            ......LDREF
-            ......s0 POP
-            ......CTOS
-            ......LDDICT
-            ......LDDICT
-            ......LDDICT
-            ......s0 POP
-            ......s6 s8 XCHG
-            ......s6 s7 XCHG
-            ......1 8 BLKDROP2
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 POP
-            ....MYADDR
-            ....11 PLDU
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....137 THROWIFNOT
-            ....?fun_ref_bec9abb55d6c8536 INLINECALLDICT
-            ..}>
-            ..?fun_ref_71ea169e01d5ac83 PROCREF:<{
-            ....267 PUSHINT
-            ....s4 PUSH
-            ....s0 s2 XCHG
-            ....1 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            x1..?fun_ref_750b5e2df7ffc4f5 PROCREF:<{
-            18x1....s6 PUSH
-            x1..}>
-            ..?fun_ref_ac11b1d08d503c56 PROCREF:<{
-            ....257 PUSHINT
-            ....s6 PUSH
-            ....s0 s2 XCHG
-            ....ROTREV
-            ....DICTIGETREF
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......CTOS
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......1 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            x7..?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{
-            18x7....s2 PUSH
-            x7..}>
-            x3..?fun_ref_b347d9c3ebd197d4 PROCREF:<{
-            18x3....s4 PUSH
-            x3..}>
-            ..?fun_ref_bb7189d2450cf7e2 PROCREF:<{
-            ....267 PUSHINT
-            ....s5 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_bec9abb55d6c8536 PROCREF:<{
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ..}>
-            ..?fun_ref_e632c6e9a6caf623 PROCREF:<{
-            ....257 PUSHINT
-            ....s7 PUSH
-            ....s0 s2 XCHG
-            ....ROTREV
-            ....DICTIGETREF
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/maps_MapTestContract.code.fc b/examples/output/maps_MapTestContract.code.fc deleted file mode 100644 index 293836299..000000000 --- a/examples/output/maps_MapTestContract.code.fc +++ /dev/null @@ -1,380 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "maps_MapTestContract.headers.fc"; -#include "maps_MapTestContract.stdlib.fc"; -#include "maps_MapTestContract.storage.fc"; - -;; -;; Contract MapTestContract functions -;; - -(cell, cell, cell, cell, cell, cell, cell, cell) $MapTestContract$_contract_init() impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = (null(), null(), null(), null(), null(), null(), null(), null()); - return ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap1((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), $self'intMap1); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap1Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), __tact_dict_get_uint_uint($self'intMap1, 8, $key, 8)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap2((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), $self'intMap2); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap2Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), __tact_dict_get_int_int($self'intMap2, 257, $key, 1)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap3((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), $self'intMap3); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap3Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), __tact_dict_get_int_cell($self'intMap3, 257, $key)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap4((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), $self'intMap4); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), tuple) $MapTestContract$_fun_intMap4Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), $SomeStruct$_load_opt(__tact_dict_get_int_cell($self'intMap4, 257, $key))); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap1((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), $self'addrMap1); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap1Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), __tact_dict_get_slice_int($self'addrMap1, 267, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap2((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), $self'addrMap2); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap2Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), __tact_dict_get_slice_int($self'addrMap2, 267, $key, 1)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap3((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), $self'addrMap3); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap3Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), __tact_dict_get_slice_cell($self'addrMap3, 267, $key)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap4((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), $self'addrMap4); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), tuple) $MapTestContract$_fun_addrMap4Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), $SomeStruct$_load_opt(__tact_dict_get_slice_cell($self'addrMap4, 267, $key))); -} - -;; -;; Receivers of a Contract MapTestContract -;; - -(((cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetIntMap1((cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap1~__tact_dict_set_uint_uint(8, $msg'key, $msg'value, 8); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetIntMap2((cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap2~__tact_dict_set_int_int(257, $msg'key, $msg'value, 1); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetIntMap3((cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, cell) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap3~__tact_dict_set_int_cell(257, $msg'key, $msg'value); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetIntMap4((cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, tuple) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap4~__tact_dict_set_int_cell(257, $msg'key, $SomeStruct$_store_opt($msg'value)); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetAddrMap1((cell, cell, cell, cell, cell, cell, cell, cell) $self, (slice, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4) = $self; - var ($msg'key, $msg'value) = $msg; - $self'addrMap1~__tact_dict_set_slice_int(267, $msg'key, $msg'value, 257); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetAddrMap2((cell, cell, cell, cell, cell, cell, cell, cell) $self, (slice, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4) = $self; - var ($msg'key, $msg'value) = $msg; - $self'addrMap2~__tact_dict_set_slice_int(267, $msg'key, $msg'value, 1); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetAddrMap3((cell, cell, cell, cell, cell, cell, cell, cell) $self, (slice, cell) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4) = $self; - var ($msg'key, $msg'value) = $msg; - $self'addrMap3~__tact_dict_set_slice_cell(267, $msg'key, $msg'value); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetAddrMap4((cell, cell, cell, cell, cell, cell, cell, cell) $self, (slice, tuple) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4) = $self; - var ($msg'key, $msg'value) = $msg; - $self'addrMap4~__tact_dict_set_slice_cell(267, $msg'key, $SomeStruct$_store_opt($msg'value)); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4), ()); -} - -;; -;; Get methods of a Contract MapTestContract -;; - -_ %intMap1() method_id(67207) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap1(); - return res; -} - -_ %intMap1Value(int $$key) method_id(103396) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap1Value($key); - return res; -} - -_ %intMap2() method_id(79588) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap2(); - return res; -} - -_ %intMap2Value(int $$key) method_id(89348) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap2Value($key); - return res; -} - -_ %intMap3() method_id(75461) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap3(); - return res; -} - -_ %intMap3Value(int $$key) method_id(71844) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap3Value($key); - return res; -} - -_ %intMap4() method_id(87586) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap4(); - return res; -} - -_ %intMap4Value(int $$key) method_id(119013) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap4Value($key); - return $SomeStruct$_to_opt_external(res); -} - -_ %addrMap1() method_id(93537) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap1(); - return res; -} - -_ %addrMap1Value(slice $$key) method_id(116148) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap1Value($key); - return res; -} - -_ %addrMap2() method_id(89346) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap2(); - return res; -} - -_ %addrMap2Value(slice $$key) method_id(68436) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap2Value($key); - return res; -} - -_ %addrMap3() method_id(85283) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap3(); - return res; -} - -_ %addrMap3Value(slice $$key) method_id(85748) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap3Value($key); - return res; -} - -_ %addrMap4() method_id(81348) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap4(); - return res; -} - -_ %addrMap4Value(slice $$key) method_id(100021) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap4Value($key); - return $SomeStruct$_to_opt_external(res); -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmThE6fdo73ZRvgDpAcFMUUmKHwqb1QBWM6K5KpCs4P6r4"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract MapTestContract -;; - -((cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_contract_router_internal((cell, cell, cell, cell, cell, cell, cell, cell) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive SetIntMap1 message - if (op == 1510253336) { - var msg = in_msg~$SetIntMap1$_load(); - self~$MapTestContract$_internal_binary_SetIntMap1(msg); - return (self, true); - } - - ;; Receive SetIntMap2 message - if (op == 1629867766) { - var msg = in_msg~$SetIntMap2$_load(); - self~$MapTestContract$_internal_binary_SetIntMap2(msg); - return (self, true); - } - - ;; Receive SetIntMap3 message - if (op == 3613954633) { - var msg = in_msg~$SetIntMap3$_load(); - self~$MapTestContract$_internal_binary_SetIntMap3(msg); - return (self, true); - } - - ;; Receive SetIntMap4 message - if (op == 383013829) { - var msg = in_msg~$SetIntMap4$_load(); - self~$MapTestContract$_internal_binary_SetIntMap4(msg); - return (self, true); - } - - ;; Receive SetAddrMap1 message - if (op == 1749966413) { - var msg = in_msg~$SetAddrMap1$_load(); - self~$MapTestContract$_internal_binary_SetAddrMap1(msg); - return (self, true); - } - - ;; Receive SetAddrMap2 message - if (op == 624157584) { - var msg = in_msg~$SetAddrMap2$_load(); - self~$MapTestContract$_internal_binary_SetAddrMap2(msg); - return (self, true); - } - - ;; Receive SetAddrMap3 message - if (op == 4276365062) { - var msg = in_msg~$SetAddrMap3$_load(); - self~$MapTestContract$_internal_binary_SetAddrMap3(msg); - return (self, true); - } - - ;; Receive SetAddrMap4 message - if (op == 1683777913) { - var msg = in_msg~$SetAddrMap4$_load(); - self~$MapTestContract$_internal_binary_SetAddrMap4(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $MapTestContract$_contract_load(); - - ;; Handle operation - int handled = self~$MapTestContract$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $MapTestContract$_contract_store(self); -} diff --git a/examples/output/maps_MapTestContract.code.fif b/examples/output/maps_MapTestContract.code.fif deleted file mode 100644 index 79addb4e1..000000000 --- a/examples/output/maps_MapTestContract.code.fif +++ /dev/null @@ -1,914 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_dict_set_int_int - DECLPROC __tact_dict_get_int_int - DECLPROC __tact_dict_set_uint_uint - DECLPROC __tact_dict_get_uint_uint - DECLPROC __tact_dict_set_int_cell - DECLPROC __tact_dict_get_int_cell - DECLPROC __tact_dict_set_slice_int - DECLPROC __tact_dict_get_slice_int - DECLPROC __tact_dict_set_slice_cell - DECLPROC __tact_dict_get_slice_cell - DECLPROC $SetIntMap1$_load - DECLPROC $SetIntMap2$_load - DECLPROC $SetIntMap3$_load - DECLPROC $SomeStruct$_store - DECLPROC $SomeStruct$_store_cell - DECLPROC $SomeStruct$_not_null - DECLPROC $SomeStruct$_store_opt - DECLPROC $SomeStruct$_load - DECLPROC $SomeStruct$_as_optional - DECLPROC $SomeStruct$_load_opt - DECLPROC $SetIntMap4$_load - DECLPROC $SetAddrMap1$_load - DECLPROC $SetAddrMap2$_load - DECLPROC $SetAddrMap3$_load - DECLPROC $SetAddrMap4$_load - DECLPROC $MapTestContract$_store - DECLPROC $MapTestContract$_load - DECLPROC $SomeStruct$_to_tuple - DECLPROC $SomeStruct$_to_opt_tuple - DECLPROC $SomeStruct$_to_opt_external - DECLPROC $MapTestContract$_contract_init - DECLPROC $MapTestContract$_contract_load - DECLPROC $MapTestContract$_contract_store - DECLPROC $MapTestContract$_fun_intMap1 - DECLPROC $MapTestContract$_fun_intMap1Value - DECLPROC $MapTestContract$_fun_intMap2 - DECLPROC $MapTestContract$_fun_intMap2Value - DECLPROC $MapTestContract$_fun_intMap3 - DECLPROC $MapTestContract$_fun_intMap3Value - DECLPROC $MapTestContract$_fun_intMap4 - DECLPROC $MapTestContract$_fun_intMap4Value - DECLPROC $MapTestContract$_fun_addrMap1 - DECLPROC $MapTestContract$_fun_addrMap1Value - DECLPROC $MapTestContract$_fun_addrMap2 - DECLPROC $MapTestContract$_fun_addrMap2Value - DECLPROC $MapTestContract$_fun_addrMap3 - DECLPROC $MapTestContract$_fun_addrMap3Value - DECLPROC $MapTestContract$_fun_addrMap4 - DECLPROC $MapTestContract$_fun_addrMap4Value - DECLPROC $MapTestContract$_internal_binary_SetIntMap1 - DECLPROC $MapTestContract$_internal_binary_SetIntMap2 - DECLPROC $MapTestContract$_internal_binary_SetIntMap3 - DECLPROC $MapTestContract$_internal_binary_SetIntMap4 - DECLPROC $MapTestContract$_internal_binary_SetAddrMap1 - DECLPROC $MapTestContract$_internal_binary_SetAddrMap2 - DECLPROC $MapTestContract$_internal_binary_SetAddrMap3 - DECLPROC $MapTestContract$_internal_binary_SetAddrMap4 - 67207 DECLMETHOD %intMap1 - 103396 DECLMETHOD %intMap1Value - 79588 DECLMETHOD %intMap2 - 89348 DECLMETHOD %intMap2Value - 75461 DECLMETHOD %intMap3 - 71844 DECLMETHOD %intMap3Value - 87586 DECLMETHOD %intMap4 - 119013 DECLMETHOD %intMap4Value - 93537 DECLMETHOD %addrMap1 - 116148 DECLMETHOD %addrMap1Value - 89346 DECLMETHOD %addrMap2 - 68436 DECLMETHOD %addrMap2Value - 85283 DECLMETHOD %addrMap3 - 85748 DECLMETHOD %addrMap3Value - 81348 DECLMETHOD %addrMap4 - 100021 DECLMETHOD %addrMap4Value - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $MapTestContract$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_dict_set_int_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> - }> - __tact_dict_get_int_int PROCINLINE:<{ - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - IF:<{ - SWAP - LDIX - DROP - }>ELSE<{ - 2DROP - PUSHNULL - }> - }> - __tact_dict_set_uint_uint PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTUDEL - DROP - }>ELSE<{ - NEWC - SWAP - STUX - s1 s3 s3 XCHG3 - DICTUSETB - }> - }> - __tact_dict_get_uint_uint PROCINLINE:<{ - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - IF:<{ - SWAP - LDUX - DROP - }>ELSE<{ - 2DROP - PUSHNULL - }> - }> - __tact_dict_set_int_cell PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTISETREF - }> - }> - __tact_dict_get_int_cell PROCINLINE:<{ - -ROT - DICTIGETREF - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> - }> - __tact_dict_set_slice_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> - }> - __tact_dict_get_slice_int PROCINLINE:<{ - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - IF:<{ - SWAP - LDIX - DROP - }>ELSE<{ - 2DROP - PUSHNULL - }> - }> - __tact_dict_set_slice_cell PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTSETREF - }> - }> - __tact_dict_get_slice_cell PROCINLINE:<{ - -ROT - DICTGETREF - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> - }> - $SetIntMap1$_load PROCINLINE:<{ - 32 LDU - SWAP - 1510253336 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetIntMap2$_load PROCINLINE:<{ - 32 LDU - SWAP - 1629867766 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - 1 LDI - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetIntMap3$_load PROCINLINE:<{ - 32 LDU - SWAP - 3613954633 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SomeStruct$_store PROCINLINE:<{ - SWAP - 257 PUSHINT - STIX - }> - $SomeStruct$_store_cell PROCINLINE:<{ - NEWC - SWAP - $SomeStruct$_store INLINECALLDICT - ENDC - }> - $SomeStruct$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 1 UNTUPLE - }> - $SomeStruct$_store_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $SomeStruct$_not_null INLINECALLDICT - $SomeStruct$_store_cell INLINECALLDICT - }> - }> - $SomeStruct$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - SWAP - }> - $SomeStruct$_as_optional PROCINLINE:<{ - 1 TUPLE - }> - $SomeStruct$_load_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - CTOS - $SomeStruct$_load INLINECALLDICT - NIP - $SomeStruct$_as_optional INLINECALLDICT - }> - }> - $SetIntMap4$_load PROCINLINE:<{ - 32 LDU - SWAP - 383013829 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - $SomeStruct$_load INLINECALLDICT - $SomeStruct$_as_optional INLINECALLDICT - }>ELSE<{ - PUSHNULL - }> - s1 s2 XCHG - }> - $SetAddrMap1$_load PROCINLINE:<{ - 32 LDU - SWAP - 1749966413 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetAddrMap2$_load PROCINLINE:<{ - 32 LDU - SWAP - 624157584 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - SWAP - IF:<{ - 1 LDI - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetAddrMap3$_load PROCINLINE:<{ - 32 LDU - SWAP - 4276365062 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetAddrMap4$_load PROCINLINE:<{ - 32 LDU - SWAP - 1683777913 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - SWAP - IF:<{ - $SomeStruct$_load INLINECALLDICT - $SomeStruct$_as_optional INLINECALLDICT - }>ELSE<{ - PUSHNULL - }> - s1 s2 XCHG - }> - $MapTestContract$_store PROCINLINE:<{ - s7 s8 XCHG2 - STDICT - s1 s5 XCHG - STDICT - s0 s3 XCHG - NEWC - STDICT - s1 s2 XCHG - STDICT - STDICT - s0 s2 XCHG - NEWC - STDICT - s1 s3 XCHG - STDICT - s1 s3 XCHG - STDICT - ENDC - ROT - STREF - ENDC - SWAP - STREF - }> - $MapTestContract$_load PROCINLINE:<{ - LDDICT - LDDICT - LDREF - SWAP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - DROP - s6 s8 XCHG - s6 s7 XCHG - }> - $SomeStruct$_to_tuple PROCINLINE:<{ - 1 TUPLE - }> - $SomeStruct$_to_opt_tuple PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $SomeStruct$_not_null INLINECALLDICT - $SomeStruct$_to_tuple INLINECALLDICT - }> - }> - $SomeStruct$_to_opt_external PROCINLINE:<{ - $SomeStruct$_to_opt_tuple INLINECALLDICT - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - }> - }> - $MapTestContract$_contract_init PROCREF:<{ - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - }> - $MapTestContract$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $MapTestContract$_load INLINECALLDICT - 1 8 BLKDROP2 - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $MapTestContract$_contract_init INLINECALLDICT - }> - $MapTestContract$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 8 -ROLL - $MapTestContract$_store INLINECALLDICT - ENDC - c4 POP - }> - $MapTestContract$_fun_intMap1 PROCREF:<{ - s7 PUSH - }> - $MapTestContract$_fun_intMap1Value PROCREF:<{ - 8 PUSHINT - s0 s9 PUSH2 - s3 s3 XCHG2 - __tact_dict_get_uint_uint INLINECALLDICT - }> - $MapTestContract$_fun_intMap2 PROCREF:<{ - s6 PUSH - }> - $MapTestContract$_fun_intMap2Value PROCREF:<{ - 257 PUSHINT - s8 PUSH - s0 s2 XCHG - 1 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap3 PROCREF:<{ - s5 PUSH - }> - $MapTestContract$_fun_intMap3Value PROCREF:<{ - 257 PUSHINT - s7 PUSH - s0 s2 XCHG - __tact_dict_get_int_cell INLINECALLDICT - }> - $MapTestContract$_fun_intMap4 PROCREF:<{ - s4 PUSH - }> - $MapTestContract$_fun_intMap4Value PROCREF:<{ - 257 PUSHINT - s6 PUSH - s0 s2 XCHG - __tact_dict_get_int_cell INLINECALLDICT - $SomeStruct$_load_opt INLINECALLDICT - }> - $MapTestContract$_fun_addrMap1 PROCREF:<{ - s3 PUSH - }> - $MapTestContract$_fun_addrMap1Value PROCREF:<{ - 267 PUSHINT - s5 PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_slice_int INLINECALLDICT - }> - $MapTestContract$_fun_addrMap2 PROCREF:<{ - s2 PUSH - }> - $MapTestContract$_fun_addrMap2Value PROCREF:<{ - 267 PUSHINT - s4 PUSH - s0 s2 XCHG - 1 PUSHINT - __tact_dict_get_slice_int INLINECALLDICT - }> - $MapTestContract$_fun_addrMap3 PROCREF:<{ - OVER - }> - $MapTestContract$_fun_addrMap3Value PROCREF:<{ - 267 PUSHINT - s3 PUSH - s0 s2 XCHG - __tact_dict_get_slice_cell INLINECALLDICT - }> - $MapTestContract$_fun_addrMap4 PROCREF:<{ - DUP - }> - $MapTestContract$_fun_addrMap4Value PROCREF:<{ - 267 PUSHINT - s2 PUSH - s0 s2 XCHG - __tact_dict_get_slice_cell INLINECALLDICT - $SomeStruct$_load_opt INLINECALLDICT - }> - $MapTestContract$_internal_binary_SetIntMap1 PROCINLINE:<{ - 8 PUSHINT - DUP - s4 s11 XCHG - s3 s3 s0 XCHG3 - __tact_dict_set_uint_uint INLINECALLDICT - s0 s7 XCHG - }> - $MapTestContract$_internal_binary_SetIntMap2 PROCINLINE:<{ - s2 s8 XCHG - 257 PUSHINT - -ROT - 1 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 s6 XCHG - }> - $MapTestContract$_internal_binary_SetIntMap3 PROCINLINE:<{ - s2 s7 XCHG - 257 PUSHINT - -ROT - __tact_dict_set_int_cell INLINECALLDICT - s0 s5 XCHG - }> - $MapTestContract$_internal_binary_SetIntMap4 PROCINLINE:<{ - 257 PUSHINT - SWAP - $SomeStruct$_store_opt INLINECALLDICT - s3 s7 XCHG - s1 s2 XCHG - __tact_dict_set_int_cell INLINECALLDICT - s0 s4 XCHG - }> - $MapTestContract$_internal_binary_SetAddrMap1 PROCINLINE:<{ - s2 s5 XCHG - 267 PUSHINT - -ROT - 257 PUSHINT - __tact_dict_set_slice_int INLINECALLDICT - s0 s3 XCHG - }> - $MapTestContract$_internal_binary_SetAddrMap2 PROCINLINE:<{ - s2 s4 XCHG - 267 PUSHINT - -ROT - 1 PUSHINT - __tact_dict_set_slice_int INLINECALLDICT - s0 s2 XCHG - }> - $MapTestContract$_internal_binary_SetAddrMap3 PROCINLINE:<{ - s2 s3 XCHG - 267 PUSHINT - -ROT - __tact_dict_set_slice_cell INLINECALLDICT - SWAP - }> - $MapTestContract$_internal_binary_SetAddrMap4 PROCINLINE:<{ - 267 PUSHINT - SWAP - $SomeStruct$_store_opt INLINECALLDICT - s1 s2 XCHG - __tact_dict_set_slice_cell INLINECALLDICT - }> - %intMap1 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap1 INLINECALLDICT - 8 1 BLKDROP2 - }> - %intMap1Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 8 ROLL - $MapTestContract$_fun_intMap1Value INLINECALLDICT - 8 1 BLKDROP2 - }> - %intMap2 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap2 INLINECALLDICT - 8 1 BLKDROP2 - }> - %intMap2Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 8 ROLL - $MapTestContract$_fun_intMap2Value INLINECALLDICT - 8 1 BLKDROP2 - }> - %intMap3 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap3 INLINECALLDICT - 8 1 BLKDROP2 - }> - %intMap3Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 8 ROLL - $MapTestContract$_fun_intMap3Value INLINECALLDICT - 8 1 BLKDROP2 - }> - %intMap4 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap4 INLINECALLDICT - 8 1 BLKDROP2 - }> - %intMap4Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 8 ROLL - $MapTestContract$_fun_intMap4Value INLINECALLDICT - 8 1 BLKDROP2 - $SomeStruct$_to_opt_external INLINECALLDICT - }> - %addrMap1 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap1 INLINECALLDICT - 8 1 BLKDROP2 - }> - %addrMap1Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 8 ROLL - $MapTestContract$_fun_addrMap1Value INLINECALLDICT - 8 1 BLKDROP2 - }> - %addrMap2 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap2 INLINECALLDICT - 8 1 BLKDROP2 - }> - %addrMap2Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 8 ROLL - $MapTestContract$_fun_addrMap2Value INLINECALLDICT - 8 1 BLKDROP2 - }> - %addrMap3 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap3 INLINECALLDICT - 8 1 BLKDROP2 - }> - %addrMap3Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 8 ROLL - $MapTestContract$_fun_addrMap3Value INLINECALLDICT - 8 1 BLKDROP2 - }> - %addrMap4 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap4 INLINECALLDICT - 8 1 BLKDROP2 - }> - %addrMap4Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 8 ROLL - $MapTestContract$_fun_addrMap4Value INLINECALLDICT - 8 1 BLKDROP2 - $SomeStruct$_to_opt_external INLINECALLDICT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d5468453666646f37335a52766744704163464d55556d4b48777162315142574d364b354b7043733450367234} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $MapTestContract$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 1510253336 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetIntMap1$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetIntMap1 INLINECALLDICT - TRUE - }> - DUP - 1629867766 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetIntMap2$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetIntMap2 INLINECALLDICT - TRUE - }> - DUP - 3613954633 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetIntMap3$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetIntMap3 INLINECALLDICT - TRUE - }> - DUP - 383013829 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetIntMap4$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetIntMap4 INLINECALLDICT - TRUE - }> - DUP - 1749966413 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetAddrMap1$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetAddrMap1 INLINECALLDICT - TRUE - }> - DUP - 624157584 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetAddrMap2$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetAddrMap2 INLINECALLDICT - TRUE - }> - DUP - 4276365062 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetAddrMap3$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetAddrMap3 INLINECALLDICT - TRUE - }> - 1683777913 PUSHINT - EQUAL - IFJMP:<{ - $SetAddrMap4$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetAddrMap4 INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $MapTestContract$_contract_load INLINECALLDICT - 2 8 BLKSWAP - $MapTestContract$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $MapTestContract$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/maps_MapTestContract.code.rev.fif b/examples/output/maps_MapTestContract.code.rev.fif deleted file mode 100644 index 9b043270d..000000000 --- a/examples/output/maps_MapTestContract.code.rev.fif +++ /dev/null @@ -1,1024 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_67207; - DECLPROC ?fun_68436; - DECLPROC ?fun_71844; - DECLPROC ?fun_75461; - DECLPROC ?fun_79588; - DECLPROC ?fun_81348; - DECLPROC ?fun_85283; - DECLPROC ?fun_85748; - DECLPROC ?fun_87586; - DECLPROC ?fun_89346; - DECLPROC ?fun_89348; - DECLPROC ?fun_93537; - DECLPROC ?fun_100021; - DECLPROC ?fun_103396; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC ?fun_116148; - DECLPROC ?fun_119013; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_022040aa34e0e5a8; - DECLPROC ?fun_ref_0f4d30a75965db60; - DECLPROC ?fun_ref_1066dd7c57c72869; - DECLPROC ?fun_ref_10c319ce0484d846; - DECLPROC ?fun_ref_11ac340fa34afa1a; - DECLPROC ?fun_ref_1e8d3bea85f5828b; - DECLPROC ?fun_ref_2343cff614aace36; - DECLPROC ?fun_ref_40d98146a47dbe3b; - DECLPROC ?fun_ref_44086a5ce86162fe; - DECLPROC ?fun_ref_6326faa87beffd08; - DECLPROC ?fun_ref_6dadd9d57664c967; - DECLPROC ?fun_ref_71ea169e01d5ac83; - DECLPROC ?fun_ref_750b5e2df7ffc4f5; - DECLPROC ?fun_ref_ac11b1d08d503c56; - DECLPROC ?fun_ref_b2f99ae1a1dd4dfb; - DECLPROC ?fun_ref_b347d9c3ebd197d4; - DECLPROC ?fun_ref_bb7189d2450cf7e2; - DECLPROC ?fun_ref_bec9abb55d6c8536; - DECLPROC ?fun_ref_e632c6e9a6caf623; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - 2 8 BLKSWAP - ?fun_ref_0f4d30a75965db60 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 8 1 BLKSWAP - s7 s8 XCHG2 - STDICT - s1 s5 XCHG - STDICT - s0 s3 XCHG - NEWC - STDICT - s1 s2 XCHG - STDICT - STDICT - s0 s2 XCHG - NEWC - STDICT - s1 s3 XCHG - STDICT - s1 s3 XCHG - STDICT - ENDC - ROT - STREF - ENDC - s0 s1 XCHG - STREF - ENDC - c4 POP - }> - ?fun_67207 PROC:<{ - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - ?fun_ref_1e8d3bea85f5828b INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_68436 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - 1 8 BLKSWAP - ?fun_ref_71ea169e01d5ac83 INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_71844 PROC:<{ - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - 1 8 BLKSWAP - ?fun_ref_e632c6e9a6caf623 INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_75461 PROC:<{ - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - ?fun_ref_6326faa87beffd08 INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_79588 PROC:<{ - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - ?fun_ref_750b5e2df7ffc4f5 INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_81348 PROC:<{ - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - ?fun_ref_40d98146a47dbe3b INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_85283 PROC:<{ - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - ?fun_ref_44086a5ce86162fe INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_85748 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - 1 8 BLKSWAP - ?fun_ref_2343cff614aace36 INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_87586 PROC:<{ - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - ?fun_ref_b347d9c3ebd197d4 INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_89346 PROC:<{ - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - ?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_89348 PROC:<{ - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - 1 8 BLKSWAP - ?fun_ref_1066dd7c57c72869 INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_93537 PROC:<{ - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - ?fun_ref_10c319ce0484d846 INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_100021 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - 1 8 BLKSWAP - ?fun_ref_022040aa34e0e5a8 INLINECALLDICT - 8 1 BLKDROP2 - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 1 UNTUPLE - 1 TUPLE - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - IF - }> - ?fun_103396 PROC:<{ - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - 1 8 BLKSWAP - ?fun_ref_11ac340fa34afa1a INLINECALLDICT - 8 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - ?fun_116148 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - 1 8 BLKSWAP - ?fun_ref_bb7189d2450cf7e2 INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_119013 PROC:<{ - ?fun_ref_6dadd9d57664c967 INLINECALLDICT - 1 8 BLKSWAP - ?fun_ref_ac11b1d08d503c56 INLINECALLDICT - 8 1 BLKDROP2 - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 1 UNTUPLE - 1 TUPLE - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - IF - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D5468453666646F37335A52766744704163464D55556D4B48777162315142574D364B354B704373345036723482_} PUSHSLICE - }> - ?fun_ref_022040aa34e0e5a8 PROCREF:<{ - 267 PUSHINT - s2 PUSH - s0 s2 XCHG - ROTREV - DICTGETREF - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - CTOS - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - 1 TUPLE - }> PUSHCONT - IFELSE - }> - ?fun_ref_0f4d30a75965db60 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 1510253336 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1510253336 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - 8 PUSHINT - s0 PUSH - s4 s11 XCHG - s3 s3 s0 XCHG3 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s0 s7 XCHG - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 1629867766 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1629867766 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - 1 LDI - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - s2 s8 XCHG - 257 PUSHINT - ROTREV - 1 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s6 XCHG - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 3613954633 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 3613954633 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - s2 s7 XCHG - 257 PUSHINT - ROTREV - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISETREF - }> PUSHCONT - IFELSE - s0 s5 XCHG - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 383013829 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 383013829 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - s0 s1 XCHG - 1 TUPLE - }> PUSHCONT - <{ - NULL - }> PUSHCONT - IFELSE - s1 s2 XCHG - 1 2 BLKDROP2 - 257 PUSHINT - s0 s1 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 1 UNTUPLE - NEWC - s0 s1 XCHG - s0 s1 XCHG - 257 PUSHINT - STIX - ENDC - }> PUSHCONT - IFELSE - s3 s7 XCHG - s1 s2 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISETREF - }> PUSHCONT - IFELSE - s0 s4 XCHG - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 1749966413 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1749966413 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - s2 s5 XCHG - 267 PUSHINT - ROTREV - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s3 XCHG - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 624157584 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 624157584 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - s0 s1 XCHG - <{ - 1 LDI - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - s2 s4 XCHG - 267 PUSHINT - ROTREV - 1 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s2 XCHG - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 4276365062 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 4276365062 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - s2 s3 XCHG - 267 PUSHINT - ROTREV - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTSETREF - }> PUSHCONT - IFELSE - s0 s1 XCHG - -1 PUSHINT - }> IFJMPREF - 1683777913 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 1683777913 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - s0 s1 XCHG - 1 TUPLE - }> PUSHCONT - <{ - NULL - }> PUSHCONT - IFELSE - s1 s2 XCHG - 1 2 BLKDROP2 - 267 PUSHINT - s0 s1 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 1 UNTUPLE - NEWC - s0 s1 XCHG - s0 s1 XCHG - 257 PUSHINT - STIX - ENDC - }> PUSHCONT - IFELSE - s1 s2 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTSETREF - }> PUSHCONT - IFELSE - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> - ?fun_ref_1066dd7c57c72869 PROCREF:<{ - 257 PUSHINT - s8 PUSH - s0 s2 XCHG - 1 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_10c319ce0484d846 PROCREF:<{ - s3 PUSH - }> - ?fun_ref_11ac340fa34afa1a PROCREF:<{ - 8 PUSHINT - s0 s9 PUSH2 - s3 s3 XCHG2 - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_1e8d3bea85f5828b PROCREF:<{ - s7 PUSH - }> - ?fun_ref_2343cff614aace36 PROCREF:<{ - 267 PUSHINT - s3 PUSH - s0 s2 XCHG - ROTREV - DICTGETREF - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - }> - ?fun_ref_40d98146a47dbe3b PROCREF:<{ - s0 PUSH - }> - ?fun_ref_44086a5ce86162fe PROCREF:<{ - s1 PUSH - }> - ?fun_ref_6326faa87beffd08 PROCREF:<{ - s5 PUSH - }> - ?fun_ref_6dadd9d57664c967 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDDICT - LDDICT - LDREF - s0 s1 XCHG - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - s0 POP - s6 s8 XCHG - s6 s7 XCHG - 1 8 BLKDROP2 - }> PUSHCONT - IFJMP - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_bec9abb55d6c8536 INLINECALLDICT - }> - ?fun_ref_71ea169e01d5ac83 PROCREF:<{ - 267 PUSHINT - s4 PUSH - s0 s2 XCHG - 1 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_750b5e2df7ffc4f5 PROCREF:<{ - s6 PUSH - }> - ?fun_ref_ac11b1d08d503c56 PROCREF:<{ - 257 PUSHINT - s6 PUSH - s0 s2 XCHG - ROTREV - DICTIGETREF - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - CTOS - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - 1 TUPLE - }> PUSHCONT - IFELSE - }> - ?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{ - s2 PUSH - }> - ?fun_ref_b347d9c3ebd197d4 PROCREF:<{ - s4 PUSH - }> - ?fun_ref_bb7189d2450cf7e2 PROCREF:<{ - 267 PUSHINT - s5 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_bec9abb55d6c8536 PROCREF:<{ - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - }> - ?fun_ref_e632c6e9a6caf623 PROCREF:<{ - 257 PUSHINT - s7 PUSH - s0 s2 XCHG - ROTREV - DICTIGETREF - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - }> -}END>c \ No newline at end of file diff --git a/examples/output/maps_MapTestContract.headers.fc b/examples/output/maps_MapTestContract.headers.fc deleted file mode 100644 index 330968b93..000000000 --- a/examples/output/maps_MapTestContract.headers.fc +++ /dev/null @@ -1,157 +0,0 @@ -;; -;; Header files for MapTestContract -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_dict_set_int_int -(cell, ()) __tact_dict_set_int_int(cell d, int kl, int k, int v, int vl) inline; - -;; __tact_dict_get_int_int -int __tact_dict_get_int_int(cell d, int kl, int k, int vl) inline; - -;; __tact_dict_set_uint_uint -(cell, ()) __tact_dict_set_uint_uint(cell d, int kl, int k, int v, int vl) inline; - -;; __tact_dict_get_uint_uint -int __tact_dict_get_uint_uint(cell d, int kl, int k, int vl) inline; - -;; __tact_dict_set_int_cell -(cell, ()) __tact_dict_set_int_cell(cell d, int kl, int k, cell v) inline; - -;; __tact_dict_get_int_cell -cell __tact_dict_get_int_cell(cell d, int kl, int k) inline; - -;; __tact_dict_set_slice_int -(cell, ()) __tact_dict_set_slice_int(cell d, int kl, slice k, int v, int vl) inline; - -;; __tact_dict_get_slice_int -int __tact_dict_get_slice_int(cell d, int kl, slice k, int vl) inline; - -;; __tact_dict_set_slice_cell -(cell, ()) __tact_dict_set_slice_cell(cell d, int kl, slice k, cell v) inline; - -;; __tact_dict_get_slice_cell -cell __tact_dict_get_slice_cell(cell d, int kl, slice k) inline; - -;; $SetIntMap1$_load -(slice, ((int, int))) $SetIntMap1$_load(slice sc_0) inline; - -;; $SetIntMap2$_load -(slice, ((int, int))) $SetIntMap2$_load(slice sc_0) inline; - -;; $SetIntMap3$_load -(slice, ((int, cell))) $SetIntMap3$_load(slice sc_0) inline; - -;; $SomeStruct$_store -builder $SomeStruct$_store(builder build_0, (int) v) inline; - -;; $SomeStruct$_store_cell -cell $SomeStruct$_store_cell((int) v) inline; - -;; $SomeStruct$_not_null -((int)) $SomeStruct$_not_null(tuple v) inline; - -;; $SomeStruct$_store_opt -cell $SomeStruct$_store_opt(tuple v) inline; - -;; $SomeStruct$_load -(slice, ((int))) $SomeStruct$_load(slice sc_0) inline; - -;; $SomeStruct$_as_optional -tuple $SomeStruct$_as_optional((int) v) inline; - -;; $SomeStruct$_load_opt -tuple $SomeStruct$_load_opt(cell cl) inline; - -;; $SetIntMap4$_load -(slice, ((int, tuple))) $SetIntMap4$_load(slice sc_0) inline; - -;; $SetAddrMap1$_load -(slice, ((slice, int))) $SetAddrMap1$_load(slice sc_0) inline; - -;; $SetAddrMap2$_load -(slice, ((slice, int))) $SetAddrMap2$_load(slice sc_0) inline; - -;; $SetAddrMap3$_load -(slice, ((slice, cell))) $SetAddrMap3$_load(slice sc_0) inline; - -;; $SetAddrMap4$_load -(slice, ((slice, tuple))) $SetAddrMap4$_load(slice sc_0) inline; - -;; $MapTestContract$_store -builder $MapTestContract$_store(builder build_0, (cell, cell, cell, cell, cell, cell, cell, cell) v) inline; - -;; $MapTestContract$_load -(slice, ((cell, cell, cell, cell, cell, cell, cell, cell))) $MapTestContract$_load(slice sc_0) inline; - -;; $SomeStruct$_to_tuple -tuple $SomeStruct$_to_tuple(((int)) v) inline; - -;; $SomeStruct$_to_opt_tuple -tuple $SomeStruct$_to_opt_tuple(tuple v) inline; - -;; $SomeStruct$_to_opt_external -tuple $SomeStruct$_to_opt_external(tuple v) inline; - -;; $MapTestContract$_contract_init -(cell, cell, cell, cell, cell, cell, cell, cell) $MapTestContract$_contract_init() impure inline_ref; - -;; $MapTestContract$_contract_load -(cell, cell, cell, cell, cell, cell, cell, cell) $MapTestContract$_contract_load() impure inline_ref; - -;; $MapTestContract$_contract_store -() $MapTestContract$_contract_store((cell, cell, cell, cell, cell, cell, cell, cell) v) impure inline; - -;; $MapTestContract$_fun_intMap1 -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap1((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap1Value -((cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap1Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap2 -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap2((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap2Value -((cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap2Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap3 -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap3((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap3Value -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap3Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap4 -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap4((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap4Value -((cell, cell, cell, cell, cell, cell, cell, cell), tuple) $MapTestContract$_fun_intMap4Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap1 -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap1((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap1Value -((cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap1Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap2 -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap2((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap2Value -((cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap2Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap3 -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap3((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap3Value -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap3Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap4 -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap4((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap4Value -((cell, cell, cell, cell, cell, cell, cell, cell), tuple) $MapTestContract$_fun_addrMap4Value((cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; diff --git a/examples/output/maps_MapTestContract.md b/examples/output/maps_MapTestContract.md deleted file mode 100644 index 9c94bc064..000000000 --- a/examples/output/maps_MapTestContract.md +++ /dev/null @@ -1,127 +0,0 @@ -# TACT Compilation Report -Contract: MapTestContract -BOC Size: 1783 bytes - -# Types -Total Types: 13 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## SetIntMap1 -TLB: `set_int_map1#5a04a318 key:int257 value:Maybe int257 = SetIntMap1` -Signature: `SetIntMap1{key:int257,value:Maybe int257}` - -## SetIntMap2 -TLB: `set_int_map2#6125cef6 key:int257 value:Maybe bool = SetIntMap2` -Signature: `SetIntMap2{key:int257,value:Maybe bool}` - -## SetIntMap3 -TLB: `set_int_map3#d7689249 key:int257 value:Maybe ^cell = SetIntMap3` -Signature: `SetIntMap3{key:int257,value:Maybe ^cell}` - -## SetIntMap4 -TLB: `set_int_map4#16d453c5 key:int257 value:Maybe SomeStruct{value:int257} = SetIntMap4` -Signature: `SetIntMap4{key:int257,value:Maybe SomeStruct{value:int257}}` - -## SetAddrMap1 -TLB: `set_addr_map1#684e5e4d key:address value:Maybe int257 = SetAddrMap1` -Signature: `SetAddrMap1{key:address,value:Maybe int257}` - -## SetAddrMap2 -TLB: `set_addr_map2#2533e390 key:address value:Maybe bool = SetAddrMap2` -Signature: `SetAddrMap2{key:address,value:Maybe bool}` - -## SetAddrMap3 -TLB: `set_addr_map3#fee42706 key:address value:Maybe ^cell = SetAddrMap3` -Signature: `SetAddrMap3{key:address,value:Maybe ^cell}` - -## SetAddrMap4 -TLB: `set_addr_map4#645c6979 key:address value:Maybe SomeStruct{value:int257} = SetAddrMap4` -Signature: `SetAddrMap4{key:address,value:Maybe SomeStruct{value:int257}}` - -## SomeStruct -TLB: `_ value:int257 = SomeStruct` -Signature: `SomeStruct{value:int257}` - -## SomeStruct2 -TLB: `_ value:int257 intMap1:dict = SomeStruct2` -Signature: `SomeStruct2{value:int257,intMap1:dict}` - -# Get Methods -Total Get Methods: 16 - -## intMap1 - -## intMap1Value -Argument: key - -## intMap2 - -## intMap2Value -Argument: key - -## intMap3 - -## intMap3Value -Argument: key - -## intMap4 - -## intMap4Value -Argument: key - -## addrMap1 - -## addrMap1Value -Argument: key - -## addrMap2 - -## addrMap2Value -Argument: key - -## addrMap3 - -## addrMap3Value -Argument: key - -## addrMap4 - -## addrMap4Value -Argument: key - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/examples/output/maps_MapTestContract.pkg b/examples/output/maps_MapTestContract.pkg deleted file mode 100644 index bad30da6c..000000000 --- a/examples/output/maps_MapTestContract.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"MapTestContract","code":"te6ccgECQgEABusAART/APSkE/S88sgLAQIBYgIDAtbQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVF9s88uCCyPhDAcx/AcoAVXBQePQAFfQAA8j0ABL0APQAAsj0ABP0ABP0AMlYzMkBzMntVD8EAgEgDA0E8gGSMH/gcCHXScIflTAg1wsf3iCCEFoEoxi6jj0w0x8BghBaBKMYuvLggYEBAdcA0gABlYEBAdcAkm0B4llsEnggEEtDMCFulVtZ9FswmMgBzwFBM/RD4gd/4CCCEGElzva64wIgghDXaJJJuuMCIIIQFtRTxbrjAiAFBgcIAHYw0x8BghBhJc72uvLggYEBAdcA0gABktIAkm0B4llsEhAogQEBWXEhbpVbWfRaMJjIAc8AQTP0QuIGfwBqMNMfAYIQ12iSSbry4IGBAQHXANIAAZHUkm0B4llsEhAngQEBWSBulTBZ9FowlEEz9BXiBX8AqDDTHwGCEBbUU8W68uCBgQEB1wDSAAGYgQEB1wABbwGRbeISbBKBAQEBIG6SMG2OECBu8tCAbyHIAQGBAQHPAMniEDcSIG6VMFn0WjCUQTP0FeIEfwP+ghBoTl5Nuo5bMNMfAYIQaE5eTbry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAAZWBAQHXAJJtAeJZbBIQJYEBC1mBAQEhbpVbWfRZMJjIAc8AQTP0QeIDf+AgghAlM+OQuuMCIIIQ/uQnBrrjAoIQZFxpeQkKCwCsMNMfAYIQJTPjkLry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAAZLSAJJtAeJZbBIQJIEBC1lxIW6VW1n0WTCYyAHPAEEz9EHiAn8AoDDTHwGCEP7kJwa68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGR1JJtAeJZbBIQI4EBC1kgbpUwWfRZMJRBM/QT4gF/AOK6jmvTHwGCEGRcaXm68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGYgQEB1wABbwGRbeISbBKBAQsBIG6SMG2OECBu8tCAbyHIAQGBAQHPAMniEiBulTBZ9FkwlEEz9BPif+AwcAIBIB4fAgEgDg8CASAQEQIBSBYXAgEgEhMAlbd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4TsunLVmnZbmdB0s2yjN0UkAJ5sa1INdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8VQfbPGyBIG6SMG2ZIG7y0IBvIW8B4iBukjBt3oD8UAhWw+TbPFUH2zxsgYD8VAD6BAQsiAln0C2+hkjBt3yBukjBtmtCBAQHXAAExbwHiACh4UwlQM0Ez9A5voZQB1wEwkltt4gIBSBgZAgEgGxwAEKq+7UTQ0gABAkyptCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPFUH2zxsgT8aAC6BAQslAoEBAUEz9ApvoZQB1wAwkltt4gJBrHLtniqD7Z42QJA3SRg2zJA3eWhAN5C3gPEQN0kYNu9APx0AdazdxoatLgzOZ0Xl6i2qjQimzMyN5uZrSk7M6I4ILGjJqqqtqWkO7ixGKihK6abJZqluCG5migbORpBAAD6BAQEmAln0DW+hkjBt3yBukjBtmtCBAQHXAAExbwHiAgEgICECASAwMQIBICIjAgEgKSoCASAkJQIVsik2zxVB9s8bIGA/KAIRr0Ptnm2eNkDAPyYCTa2qEGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eKoPtnjZAwD8nAAInACqBAQskAnFBM/QKb6GUAdcAMJJbbeIAHIEBAScCWfQNb6GSMG3fAhGxsXbPNs8bIGA/KwIBICwtAAIlAhGvcm2ebZ42QMA/LgIRruJtnm2eNkDAPy8AAiYAAiACASAyMwIRtaw7Z5tnjZAwP0ACAW40NQIBIDg5Ag+mR7Z5tnjZAz82Akul6EGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eKoPtnjZAz83AAIhAByBAQsjAln0C2+hkjBt3wIRrxFtnm2eNkDAPzoCA6KCOzwAAiQCDWts82zxsgY/PQIR1tniqD7Z42QMPz4AAiIAKoEBASgCcUEz9AxvoZQB1wAwkltt4gFw7UTQ1AH4Y9IAAY4d9AT0BNQB0PQE9AT0BNQw0PQE9AT0BDAQaBBnbBjgMPgo1wsKgwm68uCJ2zxBAAIjABBtbW1tbW1tbQ==","abi":"{\"name\":\"MapTestContract\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"SetIntMap1\",\"header\":1510253336,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}]},{\"name\":\"SetIntMap2\",\"header\":1629867766,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}}]},{\"name\":\"SetIntMap3\",\"header\":3613954633,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"SetIntMap4\",\"header\":383013829,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"SomeStruct\",\"optional\":true}}]},{\"name\":\"SetAddrMap1\",\"header\":1749966413,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}]},{\"name\":\"SetAddrMap2\",\"header\":624157584,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}}]},{\"name\":\"SetAddrMap3\",\"header\":4276365062,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"SetAddrMap4\",\"header\":1683777913,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"SomeStruct\",\"optional\":true}}]},{\"name\":\"SomeStruct\",\"header\":null,\"fields\":[{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"SomeStruct2\",\"header\":null,\"fields\":[{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"intMap1\",\"type\":{\"kind\":\"dict\",\"key\":\"uint\",\"keyFormat\":8,\"value\":\"uint\",\"valueFormat\":8}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetIntMap1\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetIntMap2\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetIntMap3\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetIntMap4\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetAddrMap1\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetAddrMap2\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetAddrMap3\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetAddrMap4\"}}],\"getters\":[{\"name\":\"intMap1\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"uint\",\"keyFormat\":8,\"value\":\"uint\",\"valueFormat\":8}},{\"name\":\"intMap1Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap2\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"bool\"}},{\"name\":\"intMap2Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}},{\"name\":\"intMap3\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"cell\",\"valueFormat\":\"ref\"}},{\"name\":\"intMap3Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"intMap4\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"SomeStruct\",\"valueFormat\":\"ref\"}},{\"name\":\"intMap4Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"SomeStruct\",\"optional\":true}},{\"name\":\"addrMap1\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"int\"}},{\"name\":\"addrMap1Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap2\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"bool\"}},{\"name\":\"addrMap2Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}},{\"name\":\"addrMap3\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"cell\",\"valueFormat\":\"ref\"}},{\"name\":\"addrMap3Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"addrMap4\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"SomeStruct\",\"valueFormat\":\"ref\"}},{\"name\":\"addrMap4Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"SomeStruct\",\"optional\":true}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECRAEABvUAAQHAAQEFoMSDAgEU/wD0pBP0vPLICwMCAWI5BAIBIBYFAgEgDwYCAUgLBwIBIAkIAHWs3caGrS4MzmdF5eotqo0IpszMjebma0pOzOiOCCxoyaqqralpDu4sRiooSummyWapbghuZooGzkaQQAJBrHLtniqD7Z42QJA3SRg2zJA3eWhAN5C3gPEQN0kYNu9AQgoAPoEBASYCWfQNb6GSMG3fIG6SMG2a0IEBAdcAATFvAeICAUgODAJMqbQg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zxVB9s8bIFCDQAugQELJQKBAQFBM/QKb6GUAdcAMJJbbeIAEKq+7UTQ0gABAgEgERAAlbd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4TsunLVmnZbmdB0s2yjN0UkAIBIBQSAhWw+TbPFUH2zxsgYEITACh4UwlQM0Ez9A5voZQB1wEwkltt4gJ5sa1INdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8VQfbPGyBIG6SMG2ZIG7y0IBvIW8B4iBukjBt3oEIVAD6BAQsiAln0C2+hkjBt3yBukjBtmtCBAQHXAAExbwHiAgEgKBcCASAaGAIRtaw7Z5tnjZAwQhkAAiMCASAjGwIBICEcAgOigh8dAhHW2eKoPtnjZAxCHgAqgQEBKAJxQTP0DG+hlAHXADCSW23iAg1rbPNs8bIGQiAAAiICEa8RbZ5tnjZAwEIiAAIkAgFuJiQCS6XoQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEbZ4qg+2eNkDQiUAHIEBCyMCWfQLb6GSMG3fAg+mR7Z5tnjZA0InAAIhAgEgMSkCASAvKgIBIC0rAhGu4m2ebZ42QMBCLAACIAIRr3Jtnm2eNkDAQi4AAiYCEbGxds82zxsgYEIwAAIlAgEgNDICFbIpNs8VQfbPGyBgQjMAHIEBAScCWfQNb6GSMG3fAgEgNzUCTa2qEGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eKoPtnjZAwEI2ACqBAQskAnFBM/QKb6GUAdcAMJJbbeICEa9D7Z5tnjZAwEI4AAInAtbQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVF9s88uCCyPhDAcx/AcoAVXBQePQAFfQAA8j0ABL0APQAAsj0ABP0ABP0AMlYzMkBzMntVEI6BPIBkjB/4HAh10nCH5UwINcLH94gghBaBKMYuo49MNMfAYIQWgSjGLry4IGBAQHXANIAAZWBAQHXAJJtAeJZbBJ4IBBLQzAhbpVbWfRbMJjIAc8BQTP0Q+IHf+AgghBhJc72uuMCIIIQ12iSSbrjAiCCEBbUU8W64wIgQUA/OwP+ghBoTl5Nuo5bMNMfAYIQaE5eTbry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAAZWBAQHXAJJtAeJZbBIQJYEBC1mBAQEhbpVbWfRZMJjIAc8AQTP0QeIDf+AgghAlM+OQuuMCIIIQ/uQnBrrjAoIQZFxpeT49PADiuo5r0x8BghBkXGl5uvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABmIEBAdcAAW8BkW3iEmwSgQELASBukjBtjhAgbvLQgG8hyAEBgQEBzwDJ4hIgbpUwWfRZMJRBM/QT4n/gMHAAoDDTHwGCEP7kJwa68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGR1JJtAeJZbBIQI4EBC1kgbpUwWfRZMJRBM/QT4gF/AKww0x8BghAlM+OQuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABktIAkm0B4llsEhAkgQELWXEhbpVbWfRZMJjIAc8AQTP0QeICfwCoMNMfAYIQFtRTxbry4IGBAQHXANIAAZiBAQHXAAFvAZFt4hJsEoEBAQEgbpIwbY4QIG7y0IBvIcgBAYEBAc8AyeIQNxIgbpUwWfRaMJRBM/QV4gR/AGow0x8BghDXaJJJuvLggYEBAdcA0gABkdSSbQHiWWwSECeBAQFZIG6VMFn0WjCUQTP0FeIFfwB2MNMfAYIQYSXO9rry4IGBAQHXANIAAZLSAJJtAeJZbBIQKIEBAVlxIW6VW1n0WjCYyAHPAEEz9ELiBn8BcO1E0NQB+GPSAAGOHfQE9ATUAdD0BPQE9ATUMND0BPQE9AQwEGgQZ2wY4DD4KNcLCoMJuvLgids8QwAQbW1tbW1tbW2zTA6c"}},"sources":{"examples\\maps.tact":"bWVzc2FnZSBTZXRJbnRNYXAxIHsNCiAgICBrZXk6IEludDsNCiAgICB2YWx1ZTogSW50PzsNCn0NCg0KbWVzc2FnZSBTZXRJbnRNYXAyIHsNCiAgICBrZXk6IEludDsNCiAgICB2YWx1ZTogQm9vbD87DQp9DQoNCm1lc3NhZ2UgU2V0SW50TWFwMyB7DQogICAga2V5OiBJbnQ7DQogICAgdmFsdWU6IENlbGw/Ow0KfQ0KDQptZXNzYWdlIFNldEludE1hcDQgew0KICAgIGtleTogSW50Ow0KICAgIHZhbHVlOiBTb21lU3RydWN0PzsNCn0NCg0KbWVzc2FnZSBTZXRBZGRyTWFwMSB7DQogICAga2V5OiBBZGRyZXNzOw0KICAgIHZhbHVlOiBJbnQ/Ow0KfQ0KDQptZXNzYWdlIFNldEFkZHJNYXAyIHsNCiAgICBrZXk6IEFkZHJlc3M7DQogICAgdmFsdWU6IEJvb2w/Ow0KfQ0KDQptZXNzYWdlIFNldEFkZHJNYXAzIHsNCiAgICBrZXk6IEFkZHJlc3M7DQogICAgdmFsdWU6IENlbGw/Ow0KfQ0KDQptZXNzYWdlIFNldEFkZHJNYXA0IHsNCiAgICBrZXk6IEFkZHJlc3M7DQogICAgdmFsdWU6IFNvbWVTdHJ1Y3Q/Ow0KfQ0KDQpzdHJ1Y3QgU29tZVN0cnVjdCB7DQogICAgdmFsdWU6IEludDsNCn0NCg0Kc3RydWN0IFNvbWVTdHJ1Y3QyIHsNCiAgICB2YWx1ZTogSW50Ow0KICAgIGludE1hcDE6IG1hcDxJbnQgYXMgdWludDgsIEludCBhcyB1aW50OD47DQp9DQoNCmNvbnRyYWN0IE1hcFRlc3RDb250cmFjdCB7DQogICAgaW5pdCgpIHsNCiAgICAgICAgLy8gTm90aGluZyB0byBkbw0KICAgIH0NCiAgICAvLw0KICAgIC8vIEludCBNYXBzDQogICAgLy8NCg0KICAgIGludE1hcDE6IG1hcDxJbnQgYXMgdWludDgsIEludCBhcyB1aW50OD47DQogICAgaW50TWFwMjogbWFwPEludCwgQm9vbD47DQogICAgaW50TWFwMzogbWFwPEludCwgQ2VsbD47DQogICAgaW50TWFwNDogbWFwPEludCwgU29tZVN0cnVjdD47DQoNCiAgICByZWNlaXZlKG1zZzogU2V0SW50TWFwMSkgew0KICAgICAgICBzZWxmLmludE1hcDEuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgfQ0KDQogICAgcmVjZWl2ZShtc2c6IFNldEludE1hcDIpIHsNCiAgICAgICAgc2VsZi5pbnRNYXAyLnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBTZXRJbnRNYXAzKSB7DQogICAgICAgIHNlbGYuaW50TWFwMy5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2V0SW50TWFwNCkgew0KICAgICAgICBzZWxmLmludE1hcDQuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXAxKCk6IG1hcDxJbnQgYXMgdWludDgsIEludCBhcyB1aW50OD4gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXAxOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwMVZhbHVlKGtleTogSW50KTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDEuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXAyKCk6IG1hcDxJbnQsIEJvb2w+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwMjsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDJWYWx1ZShrZXk6IEludCk6IEJvb2w/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwMi5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDMoKTogbWFwPEludCwgQ2VsbD4gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXAzOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwM1ZhbHVlKGtleTogSW50KTogQ2VsbD8gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXAzLmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwNCgpOiBtYXA8SW50LCBTb21lU3RydWN0PiB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDQ7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA0VmFsdWUoa2V5OiBJbnQpOiBTb21lU3RydWN0PyB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDQuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgLy8NCiAgICAvLyBBZGRyZXNzIEtleXMNCiAgICAvLw0KDQogICAgYWRkck1hcDE6IG1hcDxBZGRyZXNzLCBJbnQ+Ow0KICAgIGFkZHJNYXAyOiBtYXA8QWRkcmVzcywgQm9vbD47DQogICAgYWRkck1hcDM6IG1hcDxBZGRyZXNzLCBDZWxsPjsNCiAgICBhZGRyTWFwNDogbWFwPEFkZHJlc3MsIFNvbWVTdHJ1Y3Q+Ow0KDQogICAgcmVjZWl2ZShtc2c6IFNldEFkZHJNYXAxKSB7DQogICAgICAgIHNlbGYuYWRkck1hcDEuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgfQ0KDQogICAgcmVjZWl2ZShtc2c6IFNldEFkZHJNYXAyKSB7DQogICAgICAgIHNlbGYuYWRkck1hcDIuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgfQ0KDQogICAgcmVjZWl2ZShtc2c6IFNldEFkZHJNYXAzKSB7DQogICAgICAgIHNlbGYuYWRkck1hcDMuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgfQ0KDQogICAgcmVjZWl2ZShtc2c6IFNldEFkZHJNYXA0KSB7DQogICAgICAgIHNlbGYuYWRkck1hcDQuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwMSgpOiBtYXA8QWRkcmVzcywgSW50PiB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXAxOw0KICAgIH0NCiAgICANCiAgICBnZXQgZnVuIGFkZHJNYXAxVmFsdWUoa2V5OiBBZGRyZXNzKTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXAxLmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gYWRkck1hcDIoKTogbWFwPEFkZHJlc3MsIEJvb2w+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDI7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwMlZhbHVlKGtleTogQWRkcmVzcyk6IEJvb2w/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDIuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwMygpOiBtYXA8QWRkcmVzcywgQ2VsbD4gew0KICAgICAgICByZXR1cm4gc2VsZi5hZGRyTWFwMzsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXAzVmFsdWUoa2V5OiBBZGRyZXNzKTogQ2VsbD8gew0KICAgICAgICByZXR1cm4gc2VsZi5hZGRyTWFwMy5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA0KCk6IG1hcDxBZGRyZXNzLCBTb21lU3RydWN0PiB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA0Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gYWRkck1hcDRWYWx1ZShrZXk6IEFkZHJlc3MpOiBTb21lU3RydWN0PyB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA0LmdldChrZXkpOw0KICAgIH0NCn0NCg=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/maps.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/maps_MapTestContract.stdlib.fc b/examples/output/maps_MapTestContract.stdlib.fc deleted file mode 100644 index bfdfe4e47..000000000 --- a/examples/output/maps_MapTestContract.stdlib.fc +++ /dev/null @@ -1,119 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -(cell, int) __tact_dict_delete(cell dict, int key_len, slice index) asm(index dict key_len) "DICTDEL"; - -((cell), ()) __tact_dict_set_ref(cell dict, int key_len, slice index, cell value) asm(value index dict key_len) "DICTSETREF"; - -(slice, int) __tact_dict_get(cell dict, int key_len, slice index) asm(index dict key_len) "DICTGET" "NULLSWAPIFNOT"; - -(cell, int) __tact_dict_get_ref(cell dict, int key_len, slice index) asm(index dict key_len) "DICTGETREF" "NULLSWAPIFNOT"; - -(cell, ()) __tact_dict_set_int_int(cell d, int kl, int k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = idict_delete?(d, kl, k); - return (r, ()); - } else { - return (idict_set_builder(d, kl, k, begin_cell().store_int(v, vl)), ()); - } -} - -int __tact_dict_get_int_int(cell d, int kl, int k, int vl) inline { - var (r, ok) = idict_get?(d, kl, k); - if (ok) { - return r~load_int(vl); - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_uint_uint(cell d, int kl, int k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = udict_delete?(d, kl, k); - return (r, ()); - } else { - return (udict_set_builder(d, kl, k, begin_cell().store_uint(v, vl)), ()); - } -} - -int __tact_dict_get_uint_uint(cell d, int kl, int k, int vl) inline { - var (r, ok) = udict_get?(d, kl, k); - if (ok) { - return r~load_uint(vl); - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_int_cell(cell d, int kl, int k, cell v) inline { - if (null?(v)) { - var (r, ok) = idict_delete?(d, kl, k); - return (r, ()); - } else { - return (idict_set_ref(d, kl, k, v), ()); - } -} - -cell __tact_dict_get_int_cell(cell d, int kl, int k) inline { - var (r, ok) = idict_get_ref?(d, kl, k); - if (ok) { - return r; - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_slice_int(cell d, int kl, slice k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = __tact_dict_delete(d, kl, k); - return (r, ()); - } else { - return (dict_set_builder(d, kl, k, begin_cell().store_int(v, vl)), ()); - } -} - -int __tact_dict_get_slice_int(cell d, int kl, slice k, int vl) inline { - var (r, ok) = __tact_dict_get(d, kl, k); - if (ok) { - return r~load_int(vl); - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_slice_cell(cell d, int kl, slice k, cell v) inline { - if (null?(v)) { - var (r, ok) = __tact_dict_delete(d, kl, k); - return (r, ()); - } else { - return __tact_dict_set_ref(d, kl, k, v); - } -} - -cell __tact_dict_get_slice_cell(cell d, int kl, slice k) inline { - var (r, ok) = __tact_dict_get_ref(d, kl, k); - if (ok) { - return r; - } else { - return null(); - } -} - -forall X0 -> tuple __tact_tuple_create_1((X0) v) asm "1 TUPLE"; - -forall X0 -> (X0) __tact_tuple_destroy_1(tuple v) asm "1 UNTUPLE"; \ No newline at end of file diff --git a/examples/output/maps_MapTestContract.storage.fc b/examples/output/maps_MapTestContract.storage.fc deleted file mode 100644 index bcedd9a27..000000000 --- a/examples/output/maps_MapTestContract.storage.fc +++ /dev/null @@ -1,224 +0,0 @@ -;; -;; Type: SetIntMap1 -;; Header: 0x5a04a318 -;; TLB: set_int_map1#5a04a318 key:int257 value:Maybe int257 = SetIntMap1 -;; - -(slice, ((int, int))) $SetIntMap1$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1510253336); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetIntMap2 -;; Header: 0x6125cef6 -;; TLB: set_int_map2#6125cef6 key:int257 value:Maybe bool = SetIntMap2 -;; - -(slice, ((int, int))) $SetIntMap2$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1629867766); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(1) ? sc_0~load_int(1) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetIntMap3 -;; Header: 0xd7689249 -;; TLB: set_int_map3#d7689249 key:int257 value:Maybe ^cell = SetIntMap3 -;; - -(slice, ((int, cell))) $SetIntMap3$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 3613954633); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(1) ? sc_0~load_ref() : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SomeStruct -;; TLB: _ value:int257 = SomeStruct -;; - -builder $SomeStruct$_store(builder build_0, (int) v) inline { - var (v'value) = v; - build_0 = build_0.store_int(v'value, 257); - return build_0; -} - -cell $SomeStruct$_store_cell((int) v) inline { - return $SomeStruct$_store(begin_cell(), v).end_cell(); -} - -((int)) $SomeStruct$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (int vvv'value) = __tact_tuple_destroy_1(v); - return (vvv'value); -} - -cell $SomeStruct$_store_opt(tuple v) inline { - if (null?(v)) { - return null(); - } - return $SomeStruct$_store_cell($SomeStruct$_not_null(v)); -} - -(slice, ((int))) $SomeStruct$_load(slice sc_0) inline { - var v'value = sc_0~load_int(257); - return (sc_0, (v'value)); -} - -tuple $SomeStruct$_as_optional((int) v) inline { - var (v'value) = v; - return __tact_tuple_create_1(v'value); -} - -tuple $SomeStruct$_load_opt(cell cl) inline { - if (null?(cl)) { - return null(); - } - var sc = cl.begin_parse(); - return $SomeStruct$_as_optional(sc~$SomeStruct$_load()); -} - -tuple $SomeStruct$_to_tuple(((int)) v) inline { - var (v'value) = v; - return __tact_tuple_create_1(v'value); -} - -tuple $SomeStruct$_to_opt_tuple(tuple v) inline { - if (null?(v)) { return null(); } - return $SomeStruct$_to_tuple($SomeStruct$_not_null(v)); -} - -tuple $SomeStruct$_to_opt_external(tuple v) inline { - var loaded = $SomeStruct$_to_opt_tuple(v); - if (null?(loaded)) { - return null(); - } else { - return (loaded); - } -} - -;; -;; Type: SetIntMap4 -;; Header: 0x16d453c5 -;; TLB: set_int_map4#16d453c5 key:int257 value:Maybe SomeStruct{value:int257} = SetIntMap4 -;; - -(slice, ((int, tuple))) $SetIntMap4$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 383013829); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(1) ? $SomeStruct$_as_optional(sc_0~$SomeStruct$_load()) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetAddrMap1 -;; Header: 0x684e5e4d -;; TLB: set_addr_map1#684e5e4d key:address value:Maybe int257 = SetAddrMap1 -;; - -(slice, ((slice, int))) $SetAddrMap1$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1749966413); - var v'key = sc_0~__tact_load_address(); - var v'value = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetAddrMap2 -;; Header: 0x2533e390 -;; TLB: set_addr_map2#2533e390 key:address value:Maybe bool = SetAddrMap2 -;; - -(slice, ((slice, int))) $SetAddrMap2$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 624157584); - var v'key = sc_0~__tact_load_address(); - var v'value = sc_0~load_int(1) ? sc_0~load_int(1) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetAddrMap3 -;; Header: 0xfee42706 -;; TLB: set_addr_map3#fee42706 key:address value:Maybe ^cell = SetAddrMap3 -;; - -(slice, ((slice, cell))) $SetAddrMap3$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 4276365062); - var v'key = sc_0~__tact_load_address(); - var v'value = sc_0~load_int(1) ? sc_0~load_ref() : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetAddrMap4 -;; Header: 0x645c6979 -;; TLB: set_addr_map4#645c6979 key:address value:Maybe SomeStruct{value:int257} = SetAddrMap4 -;; - -(slice, ((slice, tuple))) $SetAddrMap4$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1683777913); - var v'key = sc_0~__tact_load_address(); - var v'value = sc_0~load_int(1) ? $SomeStruct$_as_optional(sc_0~$SomeStruct$_load()) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: MapTestContract -;; - -builder $MapTestContract$_store(builder build_0, (cell, cell, cell, cell, cell, cell, cell, cell) v) inline { - var (v'intMap1, v'intMap2, v'intMap3, v'intMap4, v'addrMap1, v'addrMap2, v'addrMap3, v'addrMap4) = v; - build_0 = build_0.store_dict(v'intMap1); - build_0 = build_0.store_dict(v'intMap2); - var build_1 = begin_cell(); - build_1 = build_1.store_dict(v'intMap3); - build_1 = build_1.store_dict(v'intMap4); - build_1 = build_1.store_dict(v'addrMap1); - var build_2 = begin_cell(); - build_2 = build_2.store_dict(v'addrMap2); - build_2 = build_2.store_dict(v'addrMap3); - build_2 = build_2.store_dict(v'addrMap4); - build_1 = store_ref(build_1, build_2.end_cell()); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((cell, cell, cell, cell, cell, cell, cell, cell))) $MapTestContract$_load(slice sc_0) inline { - var v'intMap1 = sc_0~load_dict(); - var v'intMap2 = sc_0~load_dict(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'intMap3 = sc_1~load_dict(); - var v'intMap4 = sc_1~load_dict(); - var v'addrMap1 = sc_1~load_dict(); - slice sc_2 = sc_1~load_ref().begin_parse(); - var v'addrMap2 = sc_2~load_dict(); - var v'addrMap3 = sc_2~load_dict(); - var v'addrMap4 = sc_2~load_dict(); - return (sc_0, (v'intMap1, v'intMap2, v'intMap3, v'intMap4, v'addrMap1, v'addrMap2, v'addrMap3, v'addrMap4)); -} - -(cell, cell, cell, cell, cell, cell, cell, cell) $MapTestContract$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$MapTestContract$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $MapTestContract$_contract_init(); - } -} - -() $MapTestContract$_contract_store((cell, cell, cell, cell, cell, cell, cell, cell) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $MapTestContract$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/maps_MapTestContract.ts b/examples/output/maps_MapTestContract.ts deleted file mode 100644 index f436ceb79..000000000 --- a/examples/output/maps_MapTestContract.ts +++ /dev/null @@ -1,943 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type SetIntMap1 = { - $$type: 'SetIntMap1'; - key: bigint; - value: bigint | null; -} - -export function storeSetIntMap1(src: SetIntMap1) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1510253336, 32); - b_0.storeInt(src.key, 257); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeInt(src.value, 257); } else { b_0.storeBit(false); } - }; -} - -export function loadSetIntMap1(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1510253336) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - return { $$type: 'SetIntMap1' as const, key: _key, value: _value }; -} - -function loadTupleSetIntMap1(source: TupleReader) { - let _key = source.readBigNumber(); - let _value = source.readBigNumberOpt(); - return { $$type: 'SetIntMap1' as const, key: _key, value: _value }; -} - -function storeTupleSetIntMap1(source: SetIntMap1) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSetIntMap1(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetIntMap1(src)).endCell()); - }, - parse: (src) => { - return loadSetIntMap1(src.loadRef().beginParse()); - } - } -} - -export type SetIntMap2 = { - $$type: 'SetIntMap2'; - key: bigint; - value: boolean | null; -} - -export function storeSetIntMap2(src: SetIntMap2) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1629867766, 32); - b_0.storeInt(src.key, 257); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeBit(src.value); } else { b_0.storeBit(false); } - }; -} - -export function loadSetIntMap2(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1629867766) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadBit() ? sc_0.loadBit() : null; - return { $$type: 'SetIntMap2' as const, key: _key, value: _value }; -} - -function loadTupleSetIntMap2(source: TupleReader) { - let _key = source.readBigNumber(); - let _value = source.readBooleanOpt(); - return { $$type: 'SetIntMap2' as const, key: _key, value: _value }; -} - -function storeTupleSetIntMap2(source: SetIntMap2) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeBoolean(source.value); - return builder.build(); -} - -function dictValueParserSetIntMap2(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetIntMap2(src)).endCell()); - }, - parse: (src) => { - return loadSetIntMap2(src.loadRef().beginParse()); - } - } -} - -export type SetIntMap3 = { - $$type: 'SetIntMap3'; - key: bigint; - value: Cell | null; -} - -export function storeSetIntMap3(src: SetIntMap3) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3613954633, 32); - b_0.storeInt(src.key, 257); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeRef(src.value); } else { b_0.storeBit(false); } - }; -} - -export function loadSetIntMap3(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3613954633) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SetIntMap3' as const, key: _key, value: _value }; -} - -function loadTupleSetIntMap3(source: TupleReader) { - let _key = source.readBigNumber(); - let _value = source.readCellOpt(); - return { $$type: 'SetIntMap3' as const, key: _key, value: _value }; -} - -function storeTupleSetIntMap3(source: SetIntMap3) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeCell(source.value); - return builder.build(); -} - -function dictValueParserSetIntMap3(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetIntMap3(src)).endCell()); - }, - parse: (src) => { - return loadSetIntMap3(src.loadRef().beginParse()); - } - } -} - -export type SetIntMap4 = { - $$type: 'SetIntMap4'; - key: bigint; - value: SomeStruct | null; -} - -export function storeSetIntMap4(src: SetIntMap4) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(383013829, 32); - b_0.storeInt(src.key, 257); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true); b_0.store(storeSomeStruct(src.value)); } else { b_0.storeBit(false); } - }; -} - -export function loadSetIntMap4(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 383013829) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadBit() ? loadSomeStruct(sc_0) : null; - return { $$type: 'SetIntMap4' as const, key: _key, value: _value }; -} - -function loadTupleSetIntMap4(source: TupleReader) { - let _key = source.readBigNumber(); - const _value_p = source.readTupleOpt(); - const _value = _value_p ? loadTupleSomeStruct(_value_p) : null; - return { $$type: 'SetIntMap4' as const, key: _key, value: _value }; -} - -function storeTupleSetIntMap4(source: SetIntMap4) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - if (source.value !== null && source.value !== undefined) { - builder.writeTuple(storeTupleSomeStruct(source.value)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserSetIntMap4(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetIntMap4(src)).endCell()); - }, - parse: (src) => { - return loadSetIntMap4(src.loadRef().beginParse()); - } - } -} - -export type SetAddrMap1 = { - $$type: 'SetAddrMap1'; - key: Address; - value: bigint | null; -} - -export function storeSetAddrMap1(src: SetAddrMap1) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1749966413, 32); - b_0.storeAddress(src.key); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeInt(src.value, 257); } else { b_0.storeBit(false); } - }; -} - -export function loadSetAddrMap1(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1749966413) { throw Error('Invalid prefix'); } - let _key = sc_0.loadAddress(); - let _value = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - return { $$type: 'SetAddrMap1' as const, key: _key, value: _value }; -} - -function loadTupleSetAddrMap1(source: TupleReader) { - let _key = source.readAddress(); - let _value = source.readBigNumberOpt(); - return { $$type: 'SetAddrMap1' as const, key: _key, value: _value }; -} - -function storeTupleSetAddrMap1(source: SetAddrMap1) { - let builder = new TupleBuilder(); - builder.writeAddress(source.key); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSetAddrMap1(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetAddrMap1(src)).endCell()); - }, - parse: (src) => { - return loadSetAddrMap1(src.loadRef().beginParse()); - } - } -} - -export type SetAddrMap2 = { - $$type: 'SetAddrMap2'; - key: Address; - value: boolean | null; -} - -export function storeSetAddrMap2(src: SetAddrMap2) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(624157584, 32); - b_0.storeAddress(src.key); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeBit(src.value); } else { b_0.storeBit(false); } - }; -} - -export function loadSetAddrMap2(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 624157584) { throw Error('Invalid prefix'); } - let _key = sc_0.loadAddress(); - let _value = sc_0.loadBit() ? sc_0.loadBit() : null; - return { $$type: 'SetAddrMap2' as const, key: _key, value: _value }; -} - -function loadTupleSetAddrMap2(source: TupleReader) { - let _key = source.readAddress(); - let _value = source.readBooleanOpt(); - return { $$type: 'SetAddrMap2' as const, key: _key, value: _value }; -} - -function storeTupleSetAddrMap2(source: SetAddrMap2) { - let builder = new TupleBuilder(); - builder.writeAddress(source.key); - builder.writeBoolean(source.value); - return builder.build(); -} - -function dictValueParserSetAddrMap2(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetAddrMap2(src)).endCell()); - }, - parse: (src) => { - return loadSetAddrMap2(src.loadRef().beginParse()); - } - } -} - -export type SetAddrMap3 = { - $$type: 'SetAddrMap3'; - key: Address; - value: Cell | null; -} - -export function storeSetAddrMap3(src: SetAddrMap3) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(4276365062, 32); - b_0.storeAddress(src.key); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeRef(src.value); } else { b_0.storeBit(false); } - }; -} - -export function loadSetAddrMap3(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 4276365062) { throw Error('Invalid prefix'); } - let _key = sc_0.loadAddress(); - let _value = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SetAddrMap3' as const, key: _key, value: _value }; -} - -function loadTupleSetAddrMap3(source: TupleReader) { - let _key = source.readAddress(); - let _value = source.readCellOpt(); - return { $$type: 'SetAddrMap3' as const, key: _key, value: _value }; -} - -function storeTupleSetAddrMap3(source: SetAddrMap3) { - let builder = new TupleBuilder(); - builder.writeAddress(source.key); - builder.writeCell(source.value); - return builder.build(); -} - -function dictValueParserSetAddrMap3(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetAddrMap3(src)).endCell()); - }, - parse: (src) => { - return loadSetAddrMap3(src.loadRef().beginParse()); - } - } -} - -export type SetAddrMap4 = { - $$type: 'SetAddrMap4'; - key: Address; - value: SomeStruct | null; -} - -export function storeSetAddrMap4(src: SetAddrMap4) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1683777913, 32); - b_0.storeAddress(src.key); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true); b_0.store(storeSomeStruct(src.value)); } else { b_0.storeBit(false); } - }; -} - -export function loadSetAddrMap4(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1683777913) { throw Error('Invalid prefix'); } - let _key = sc_0.loadAddress(); - let _value = sc_0.loadBit() ? loadSomeStruct(sc_0) : null; - return { $$type: 'SetAddrMap4' as const, key: _key, value: _value }; -} - -function loadTupleSetAddrMap4(source: TupleReader) { - let _key = source.readAddress(); - const _value_p = source.readTupleOpt(); - const _value = _value_p ? loadTupleSomeStruct(_value_p) : null; - return { $$type: 'SetAddrMap4' as const, key: _key, value: _value }; -} - -function storeTupleSetAddrMap4(source: SetAddrMap4) { - let builder = new TupleBuilder(); - builder.writeAddress(source.key); - if (source.value !== null && source.value !== undefined) { - builder.writeTuple(storeTupleSomeStruct(source.value)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserSetAddrMap4(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetAddrMap4(src)).endCell()); - }, - parse: (src) => { - return loadSetAddrMap4(src.loadRef().beginParse()); - } - } -} - -export type SomeStruct = { - $$type: 'SomeStruct'; - value: bigint; -} - -export function storeSomeStruct(src: SomeStruct) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.value, 257); - }; -} - -export function loadSomeStruct(slice: Slice) { - let sc_0 = slice; - let _value = sc_0.loadIntBig(257); - return { $$type: 'SomeStruct' as const, value: _value }; -} - -function loadTupleSomeStruct(source: TupleReader) { - let _value = source.readBigNumber(); - return { $$type: 'SomeStruct' as const, value: _value }; -} - -function storeTupleSomeStruct(source: SomeStruct) { - let builder = new TupleBuilder(); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSomeStruct(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSomeStruct(src)).endCell()); - }, - parse: (src) => { - return loadSomeStruct(src.loadRef().beginParse()); - } - } -} - -export type SomeStruct2 = { - $$type: 'SomeStruct2'; - value: bigint; - intMap1: Dictionary; -} - -export function storeSomeStruct2(src: SomeStruct2) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.value, 257); - b_0.storeDict(src.intMap1, Dictionary.Keys.Uint(8), Dictionary.Values.Uint(8)); - }; -} - -export function loadSomeStruct2(slice: Slice) { - let sc_0 = slice; - let _value = sc_0.loadIntBig(257); - let _intMap1 = Dictionary.load(Dictionary.Keys.Uint(8), Dictionary.Values.Uint(8), sc_0); - return { $$type: 'SomeStruct2' as const, value: _value, intMap1: _intMap1 }; -} - -function loadTupleSomeStruct2(source: TupleReader) { - let _value = source.readBigNumber(); - let _intMap1 = Dictionary.loadDirect(Dictionary.Keys.Uint(8), Dictionary.Values.Uint(8), source.readCellOpt()); - return { $$type: 'SomeStruct2' as const, value: _value, intMap1: _intMap1 }; -} - -function storeTupleSomeStruct2(source: SomeStruct2) { - let builder = new TupleBuilder(); - builder.writeNumber(source.value); - builder.writeCell(source.intMap1.size > 0 ? beginCell().storeDictDirect(source.intMap1, Dictionary.Keys.Uint(8), Dictionary.Values.Uint(8)).endCell() : null); - return builder.build(); -} - -function dictValueParserSomeStruct2(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSomeStruct2(src)).endCell()); - }, - parse: (src) => { - return loadSomeStruct2(src.loadRef().beginParse()); - } - } -} - - type MapTestContract_init_args = { - $$type: 'MapTestContract_init_args'; -} - -function initMapTestContract_init_args(src: MapTestContract_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function MapTestContract_init() { - const __code = Cell.fromBase64('te6ccgECQgEABusAART/APSkE/S88sgLAQIBYgIDAtbQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVF9s88uCCyPhDAcx/AcoAVXBQePQAFfQAA8j0ABL0APQAAsj0ABP0ABP0AMlYzMkBzMntVD8EAgEgDA0E8gGSMH/gcCHXScIflTAg1wsf3iCCEFoEoxi6jj0w0x8BghBaBKMYuvLggYEBAdcA0gABlYEBAdcAkm0B4llsEnggEEtDMCFulVtZ9FswmMgBzwFBM/RD4gd/4CCCEGElzva64wIgghDXaJJJuuMCIIIQFtRTxbrjAiAFBgcIAHYw0x8BghBhJc72uvLggYEBAdcA0gABktIAkm0B4llsEhAogQEBWXEhbpVbWfRaMJjIAc8AQTP0QuIGfwBqMNMfAYIQ12iSSbry4IGBAQHXANIAAZHUkm0B4llsEhAngQEBWSBulTBZ9FowlEEz9BXiBX8AqDDTHwGCEBbUU8W68uCBgQEB1wDSAAGYgQEB1wABbwGRbeISbBKBAQEBIG6SMG2OECBu8tCAbyHIAQGBAQHPAMniEDcSIG6VMFn0WjCUQTP0FeIEfwP+ghBoTl5Nuo5bMNMfAYIQaE5eTbry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAAZWBAQHXAJJtAeJZbBIQJYEBC1mBAQEhbpVbWfRZMJjIAc8AQTP0QeIDf+AgghAlM+OQuuMCIIIQ/uQnBrrjAoIQZFxpeQkKCwCsMNMfAYIQJTPjkLry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAAZLSAJJtAeJZbBIQJIEBC1lxIW6VW1n0WTCYyAHPAEEz9EHiAn8AoDDTHwGCEP7kJwa68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGR1JJtAeJZbBIQI4EBC1kgbpUwWfRZMJRBM/QT4gF/AOK6jmvTHwGCEGRcaXm68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGYgQEB1wABbwGRbeISbBKBAQsBIG6SMG2OECBu8tCAbyHIAQGBAQHPAMniEiBulTBZ9FkwlEEz9BPif+AwcAIBIB4fAgEgDg8CASAQEQIBSBYXAgEgEhMAlbd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4TsunLVmnZbmdB0s2yjN0UkAJ5sa1INdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8VQfbPGyBIG6SMG2ZIG7y0IBvIW8B4iBukjBt3oD8UAhWw+TbPFUH2zxsgYD8VAD6BAQsiAln0C2+hkjBt3yBukjBtmtCBAQHXAAExbwHiACh4UwlQM0Ez9A5voZQB1wEwkltt4gIBSBgZAgEgGxwAEKq+7UTQ0gABAkyptCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPFUH2zxsgT8aAC6BAQslAoEBAUEz9ApvoZQB1wAwkltt4gJBrHLtniqD7Z42QJA3SRg2zJA3eWhAN5C3gPEQN0kYNu9APx0AdazdxoatLgzOZ0Xl6i2qjQimzMyN5uZrSk7M6I4ILGjJqqqtqWkO7ixGKihK6abJZqluCG5migbORpBAAD6BAQEmAln0DW+hkjBt3yBukjBtmtCBAQHXAAExbwHiAgEgICECASAwMQIBICIjAgEgKSoCASAkJQIVsik2zxVB9s8bIGA/KAIRr0Ptnm2eNkDAPyYCTa2qEGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eKoPtnjZAwD8nAAInACqBAQskAnFBM/QKb6GUAdcAMJJbbeIAHIEBAScCWfQNb6GSMG3fAhGxsXbPNs8bIGA/KwIBICwtAAIlAhGvcm2ebZ42QMA/LgIRruJtnm2eNkDAPy8AAiYAAiACASAyMwIRtaw7Z5tnjZAwP0ACAW40NQIBIDg5Ag+mR7Z5tnjZAz82Akul6EGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eKoPtnjZAz83AAIhAByBAQsjAln0C2+hkjBt3wIRrxFtnm2eNkDAPzoCA6KCOzwAAiQCDWts82zxsgY/PQIR1tniqD7Z42QMPz4AAiIAKoEBASgCcUEz9AxvoZQB1wAwkltt4gFw7UTQ1AH4Y9IAAY4d9AT0BNQB0PQE9AT0BNQw0PQE9AT0BDAQaBBnbBjgMPgo1wsKgwm68uCJ2zxBAAIjABBtbW1tbW1tbQ=='); - const __system = Cell.fromBase64('te6cckECRAEABvUAAQHAAQEFoMSDAgEU/wD0pBP0vPLICwMCAWI5BAIBIBYFAgEgDwYCAUgLBwIBIAkIAHWs3caGrS4MzmdF5eotqo0IpszMjebma0pOzOiOCCxoyaqqralpDu4sRiooSummyWapbghuZooGzkaQQAJBrHLtniqD7Z42QJA3SRg2zJA3eWhAN5C3gPEQN0kYNu9AQgoAPoEBASYCWfQNb6GSMG3fIG6SMG2a0IEBAdcAATFvAeICAUgODAJMqbQg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zxVB9s8bIFCDQAugQELJQKBAQFBM/QKb6GUAdcAMJJbbeIAEKq+7UTQ0gABAgEgERAAlbd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4TsunLVmnZbmdB0s2yjN0UkAIBIBQSAhWw+TbPFUH2zxsgYEITACh4UwlQM0Ez9A5voZQB1wEwkltt4gJ5sa1INdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8VQfbPGyBIG6SMG2ZIG7y0IBvIW8B4iBukjBt3oEIVAD6BAQsiAln0C2+hkjBt3yBukjBtmtCBAQHXAAExbwHiAgEgKBcCASAaGAIRtaw7Z5tnjZAwQhkAAiMCASAjGwIBICEcAgOigh8dAhHW2eKoPtnjZAxCHgAqgQEBKAJxQTP0DG+hlAHXADCSW23iAg1rbPNs8bIGQiAAAiICEa8RbZ5tnjZAwEIiAAIkAgFuJiQCS6XoQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEbZ4qg+2eNkDQiUAHIEBCyMCWfQLb6GSMG3fAg+mR7Z5tnjZA0InAAIhAgEgMSkCASAvKgIBIC0rAhGu4m2ebZ42QMBCLAACIAIRr3Jtnm2eNkDAQi4AAiYCEbGxds82zxsgYEIwAAIlAgEgNDICFbIpNs8VQfbPGyBgQjMAHIEBAScCWfQNb6GSMG3fAgEgNzUCTa2qEGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eKoPtnjZAwEI2ACqBAQskAnFBM/QKb6GUAdcAMJJbbeICEa9D7Z5tnjZAwEI4AAInAtbQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVF9s88uCCyPhDAcx/AcoAVXBQePQAFfQAA8j0ABL0APQAAsj0ABP0ABP0AMlYzMkBzMntVEI6BPIBkjB/4HAh10nCH5UwINcLH94gghBaBKMYuo49MNMfAYIQWgSjGLry4IGBAQHXANIAAZWBAQHXAJJtAeJZbBJ4IBBLQzAhbpVbWfRbMJjIAc8BQTP0Q+IHf+AgghBhJc72uuMCIIIQ12iSSbrjAiCCEBbUU8W64wIgQUA/OwP+ghBoTl5Nuo5bMNMfAYIQaE5eTbry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAAZWBAQHXAJJtAeJZbBIQJYEBC1mBAQEhbpVbWfRZMJjIAc8AQTP0QeIDf+AgghAlM+OQuuMCIIIQ/uQnBrrjAoIQZFxpeT49PADiuo5r0x8BghBkXGl5uvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABmIEBAdcAAW8BkW3iEmwSgQELASBukjBtjhAgbvLQgG8hyAEBgQEBzwDJ4hIgbpUwWfRZMJRBM/QT4n/gMHAAoDDTHwGCEP7kJwa68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGR1JJtAeJZbBIQI4EBC1kgbpUwWfRZMJRBM/QT4gF/AKww0x8BghAlM+OQuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABktIAkm0B4llsEhAkgQELWXEhbpVbWfRZMJjIAc8AQTP0QeICfwCoMNMfAYIQFtRTxbry4IGBAQHXANIAAZiBAQHXAAFvAZFt4hJsEoEBAQEgbpIwbY4QIG7y0IBvIcgBAYEBAc8AyeIQNxIgbpUwWfRaMJRBM/QV4gR/AGow0x8BghDXaJJJuvLggYEBAdcA0gABkdSSbQHiWWwSECeBAQFZIG6VMFn0WjCUQTP0FeIFfwB2MNMfAYIQYSXO9rry4IGBAQHXANIAAZLSAJJtAeJZbBIQKIEBAVlxIW6VW1n0WjCYyAHPAEEz9ELiBn8BcO1E0NQB+GPSAAGOHfQE9ATUAdD0BPQE9ATUMND0BPQE9AQwEGgQZ2wY4DD4KNcLCoMJuvLgids8QwAQbW1tbW1tbW2zTA6c'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initMapTestContract_init_args({ $$type: 'MapTestContract_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const MapTestContract_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const MapTestContract_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"SetIntMap1","header":1510253336,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]}, - {"name":"SetIntMap2","header":1629867766,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"bool","optional":true}}]}, - {"name":"SetIntMap3","header":3613954633,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"SetIntMap4","header":383013829,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"SomeStruct","optional":true}}]}, - {"name":"SetAddrMap1","header":1749966413,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]}, - {"name":"SetAddrMap2","header":624157584,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"bool","optional":true}}]}, - {"name":"SetAddrMap3","header":4276365062,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"SetAddrMap4","header":1683777913,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"SomeStruct","optional":true}}]}, - {"name":"SomeStruct","header":null,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"SomeStruct2","header":null,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"intMap1","type":{"kind":"dict","key":"uint","keyFormat":8,"value":"uint","valueFormat":8}}]}, -] - -const MapTestContract_getters: ABIGetter[] = [ - {"name":"intMap1","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":8,"value":"uint","valueFormat":8}}, - {"name":"intMap1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap2","arguments":[],"returnType":{"kind":"dict","key":"int","value":"bool"}}, - {"name":"intMap2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":true}}, - {"name":"intMap3","arguments":[],"returnType":{"kind":"dict","key":"int","value":"cell","valueFormat":"ref"}}, - {"name":"intMap3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"cell","optional":true}}, - {"name":"intMap4","arguments":[],"returnType":{"kind":"dict","key":"int","value":"SomeStruct","valueFormat":"ref"}}, - {"name":"intMap4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"SomeStruct","optional":true}}, - {"name":"addrMap1","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int"}}, - {"name":"addrMap1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap2","arguments":[],"returnType":{"kind":"dict","key":"address","value":"bool"}}, - {"name":"addrMap2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":true}}, - {"name":"addrMap3","arguments":[],"returnType":{"kind":"dict","key":"address","value":"cell","valueFormat":"ref"}}, - {"name":"addrMap3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"cell","optional":true}}, - {"name":"addrMap4","arguments":[],"returnType":{"kind":"dict","key":"address","value":"SomeStruct","valueFormat":"ref"}}, - {"name":"addrMap4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"SomeStruct","optional":true}}, -] - -const MapTestContract_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"SetIntMap1"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetIntMap2"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetIntMap3"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetIntMap4"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap1"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap2"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap3"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap4"}}, -] - -export class MapTestContract implements Contract { - - static async init() { - return await MapTestContract_init(); - } - - static async fromInit() { - const init = await MapTestContract_init(); - const address = contractAddress(0, init); - return new MapTestContract(address, init); - } - - static fromAddress(address: Address) { - return new MapTestContract(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: MapTestContract_types, - getters: MapTestContract_getters, - receivers: MapTestContract_receivers, - errors: MapTestContract_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: SetIntMap1 | SetIntMap2 | SetIntMap3 | SetIntMap4 | SetAddrMap1 | SetAddrMap2 | SetAddrMap3 | SetAddrMap4) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetIntMap1') { - body = beginCell().store(storeSetIntMap1(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetIntMap2') { - body = beginCell().store(storeSetIntMap2(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetIntMap3') { - body = beginCell().store(storeSetIntMap3(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetIntMap4') { - body = beginCell().store(storeSetIntMap4(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetAddrMap1') { - body = beginCell().store(storeSetAddrMap1(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetAddrMap2') { - body = beginCell().store(storeSetAddrMap2(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetAddrMap3') { - body = beginCell().store(storeSetAddrMap3(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetAddrMap4') { - body = beginCell().store(storeSetAddrMap4(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getIntMap1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap1', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Uint(8), Dictionary.Values.Uint(8), source.readCellOpt()); - return result; - } - - async getIntMap1Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap1Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap2', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Bool(), source.readCellOpt()); - return result; - } - - async getIntMap2Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap2Value', builder.build())).stack; - let result = source.readBooleanOpt(); - return result; - } - - async getIntMap3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap3', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Cell(), source.readCellOpt()); - return result; - } - - async getIntMap3Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap3Value', builder.build())).stack; - let result = source.readCellOpt(); - return result; - } - - async getIntMap4(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap4', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), dictValueParserSomeStruct(), source.readCellOpt()); - return result; - } - - async getIntMap4Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap4Value', builder.build())).stack; - const result_p = source.readTupleOpt(); - const result = result_p ? loadTupleSomeStruct(result_p) : null; - return result; - } - - async getAddrMap1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap1', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getAddrMap1Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap1Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap2', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.Bool(), source.readCellOpt()); - return result; - } - - async getAddrMap2Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap2Value', builder.build())).stack; - let result = source.readBooleanOpt(); - return result; - } - - async getAddrMap3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap3', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.Cell(), source.readCellOpt()); - return result; - } - - async getAddrMap3Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap3Value', builder.build())).stack; - let result = source.readCellOpt(); - return result; - } - - async getAddrMap4(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap4', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), dictValueParserSomeStruct(), source.readCellOpt()); - return result; - } - - async getAddrMap4Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap4Value', builder.build())).stack; - const result_p = source.readTupleOpt(); - const result = result_p ? loadTupleSomeStruct(result_p) : null; - return result; - } - -} \ No newline at end of file diff --git a/examples/output/multisig-3_MultisigContract.abi b/examples/output/multisig-3_MultisigContract.abi deleted file mode 100644 index 575487493..000000000 --- a/examples/output/multisig-3_MultisigContract.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"MultisigContract","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Operation","header":null,"fields":[{"name":"seqno","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"target","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"Execute","header":520967536,"fields":[{"name":"operation","type":{"kind":"simple","type":"Operation","optional":false}},{"name":"signature1","type":{"kind":"simple","type":"slice","optional":false}},{"name":"signature2","type":{"kind":"simple","type":"slice","optional":false}},{"name":"signature3","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"Executed","header":2652032952,"fields":[{"name":"seqno","type":{"kind":"simple","type":"uint","optional":false,"format":32}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Deploy"}},{"receiver":"internal","message":{"kind":"typed","type":"Execute"}}],"getters":[{"name":"key1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"key2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"key3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"seqno","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"17654":{"message":"Invalid seqno"},"48401":{"message":"Invalid signature"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/examples/output/multisig-3_MultisigContract.code.boc b/examples/output/multisig-3_MultisigContract.code.boc deleted file mode 100644 index 27da18972..000000000 Binary files a/examples/output/multisig-3_MultisigContract.code.boc and /dev/null differ diff --git a/examples/output/multisig-3_MultisigContract.code.boc.html b/examples/output/multisig-3_MultisigContract.code.boc.html deleted file mode 100644 index b29c4de52..000000000 --- a/examples/output/multisig-3_MultisigContract.code.boc.html +++ /dev/null @@ -1,480 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC seqno;
-            ..DECLPROC ?fun_99239;
-            ..DECLPROC ?fun_103302;
-            ..DECLPROC ?fun_107493;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_10c319ce0484d846;
-            ..DECLPROC ?fun_ref_234e7d7e6ceb0807;
-            ..DECLPROC ?fun_ref_37c0dc1d2492bb36;
-            ..DECLPROC ?fun_ref_40d98146a47dbe3b;
-            ..DECLPROC ?fun_ref_44086a5ce86162fe;
-            ..DECLPROC ?fun_ref_b2f99ae1a1dd4dfb;
-            ..DECLPROC ?fun_ref_b4dfb1ddd6931ece;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_c20f639fed760d93;
-            x1..recv_internal PROC:<{
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            26x1....4 LDU
-            18x1....s0 s1 XCHG
-            18x1....1 PUSHINT
-            18x1....AND
-            18x1....-1 MULCONST
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            34x1....s0 s6 s4 PUXCPU
-            18x1....s0 s3 XCHG
-            30x1....4 TUPLE
-            28x1....1 SETGLOBVAR
-            18x1....s0 s2 XCHG
-            29x1....2 SETGLOBVAR
-            126x1....?fun_ref_234e7d7e6ceb0807 INLINECALLDICT
-            26x1....2 4 BLKSWAP
-            126x1....?fun_ref_c20f639fed760d93 INLINECALLDICT
-            34x1....130 THROWIFNOT
-            18x1....NEWC
-            26x1....3 GETGLOBVAR
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....-1 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            26x1....4 1 BLKSWAP
-            26x1....s3 s4 XCHG2
-            26x1....32 STU
-            26x1....256 STU
-            26x1....256 STU
-            26x1....256 STU
-            518x1....ENDC
-            26x1....c4 POP
-            x1..}>
-            ..seqno PROC:<{
-            ....?fun_ref_234e7d7e6ceb0807 INLINECALLDICT
-            ....?fun_ref_10c319ce0484d846 INLINECALLDICT
-            ....4 1 BLKDROP2
-            ..}>
-            x1..?fun_99239 PROC:<{
-            126x1....?fun_ref_234e7d7e6ceb0807 INLINECALLDICT
-            126x1....?fun_ref_40d98146a47dbe3b INLINECALLDICT
-            26x1....4 1 BLKDROP2
-            x1..}>
-            x1..?fun_103302 PROC:<{
-            126x1....?fun_ref_234e7d7e6ceb0807 INLINECALLDICT
-            126x1....?fun_ref_44086a5ce86162fe INLINECALLDICT
-            26x1....4 1 BLKDROP2
-            x1..}>
-            x1..?fun_107493 PROC:<{
-            126x1....?fun_ref_234e7d7e6ceb0807 INLINECALLDICT
-            126x1....?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT
-            26x1....4 1 BLKDROP2
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D5A6751426B7050594B376F594D4E565A78556665346373447341586442356E59394445487370426636476F3982_} PUSHSLICE
-            ..}>
-            x2..?fun_ref_10c319ce0484d846 PROCREF:<{
-            18x2....s3 PUSH
-            x2..}>
-            x4..?fun_ref_234e7d7e6ceb0807 PROCREF:<{
-            26x4....c4 PUSH
-            118x4....CTOS
-            18x4....LDREF
-            18x4....s0 s1 XCHG
-            30x4....3 SETGLOBVAR
-            26x4....1 LDI
-            18x4....s0 s1 XCHG
-            18x4....<{
-            26x3......32 LDU
-            26x3......256 LDU
-            26x3......256 LDU
-            26x3......256 LDU
-            26x3......4 1 BLKSWAP
-            26x3......1 4 BLKDROP2
-            18x4....}> PUSHCONT
-            18x4....IFJMP
-            26x1....MYADDR
-            34x1....11 PLDU
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....137 THROWIFNOT
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            26x1....3 1 BLKSWAP
-            18x1....s0 s3 XCHG
-            18x1....ENDS
-            18x1....ROT
-            126x1....?fun_ref_b4dfb1ddd6931ece INLINECALLDICT
-            x4..}>
-            ..?fun_ref_37c0dc1d2492bb36 PROCREF:<{
-            ....s2 POP
-            ....-1 PUSHINT
-            ....ROTREV
-            ....0 PUSHINT
-            ....NULL
-            ....NULL
-            ....NULL
-            ....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ..}>
-            x7..?fun_ref_40d98146a47dbe3b PROCREF:<{
-            18x7....s0 PUSH
-            x7..}>
-            x5..?fun_ref_44086a5ce86162fe PROCREF:<{
-            18x5....s1 PUSH
-            x5..}>
-            x7..?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{
-            18x7....s2 PUSH
-            x7..}>
-            x1..?fun_ref_b4dfb1ddd6931ece PROCREF:<{
-            18x1....0 PUSHINT
-            26x1....3 1 BLKSWAP
-            x1..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x1..?fun_ref_c20f639fed760d93 PROCREF:<{
-            26x1....2 SAVE
-            26x1....SAMEALTSAVE
-            18x1....s0 s1 XCHG
-            18x1....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x1....}> PUSHCONT
-            18x1....IFJMP
-            18x1....0 PUSHINT
-            18x1....s1 PUSH
-            26x1....SBITS
-            26x1....31 GTINT
-            18x1....<{
-            18x1......s0 POP
-            18x1......s0 PUSH
-            34x1......32 PLDU
-            18x1....}> PUSHCONT
-            18x1....IF
-            18x1....s0 PUSH
-            23x1....520967536 PUSHINT
-            18x1....EQUAL
-            26x1....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......520967536 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......32 LDU
-            ......LDGRAMS
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s3 s3 s0 XCHG3
-            ......s0 s3 XCHG
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......s0 s1 XCHG
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......s0 s1 XCHG
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......s1 s6 XCHG
-            ......s3 s3 s0 XCHG3
-            ......1 6 BLKDROP2
-            ......s5 s4 s3 PUSH3
-            ......NEWC
-            ......3 1 BLKSWAP
-            ......s2 s3 XCHG2
-            ......32 STU
-            ......s0 s1 XCHG
-            ......STGRAMS
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......STSLICER
-            ......ENDC
-            ......HASHCU
-            ......s0 s5 PUXC
-            ......s10 PUSH
-            ......CHKSIGNU
-            ......s3 s4 PUXC
-            ......s9 PUSH
-            ......CHKSIGNU
-            ......s3 s3 s7 XC2PU
-            ......CHKSIGNU
-            ......17654 PUSHINT
-            ......s6 s10 PUSH2
-            ......EQUAL
-            ......THROWANYIFNOT
-            ......48401 PUSHINT
-            ......s0 s2 XCHG
-            ......<{
-            ........0 PUSHINT
-            ........s3 POP
-            ......}> PUSHCONT
-            ......IFNOT
-            ......s0 s2 XCHG
-            ......<{
-            ........0 PUSHINT
-            ........s2 POP
-            ......}> PUSHCONT
-            ......IFNOT
-            ......s0 s1 XCHG
-            ......THROWANYIFNOT
-            ......?fun_ref_37c0dc1d2492bb36 INLINECALLDICT
-            ......-1 PUSHINT
-            26x1....}> PUSHCONT
-            18x1....IFJMP
-            26x1....0 EQINT
-            18x1....<{
-            ......s0 POP
-            18x1....}> PUSHCONT
-            126x1....<{
-            526x1......HASHSU
-            23x1......60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT
-            18x1......EQUAL
-            18x1......<{
-            18x1........-1 PUSHINT
-            26x1........RETFALSE
-            18x1......}> PUSHCONT
-            18x1......IFJMP
-            126x1....}> IFREFELSE
-            ....0 PUSHINT
-            x1..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/multisig-3_MultisigContract.code.fc b/examples/output/multisig-3_MultisigContract.code.fc deleted file mode 100644 index b0848bab0..000000000 --- a/examples/output/multisig-3_MultisigContract.code.fc +++ /dev/null @@ -1,174 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "multisig-3_MultisigContract.headers.fc"; -#include "multisig-3_MultisigContract.stdlib.fc"; -#include "multisig-3_MultisigContract.storage.fc"; - -;; -;; Contract MultisigContract functions -;; - -(int, int, int, int) $MultisigContract$_contract_init(int $key1, int $key2, int $key3) impure inline_ref { - var (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key)) = (0, null(), null(), null()); - $self'user1_key = $key1; - $self'user2_key = $key2; - $self'user3_key = $key3; - return ($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key); -} - -((int, int, int, int), ()) $MultisigContract$_fun_execute((int, int, int, int) $self, (int, int, slice) $op) impure inline_ref { - var (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key)) = $self; - var (($op'seqno, $op'amount, $op'target)) = $op; - $global_send($SendParameters$_constructor_to_value($op'target, $op'amount)); - return (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key), ()); -} - -((int, int, int, int), int) $MultisigContract$_fun_key1((int, int, int, int) $self) impure inline_ref { - var (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key)) = $self; - return (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key), $self'user1_key); -} - -((int, int, int, int), int) $MultisigContract$_fun_key2((int, int, int, int) $self) impure inline_ref { - var (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key)) = $self; - return (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key), $self'user2_key); -} - -((int, int, int, int), int) $MultisigContract$_fun_key3((int, int, int, int) $self) impure inline_ref { - var (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key)) = $self; - return (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key), $self'user3_key); -} - -((int, int, int, int), int) $MultisigContract$_fun_seqno((int, int, int, int) $self) impure inline_ref { - var (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key)) = $self; - return (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key), $self'seqno); -} - -;; -;; Receivers of a Contract MultisigContract -;; - -((int, int, int, int), ()) $MultisigContract$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246((int, int, int, int) $self) impure inline { - var ($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key) = $self; - return (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key), ()); -} - -(((int, int, int, int)), ()) $MultisigContract$_internal_binary_Execute((int, int, int, int) $self, ((int, int, slice), slice, slice, slice) $msg) impure inline { - var ($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key) = $self; - var (($msg'operation'seqno, $msg'operation'amount, $msg'operation'target), $msg'signature1, $msg'signature2, $msg'signature3) = $msg; - int $op_hash = cell_hash($Operation$_store_cell(($msg'operation'seqno, $msg'operation'amount, $msg'operation'target))); - int $ok1 = check_signature($op_hash, $msg'signature1, $self'user1_key); - int $ok2 = check_signature($op_hash, $msg'signature2, $self'user2_key); - int $ok3 = check_signature($op_hash, $msg'signature3, $self'user3_key); - throw_unless(17654, ($msg'operation'seqno == $self'seqno)); - throw_unless(48401, ( (( ($ok1) ? ($ok2) : (false) )) ? ($ok3) : (false) )); - ($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key)~$MultisigContract$_fun_execute($Operation$_tensor_cast(($msg'operation'seqno, $msg'operation'amount, $msg'operation'target))); - return (($self'seqno, $self'user1_key, $self'user2_key, $self'user3_key), ()); -} - -;; -;; Get methods of a Contract MultisigContract -;; - -_ %key1() method_id(107493) { - var self = $MultisigContract$_contract_load(); - var res = self~$MultisigContract$_fun_key1(); - return res; -} - -_ %key2() method_id(103302) { - var self = $MultisigContract$_contract_load(); - var res = self~$MultisigContract$_fun_key2(); - return res; -} - -_ %key3() method_id(99239) { - var self = $MultisigContract$_contract_load(); - var res = self~$MultisigContract$_fun_key3(); - return res; -} - -_ %seqno() method_id(85143) { - var self = $MultisigContract$_contract_load(); - var res = self~$MultisigContract$_fun_seqno(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmZgQBkpPYK7oYMNVZxUfe4csDsAXdB5nY9DEHspBf6Go9"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract MultisigContract -;; - -((int, int, int, int), int) $MultisigContract$_contract_router_internal((int, int, int, int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Execute message - if (op == 520967536) { - var msg = in_msg~$Execute$_load(); - self~$MultisigContract$_internal_binary_Execute(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Deploy" message - if (text_op == 0x85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246) { - self~$MultisigContract$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $MultisigContract$_contract_load(); - - ;; Handle operation - int handled = self~$MultisigContract$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $MultisigContract$_contract_store(self); -} diff --git a/examples/output/multisig-3_MultisigContract.code.fif b/examples/output/multisig-3_MultisigContract.code.fif deleted file mode 100644 index 9607f7b61..000000000 --- a/examples/output/multisig-3_MultisigContract.code.fif +++ /dev/null @@ -1,441 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_not_null - DECLPROC __tact_store_bool - DECLPROC $Operation$_store - DECLPROC $Operation$_store_cell - DECLPROC $Operation$_load - DECLPROC $Execute$_load - DECLPROC $MultisigContract$_store - DECLPROC $MultisigContract$_load - DECLPROC $MultisigContract$init$_load - DECLPROC $MultisigContract$_contract_init - DECLPROC $MultisigContract$_contract_load - DECLPROC $MultisigContract$_contract_store - DECLPROC $global_send - DECLPROC $SendParameters$_constructor_to_value - DECLPROC $MultisigContract$_fun_execute - DECLPROC $MultisigContract$_fun_key1 - DECLPROC $MultisigContract$_fun_key2 - DECLPROC $MultisigContract$_fun_key3 - DECLPROC $MultisigContract$_fun_seqno - DECLPROC $MultisigContract$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 - DECLPROC $MultisigContract$_internal_binary_Execute - 107493 DECLMETHOD %key1 - 103302 DECLMETHOD %key2 - 99239 DECLMETHOD %key3 - 85143 DECLMETHOD %seqno - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $MultisigContract$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - $Operation$_store PROCINLINE:<{ - s2 s3 XCHG2 - 32 STU - SWAP - STGRAMS - SWAP - __tact_store_address INLINECALLDICT - }> - $Operation$_store_cell PROCINLINE:<{ - NEWC - 3 -ROLL - $Operation$_store INLINECALLDICT - ENDC - }> - $Operation$_load PROCINLINE:<{ - 32 LDU - LDGRAMS - __tact_load_address INLINECALLDICT - s3 s3 s0 XCHG3 - }> - $Execute$_load PROCINLINE:<{ - 32 LDU - SWAP - 520967536 PUSHINT - EQUAL - 129 THROWIFNOT - $Operation$_load INLINECALLDICT - s0 s3 XCHG - LDREF - SWAP - CTOS - SWAP - LDREF - SWAP - CTOS - SWAP - LDREF - SWAP - CTOS - s1 s6 XCHG - s3 s3 s0 XCHG3 - }> - $MultisigContract$_store PROCINLINE:<{ - s3 s4 XCHG2 - 32 STU - 256 STU - 256 STU - 256 STU - }> - $MultisigContract$_load PROCINLINE:<{ - 32 LDU - 256 LDU - 256 LDU - 256 LDU - 4 -ROLL - }> - $MultisigContract$init$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 3 -ROLL - }> - $MultisigContract$_contract_init PROCREF:<{ - 0 PUSHINT - 3 -ROLL - }> - $MultisigContract$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $MultisigContract$_load INLINECALLDICT - 1 4 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $MultisigContract$init$_load INLINECALLDICT - s0 s3 XCHG - ENDS - ROT - $MultisigContract$_contract_init INLINECALLDICT - }> - $MultisigContract$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 4 -ROLL - $MultisigContract$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $SendParameters$_constructor_to_value PROCINLINE:<{ - TRUE - -ROT - 0 PUSHINT - PUSHNULL - PUSHNULL - PUSHNULL - }> - $MultisigContract$_fun_execute PROCREF:<{ - s2 POP - $SendParameters$_constructor_to_value INLINECALLDICT - $global_send INLINECALLDICT - }> - $MultisigContract$_fun_key1 PROCREF:<{ - s2 PUSH - }> - $MultisigContract$_fun_key2 PROCREF:<{ - OVER - }> - $MultisigContract$_fun_key3 PROCREF:<{ - DUP - }> - $MultisigContract$_fun_seqno PROCREF:<{ - s3 PUSH - }> - $MultisigContract$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 PROCINLINE:<{ - }> - $MultisigContract$_internal_binary_Execute PROCINLINE:<{ - s5 s4 s3 PUSH3 - $Operation$_store_cell INLINECALLDICT - HASHCU - s0 s3 PUXC - s10 PUSH - CHKSIGNU - s3 s2 PUXC - s9 PUSH - CHKSIGNU - s3 s3 s7 XC2PU - CHKSIGNU - 17654 PUSHINT - s6 s10 PUSH2 - EQUAL - THROWANYIFNOT - 48401 PUSHINT - s0 s2 XCHG - IF:<{ - }>ELSE<{ - FALSE - s3 POP - }> - s0 s2 XCHG - IF:<{ - }>ELSE<{ - FALSE - s2 POP - }> - SWAP - THROWANYIFNOT - $MultisigContract$_fun_execute INLINECALLDICT - }> - %key1 PROC:<{ - $MultisigContract$_contract_load INLINECALLDICT - $MultisigContract$_fun_key1 INLINECALLDICT - 4 1 BLKDROP2 - }> - %key2 PROC:<{ - $MultisigContract$_contract_load INLINECALLDICT - $MultisigContract$_fun_key2 INLINECALLDICT - 4 1 BLKDROP2 - }> - %key3 PROC:<{ - $MultisigContract$_contract_load INLINECALLDICT - $MultisigContract$_fun_key3 INLINECALLDICT - 4 1 BLKDROP2 - }> - %seqno PROC:<{ - $MultisigContract$_contract_load INLINECALLDICT - $MultisigContract$_fun_seqno INLINECALLDICT - 4 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d5a6751426b7050594b376f594d4e565a78556665346373447341586442356e59394445487370426636476f39} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $MultisigContract$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 520967536 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Execute$_load INLINECALLDICT - 1 6 BLKDROP2 - $MultisigContract$_internal_binary_Execute INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - 60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT - EQUAL - IFJMP:<{ - $MultisigContract$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $MultisigContract$_contract_load INLINECALLDICT - 2 4 BLKSWAP - $MultisigContract$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $MultisigContract$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/multisig-3_MultisigContract.code.rev.fif b/examples/output/multisig-3_MultisigContract.code.rev.fif deleted file mode 100644 index 51ebd7bcd..000000000 --- a/examples/output/multisig-3_MultisigContract.code.rev.fif +++ /dev/null @@ -1,444 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC seqno; - DECLPROC ?fun_99239; - DECLPROC ?fun_103302; - DECLPROC ?fun_107493; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_10c319ce0484d846; - DECLPROC ?fun_ref_234e7d7e6ceb0807; - DECLPROC ?fun_ref_37c0dc1d2492bb36; - DECLPROC ?fun_ref_40d98146a47dbe3b; - DECLPROC ?fun_ref_44086a5ce86162fe; - DECLPROC ?fun_ref_b2f99ae1a1dd4dfb; - DECLPROC ?fun_ref_b4dfb1ddd6931ece; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_c20f639fed760d93; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_234e7d7e6ceb0807 INLINECALLDICT - 2 4 BLKSWAP - ?fun_ref_c20f639fed760d93 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 4 1 BLKSWAP - s3 s4 XCHG2 - 32 STU - 256 STU - 256 STU - 256 STU - ENDC - c4 POP - }> - seqno PROC:<{ - ?fun_ref_234e7d7e6ceb0807 INLINECALLDICT - ?fun_ref_10c319ce0484d846 INLINECALLDICT - 4 1 BLKDROP2 - }> - ?fun_99239 PROC:<{ - ?fun_ref_234e7d7e6ceb0807 INLINECALLDICT - ?fun_ref_40d98146a47dbe3b INLINECALLDICT - 4 1 BLKDROP2 - }> - ?fun_103302 PROC:<{ - ?fun_ref_234e7d7e6ceb0807 INLINECALLDICT - ?fun_ref_44086a5ce86162fe INLINECALLDICT - 4 1 BLKDROP2 - }> - ?fun_107493 PROC:<{ - ?fun_ref_234e7d7e6ceb0807 INLINECALLDICT - ?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT - 4 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D5A6751426B7050594B376F594D4E565A78556665346373447341586442356E59394445487370426636476F3982_} PUSHSLICE - }> - ?fun_ref_10c319ce0484d846 PROCREF:<{ - s3 PUSH - }> - ?fun_ref_234e7d7e6ceb0807 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 32 LDU - 256 LDU - 256 LDU - 256 LDU - 4 1 BLKSWAP - 1 4 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 3 1 BLKSWAP - s0 s3 XCHG - ENDS - ROT - ?fun_ref_b4dfb1ddd6931ece INLINECALLDICT - }> - ?fun_ref_37c0dc1d2492bb36 PROCREF:<{ - s2 POP - -1 PUSHINT - ROTREV - 0 PUSHINT - NULL - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_40d98146a47dbe3b PROCREF:<{ - s0 PUSH - }> - ?fun_ref_44086a5ce86162fe PROCREF:<{ - s1 PUSH - }> - ?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{ - s2 PUSH - }> - ?fun_ref_b4dfb1ddd6931ece PROCREF:<{ - 0 PUSHINT - 3 1 BLKSWAP - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_c20f639fed760d93 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 520967536 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 520967536 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - LDGRAMS - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s3 s3 s0 XCHG3 - s0 s3 XCHG - LDREF - s0 s1 XCHG - CTOS - s0 s1 XCHG - LDREF - s0 s1 XCHG - CTOS - s0 s1 XCHG - LDREF - s0 s1 XCHG - CTOS - s1 s6 XCHG - s3 s3 s0 XCHG3 - 1 6 BLKDROP2 - s5 s4 s3 PUSH3 - NEWC - 3 1 BLKSWAP - s2 s3 XCHG2 - 32 STU - s0 s1 XCHG - STGRAMS - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - HASHCU - s0 s5 PUXC - s10 PUSH - CHKSIGNU - s3 s4 PUXC - s9 PUSH - CHKSIGNU - s3 s3 s7 XC2PU - CHKSIGNU - 17654 PUSHINT - s6 s10 PUSH2 - EQUAL - THROWANYIFNOT - 48401 PUSHINT - s0 s2 XCHG - <{ - 0 PUSHINT - s3 POP - }> PUSHCONT - IFNOT - s0 s2 XCHG - <{ - 0 PUSHINT - s2 POP - }> PUSHCONT - IFNOT - s0 s1 XCHG - THROWANYIFNOT - ?fun_ref_37c0dc1d2492bb36 INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 EQINT - <{ - s0 POP - }> PUSHCONT - <{ - HASHSU - 60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT - EQUAL - <{ - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> IFREFELSE - 0 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/examples/output/multisig-3_MultisigContract.headers.fc b/examples/output/multisig-3_MultisigContract.headers.fc deleted file mode 100644 index 8746317e0..000000000 --- a/examples/output/multisig-3_MultisigContract.headers.fc +++ /dev/null @@ -1,70 +0,0 @@ -;; -;; Header files for MultisigContract -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; $Operation$_store -builder $Operation$_store(builder build_0, (int, int, slice) v) inline; - -;; $Operation$_store_cell -cell $Operation$_store_cell((int, int, slice) v) inline; - -;; $Operation$_load -(slice, ((int, int, slice))) $Operation$_load(slice sc_0) inline; - -;; $Execute$_load -(slice, (((int, int, slice), slice, slice, slice))) $Execute$_load(slice sc_0) inline; - -;; $MultisigContract$_store -builder $MultisigContract$_store(builder build_0, (int, int, int, int) v) inline; - -;; $MultisigContract$_load -(slice, ((int, int, int, int))) $MultisigContract$_load(slice sc_0) inline; - -;; $MultisigContract$init$_load -(slice, ((int, int, int))) $MultisigContract$init$_load(slice sc_0) inline; - -;; $MultisigContract$_contract_init -(int, int, int, int) $MultisigContract$_contract_init(int $key1, int $key2, int $key3) impure inline_ref; - -;; $MultisigContract$_contract_load -(int, int, int, int) $MultisigContract$_contract_load() impure inline_ref; - -;; $MultisigContract$_contract_store -() $MultisigContract$_contract_store((int, int, int, int) v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $SendParameters$_constructor_to_value -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value(slice to, int value) inline; - -;; $MultisigContract$_fun_execute -((int, int, int, int), ()) $MultisigContract$_fun_execute((int, int, int, int) $self, (int, int, slice) $op) impure inline_ref; - -;; $MultisigContract$_fun_key1 -((int, int, int, int), int) $MultisigContract$_fun_key1((int, int, int, int) $self) impure inline_ref; - -;; $MultisigContract$_fun_key2 -((int, int, int, int), int) $MultisigContract$_fun_key2((int, int, int, int) $self) impure inline_ref; - -;; $MultisigContract$_fun_key3 -((int, int, int, int), int) $MultisigContract$_fun_key3((int, int, int, int) $self) impure inline_ref; - -;; $MultisigContract$_fun_seqno -((int, int, int, int), int) $MultisigContract$_fun_seqno((int, int, int, int) $self) impure inline_ref; diff --git a/examples/output/multisig-3_MultisigContract.md b/examples/output/multisig-3_MultisigContract.md deleted file mode 100644 index d0eda2d03..000000000 --- a/examples/output/multisig-3_MultisigContract.md +++ /dev/null @@ -1,69 +0,0 @@ -# TACT Compilation Report -Contract: MultisigContract -BOC Size: 870 bytes - -# Types -Total Types: 6 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Operation -TLB: `_ seqno:uint32 amount:coins target:address = Operation` -Signature: `Operation{seqno:uint32,amount:coins,target:address}` - -## Execute -TLB: `execute#1f0d5570 operation:Operation{seqno:uint32,amount:coins,target:address} signature1:^slice signature2:^slice signature3:^slice = Execute` -Signature: `Execute{operation:Operation{seqno:uint32,amount:coins,target:address},signature1:^slice,signature2:^slice,signature3:^slice}` - -## Executed -TLB: `executed#9e12cfb8 seqno:uint32 = Executed` -Signature: `Executed{seqno:uint32}` - -# Get Methods -Total Get Methods: 4 - -## key1 - -## key2 - -## key3 - -## seqno - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -17654: Invalid seqno -48401: Invalid signature \ No newline at end of file diff --git a/examples/output/multisig-3_MultisigContract.pkg b/examples/output/multisig-3_MultisigContract.pkg deleted file mode 100644 index 0228922ed..000000000 --- a/examples/output/multisig-3_MultisigContract.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"MultisigContract","code":"te6ccgECHAEAA1oAART/APSkE/S88sgLAQIBYgIDAqrQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVE9s88uCCyPhDAcx/AcoAVTBQNMsfy//L/8v/ye1UFwQCASAKCwLY7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEB8NVXC6jsQw0x8BghAfDVVwuvLggdMf+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIQzAD1AHQAdQB0AHUAdAWQzBsFuDAAJEw4w1wBQYBtFR1Q8hVIFAjyx8B+gIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WyfkAUgQq+RBSMyn5EFQTN/kQgUT2U2q68vSCAL0RApJwM98CknAy3wHy9Ns8fwcAVPkBgvCF0og4TABDRYsCgDyyIFn2iAPFU8NlY0Q0ZGjayWHyRrqTf9sx4AESMn9ZcG1tbds8CAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAJAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAhG+ZL7Z5tnjYgwXDAIBIA0OAAIjAgEgDxACAUgaGwIBIBESAgEgFRYCEbDp9s82zxsQYBcTAhGw4bbPNs8bEGAXFAACIAACIQIRsPl2zzbPGxBgFxgAlbL0YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAFy7UTQ1AH4Y9IAAZzTH9P/0//T/1UwbBTg+CjXCwqDCbry4ImBAQHXAIEBAdcAgQEB1wBVIAPRWNs8GQACIgAGcFUgABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVpnUUJrcFBZSzdvWU1OVlp4VWZlNGNzRHNBWGRCNW5ZOURFSHNwQmY2R285gg","abi":"{\"name\":\"MultisigContract\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Operation\",\"header\":null,\"fields\":[{\"name\":\"seqno\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":32}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"target\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"Execute\",\"header\":520967536,\"fields\":[{\"name\":\"operation\",\"type\":{\"kind\":\"simple\",\"type\":\"Operation\",\"optional\":false}},{\"name\":\"signature1\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}},{\"name\":\"signature2\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}},{\"name\":\"signature3\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"Executed\",\"header\":2652032952,\"fields\":[{\"name\":\"seqno\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":32}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Deploy\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Execute\"}}],\"getters\":[{\"name\":\"key1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"key2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"key3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"seqno\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"17654\":{\"message\":\"Invalid seqno\"},\"48401\":{\"message\":\"Invalid signature\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"key1","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"key2","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"key3","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECHgEAA2QAAQHAAQEFobo9AgEU/wD0pBP0vPLICwMCAWIVBAIBIBMFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtWmdRQmtwUFlLN29ZTU5WWnhVZmU0Y3NEc0FYZEI1blk5REVIc3BCZjZHbzmCAAEbCvu1E0NIAAYAIBIA4KAgEgDAsAlbL0YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAIRsPl2zzbPGxBgHA0AAiICASARDwIRsOG2zzbPGxBgHBAAAiECEbDp9s82zxsQYBwSAAIgAhG+ZL7Z5tnjYgwcFAACIwKq0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRPbPPLggsj4QwHMfwHKAFUwUDTLH8v/y//L/8ntVBwWAtjtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQHw1VcLqOxDDTHwGCEB8NVXC68uCB0x/6APpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhDMAPUAdAB1AHQAdQB0BZDMGwW4MAAkTDjDXAYFwBU+QGC8IXSiDhMAENFiwKAPLIgWfaIA8VTw2VjRDRkaNrJYfJGupN/2zHgAbRUdUPIVSBQI8sfAfoCASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsn5AFIEKvkQUjMp+RBUEzf5EIFE9lNquvL0ggC9EQKScDPfApJwMt8B8vTbPH8ZARIyf1lwbW1t2zwaAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABsAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwBcu1E0NQB+GPSAAGc0x/T/9P/0/9VMGwU4Pgo1wsKgwm68uCJgQEB1wCBAQHXAIEBAdcAVSAD0VjbPB0ABnBVIPYcAac="}},"sources":{"examples\\multisig-3.tact":"c3RydWN0IE9wZXJhdGlvbiB7DQogICAgc2Vxbm86IEludCBhcyB1aW50MzI7DQogICAgYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgdGFyZ2V0OiBBZGRyZXNzOw0KfQ0KDQptZXNzYWdlIEV4ZWN1dGUgew0KICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uOw0KICAgIHNpZ25hdHVyZTE6IFNsaWNlOyANCiAgICBzaWduYXR1cmUyOiBTbGljZTsgDQogICAgc2lnbmF0dXJlMzogU2xpY2U7DQp9DQoNCm1lc3NhZ2UgRXhlY3V0ZWQgew0KICAgIHNlcW5vOiBJbnQgYXMgdWludDMyOw0KfQ0KDQpjb250cmFjdCBNdWx0aXNpZ0NvbnRyYWN0IHsNCiAgICBzZXFubzogSW50IGFzIHVpbnQzMiA9IDA7DQogICAgdXNlcjFfa2V5OiBJbnQgYXMgdWludDI1NjsNCiAgICB1c2VyMl9rZXk6IEludCBhcyB1aW50MjU2Ow0KICAgIHVzZXIzX2tleTogSW50IGFzIHVpbnQyNTY7DQoNCiAgICBpbml0KGtleTE6IEludCwga2V5MjogSW50LCBrZXkzOiBJbnQpIHsNCiAgICAgICAgc2VsZi51c2VyMV9rZXkgPSBrZXkxOw0KICAgICAgICBzZWxmLnVzZXIyX2tleSA9IGtleTI7DQogICAgICAgIHNlbGYudXNlcjNfa2V5ID0ga2V5MzsNCiAgICB9DQoNCiAgICByZWNlaXZlKCJEZXBsb3kiKSB7DQogICAgICAgIC8vIERvIG5vdGhpbmcNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogRXhlY3V0ZSkgew0KDQogICAgICAgIC8vIENoZWNrIGFsbCBzaWduYXR1cmVzDQogICAgICAgIGxldCBvcF9oYXNoOiBJbnQgPSBtc2cub3BlcmF0aW9uLnRvQ2VsbCgpLmhhc2goKTsNCiAgICAgICAgbGV0IG9rMTogQm9vbCA9IGNoZWNrU2lnbmF0dXJlKG9wX2hhc2gsIG1zZy5zaWduYXR1cmUxLCBzZWxmLnVzZXIxX2tleSk7DQogICAgICAgIGxldCBvazI6IEJvb2wgPSBjaGVja1NpZ25hdHVyZShvcF9oYXNoLCBtc2cuc2lnbmF0dXJlMiwgc2VsZi51c2VyMl9rZXkpOw0KICAgICAgICBsZXQgb2szOiBCb29sID0gY2hlY2tTaWduYXR1cmUob3BfaGFzaCwgbXNnLnNpZ25hdHVyZTMsIHNlbGYudXNlcjNfa2V5KTsNCiAgICAgICAgcmVxdWlyZShtc2cub3BlcmF0aW9uLnNlcW5vID09IHNlbGYuc2Vxbm8sICJJbnZhbGlkIHNlcW5vIik7DQogICAgICAgIHJlcXVpcmUob2sxICYmIG9rMiAmJiBvazMsICJJbnZhbGlkIHNpZ25hdHVyZSIpOw0KDQogICAgICAgIC8vIFNlbmQgbWVzc2FnZXMNCiAgICAgICAgc2VsZi5leGVjdXRlKG1zZy5vcGVyYXRpb24pOw0KICAgIH0NCg0KICAgIGZ1biBleGVjdXRlKG9wOiBPcGVyYXRpb24pIHsNCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sgdG86IG9wLnRhcmdldCwgdmFsdWU6IG9wLmFtb3VudCB9KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGtleTEoKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHNlbGYudXNlcjFfa2V5Ow0KICAgIH0NCg0KICAgIGdldCBmdW4ga2V5MigpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2VsZi51c2VyMl9rZXk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBrZXkzKCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLnVzZXIzX2tleTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIHNlcW5vKCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLnNlcW5vOw0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/multisig-3.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/multisig-3_MultisigContract.stdlib.fc b/examples/output/multisig-3_MultisigContract.stdlib.fc deleted file mode 100644 index 6884a12d8..000000000 --- a/examples/output/multisig-3_MultisigContract.stdlib.fc +++ /dev/null @@ -1,72 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} \ No newline at end of file diff --git a/examples/output/multisig-3_MultisigContract.storage.fc b/examples/output/multisig-3_MultisigContract.storage.fc deleted file mode 100644 index 3daddfb29..000000000 --- a/examples/output/multisig-3_MultisigContract.storage.fc +++ /dev/null @@ -1,100 +0,0 @@ -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value(slice to, int value) inline { - return (true, to, value, 0, null(), null(), null()); -} - -;; -;; Type: Operation -;; TLB: _ seqno:uint32 amount:coins target:address = Operation -;; - -builder $Operation$_store(builder build_0, (int, int, slice) v) inline { - var (v'seqno, v'amount, v'target) = v; - build_0 = build_0.store_uint(v'seqno, 32); - build_0 = build_0.store_coins(v'amount); - build_0 = __tact_store_address(build_0, v'target); - return build_0; -} - -cell $Operation$_store_cell((int, int, slice) v) inline { - return $Operation$_store(begin_cell(), v).end_cell(); -} - -(slice, ((int, int, slice))) $Operation$_load(slice sc_0) inline { - var v'seqno = sc_0~load_uint(32); - var v'amount = sc_0~load_coins(); - var v'target = sc_0~__tact_load_address(); - return (sc_0, (v'seqno, v'amount, v'target)); -} - -((int, int, slice)) $Operation$_tensor_cast((int, int, slice) v) asm "NOP"; - -;; -;; Type: Execute -;; Header: 0x1f0d5570 -;; TLB: execute#1f0d5570 operation:Operation{seqno:uint32,amount:coins,target:address} signature1:^slice signature2:^slice signature3:^slice = Execute -;; - -(slice, (((int, int, slice), slice, slice, slice))) $Execute$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 520967536); - var v'operation = sc_0~$Operation$_load(); - var v'signature1 = sc_0~load_ref().begin_parse(); - var v'signature2 = sc_0~load_ref().begin_parse(); - var v'signature3 = sc_0~load_ref().begin_parse(); - return (sc_0, (v'operation, v'signature1, v'signature2, v'signature3)); -} - -;; -;; Type: MultisigContract -;; - -builder $MultisigContract$_store(builder build_0, (int, int, int, int) v) inline { - var (v'seqno, v'user1_key, v'user2_key, v'user3_key) = v; - build_0 = build_0.store_uint(v'seqno, 32); - build_0 = build_0.store_uint(v'user1_key, 256); - build_0 = build_0.store_uint(v'user2_key, 256); - build_0 = build_0.store_uint(v'user3_key, 256); - return build_0; -} - -(slice, ((int, int, int, int))) $MultisigContract$_load(slice sc_0) inline { - var v'seqno = sc_0~load_uint(32); - var v'user1_key = sc_0~load_uint(256); - var v'user2_key = sc_0~load_uint(256); - var v'user3_key = sc_0~load_uint(256); - return (sc_0, (v'seqno, v'user1_key, v'user2_key, v'user3_key)); -} - -(slice, ((int, int, int))) $MultisigContract$init$_load(slice sc_0) inline { - var v'key1 = sc_0~load_int(257); - var v'key2 = sc_0~load_int(257); - var v'key3 = sc_0~load_int(257); - return (sc_0, (v'key1, v'key2, v'key3)); -} - -(int, int, int, int) $MultisigContract$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$MultisigContract$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (int key1, int key2, int key3) = $sc~$MultisigContract$init$_load(); - $sc.end_parse(); - return $MultisigContract$_contract_init(key1, key2, key3); - } -} - -() $MultisigContract$_contract_store((int, int, int, int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $MultisigContract$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/multisig-3_MultisigContract.ts b/examples/output/multisig-3_MultisigContract.ts deleted file mode 100644 index f92e75aff..000000000 --- a/examples/output/multisig-3_MultisigContract.ts +++ /dev/null @@ -1,492 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Operation = { - $$type: 'Operation'; - seqno: bigint; - amount: bigint; - target: Address; -} - -export function storeOperation(src: Operation) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(src.seqno, 32); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.target); - }; -} - -export function loadOperation(slice: Slice) { - let sc_0 = slice; - let _seqno = sc_0.loadUintBig(32); - let _amount = sc_0.loadCoins(); - let _target = sc_0.loadAddress(); - return { $$type: 'Operation' as const, seqno: _seqno, amount: _amount, target: _target }; -} - -function loadTupleOperation(source: TupleReader) { - let _seqno = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _target = source.readAddress(); - return { $$type: 'Operation' as const, seqno: _seqno, amount: _amount, target: _target }; -} - -function storeTupleOperation(source: Operation) { - let builder = new TupleBuilder(); - builder.writeNumber(source.seqno); - builder.writeNumber(source.amount); - builder.writeAddress(source.target); - return builder.build(); -} - -function dictValueParserOperation(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeOperation(src)).endCell()); - }, - parse: (src) => { - return loadOperation(src.loadRef().beginParse()); - } - } -} - -export type Execute = { - $$type: 'Execute'; - operation: Operation; - signature1: Cell; - signature2: Cell; - signature3: Cell; -} - -export function storeExecute(src: Execute) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(520967536, 32); - b_0.store(storeOperation(src.operation)); - b_0.storeRef(src.signature1); - b_0.storeRef(src.signature2); - b_0.storeRef(src.signature3); - }; -} - -export function loadExecute(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 520967536) { throw Error('Invalid prefix'); } - let _operation = loadOperation(sc_0); - let _signature1 = sc_0.loadRef(); - let _signature2 = sc_0.loadRef(); - let _signature3 = sc_0.loadRef(); - return { $$type: 'Execute' as const, operation: _operation, signature1: _signature1, signature2: _signature2, signature3: _signature3 }; -} - -function loadTupleExecute(source: TupleReader) { - const _operation = loadTupleOperation(source.readTuple()); - let _signature1 = source.readCell(); - let _signature2 = source.readCell(); - let _signature3 = source.readCell(); - return { $$type: 'Execute' as const, operation: _operation, signature1: _signature1, signature2: _signature2, signature3: _signature3 }; -} - -function storeTupleExecute(source: Execute) { - let builder = new TupleBuilder(); - builder.writeTuple(storeTupleOperation(source.operation)); - builder.writeSlice(source.signature1); - builder.writeSlice(source.signature2); - builder.writeSlice(source.signature3); - return builder.build(); -} - -function dictValueParserExecute(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeExecute(src)).endCell()); - }, - parse: (src) => { - return loadExecute(src.loadRef().beginParse()); - } - } -} - -export type Executed = { - $$type: 'Executed'; - seqno: bigint; -} - -export function storeExecuted(src: Executed) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2652032952, 32); - b_0.storeUint(src.seqno, 32); - }; -} - -export function loadExecuted(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2652032952) { throw Error('Invalid prefix'); } - let _seqno = sc_0.loadUintBig(32); - return { $$type: 'Executed' as const, seqno: _seqno }; -} - -function loadTupleExecuted(source: TupleReader) { - let _seqno = source.readBigNumber(); - return { $$type: 'Executed' as const, seqno: _seqno }; -} - -function storeTupleExecuted(source: Executed) { - let builder = new TupleBuilder(); - builder.writeNumber(source.seqno); - return builder.build(); -} - -function dictValueParserExecuted(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeExecuted(src)).endCell()); - }, - parse: (src) => { - return loadExecuted(src.loadRef().beginParse()); - } - } -} - - type MultisigContract_init_args = { - $$type: 'MultisigContract_init_args'; - key1: bigint; - key2: bigint; - key3: bigint; -} - -function initMultisigContract_init_args(src: MultisigContract_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.key1, 257); - b_0.storeInt(src.key2, 257); - b_0.storeInt(src.key3, 257); - }; -} - -async function MultisigContract_init(key1: bigint, key2: bigint, key3: bigint) { - const __code = Cell.fromBase64('te6ccgECHAEAA1oAART/APSkE/S88sgLAQIBYgIDAqrQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVE9s88uCCyPhDAcx/AcoAVTBQNMsfy//L/8v/ye1UFwQCASAKCwLY7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEB8NVXC6jsQw0x8BghAfDVVwuvLggdMf+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIQzAD1AHQAdQB0AHUAdAWQzBsFuDAAJEw4w1wBQYBtFR1Q8hVIFAjyx8B+gIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WyfkAUgQq+RBSMyn5EFQTN/kQgUT2U2q68vSCAL0RApJwM98CknAy3wHy9Ns8fwcAVPkBgvCF0og4TABDRYsCgDyyIFn2iAPFU8NlY0Q0ZGjayWHyRrqTf9sx4AESMn9ZcG1tbds8CAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAJAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAhG+ZL7Z5tnjYgwXDAIBIA0OAAIjAgEgDxACAUgaGwIBIBESAgEgFRYCEbDp9s82zxsQYBcTAhGw4bbPNs8bEGAXFAACIAACIQIRsPl2zzbPGxBgFxgAlbL0YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAFy7UTQ1AH4Y9IAAZzTH9P/0//T/1UwbBTg+CjXCwqDCbry4ImBAQHXAIEBAdcAgQEB1wBVIAPRWNs8GQACIgAGcFUgABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVpnUUJrcFBZSzdvWU1OVlp4VWZlNGNzRHNBWGRCNW5ZOURFSHNwQmY2R285gg'); - const __system = Cell.fromBase64('te6cckECHgEAA2QAAQHAAQEFobo9AgEU/wD0pBP0vPLICwMCAWIVBAIBIBMFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtWmdRQmtwUFlLN29ZTU5WWnhVZmU0Y3NEc0FYZEI1blk5REVIc3BCZjZHbzmCAAEbCvu1E0NIAAYAIBIA4KAgEgDAsAlbL0YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAIRsPl2zzbPGxBgHA0AAiICASARDwIRsOG2zzbPGxBgHBAAAiECEbDp9s82zxsQYBwSAAIgAhG+ZL7Z5tnjYgwcFAACIwKq0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRPbPPLggsj4QwHMfwHKAFUwUDTLH8v/y//L/8ntVBwWAtjtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQHw1VcLqOxDDTHwGCEB8NVXC68uCB0x/6APpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhDMAPUAdAB1AHQAdQB0BZDMGwW4MAAkTDjDXAYFwBU+QGC8IXSiDhMAENFiwKAPLIgWfaIA8VTw2VjRDRkaNrJYfJGupN/2zHgAbRUdUPIVSBQI8sfAfoCASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsn5AFIEKvkQUjMp+RBUEzf5EIFE9lNquvL0ggC9EQKScDPfApJwMt8B8vTbPH8ZARIyf1lwbW1t2zwaAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABsAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwBcu1E0NQB+GPSAAGc0x/T/9P/0/9VMGwU4Pgo1wsKgwm68uCJgQEB1wCBAQHXAIEBAdcAVSAD0VjbPB0ABnBVIPYcAac='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initMultisigContract_init_args({ $$type: 'MultisigContract_init_args', key1, key2, key3 })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const MultisigContract_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 17654: { message: `Invalid seqno` }, - 48401: { message: `Invalid signature` }, -} - -const MultisigContract_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Operation","header":null,"fields":[{"name":"seqno","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"target","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"Execute","header":520967536,"fields":[{"name":"operation","type":{"kind":"simple","type":"Operation","optional":false}},{"name":"signature1","type":{"kind":"simple","type":"slice","optional":false}},{"name":"signature2","type":{"kind":"simple","type":"slice","optional":false}},{"name":"signature3","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"Executed","header":2652032952,"fields":[{"name":"seqno","type":{"kind":"simple","type":"uint","optional":false,"format":32}}]}, -] - -const MultisigContract_getters: ABIGetter[] = [ - {"name":"key1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"key2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"key3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"seqno","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const MultisigContract_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Deploy"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Execute"}}, -] - -export class MultisigContract implements Contract { - - static async init(key1: bigint, key2: bigint, key3: bigint) { - return await MultisigContract_init(key1, key2, key3); - } - - static async fromInit(key1: bigint, key2: bigint, key3: bigint) { - const init = await MultisigContract_init(key1, key2, key3); - const address = contractAddress(0, init); - return new MultisigContract(address, init); - } - - static fromAddress(address: Address) { - return new MultisigContract(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: MultisigContract_types, - getters: MultisigContract_getters, - receivers: MultisigContract_receivers, - errors: MultisigContract_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Deploy' | Execute) { - - let body: Cell | null = null; - if (message === 'Deploy') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Execute') { - body = beginCell().store(storeExecute(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getKey1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('key1', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getKey2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('key2', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getKey3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('key3', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getSeqno(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('seqno', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/examples/output/multisig_Multisig.abi b/examples/output/multisig_Multisig.abi deleted file mode 100644 index 3c4fd54a0..000000000 --- a/examples/output/multisig_Multisig.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Multisig","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Request","header":4266760323,"fields":[{"name":"requested","type":{"kind":"simple","type":"address","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"timeout","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"mode","type":{"kind":"simple","type":"uint","optional":false,"format":8}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Signed","header":2213172633,"fields":[{"name":"request","type":{"kind":"simple","type":"Request","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"Request"}},{"receiver":"internal","message":{"kind":"typed","type":"Signed"}}],"getters":[{"name":"member","arguments":[{"name":"address","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"members","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int"}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"4429":{"message":"Invalid sender"},"4755":{"message":"Timeout"},"40810":{"message":"Completed"},"46307":{"message":"Not a member"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/examples/output/multisig_Multisig.code.boc b/examples/output/multisig_Multisig.code.boc deleted file mode 100644 index 7abece2bd..000000000 Binary files a/examples/output/multisig_Multisig.code.boc and /dev/null differ diff --git a/examples/output/multisig_Multisig.code.boc.html b/examples/output/multisig_Multisig.code.boc.html deleted file mode 100644 index a8ad65e32..000000000 --- a/examples/output/multisig_Multisig.code.boc.html +++ /dev/null @@ -1,732 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_70789;
-            ..DECLPROC ?fun_104769;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_108262e959deac57;
-            ..DECLPROC ?fun_ref_1bfc35fe3cb9e2c0;
-            ..DECLPROC ?fun_ref_48bd3d679adfab39;
-            ..DECLPROC ?fun_ref_4b55dc0f47bc27ab;
-            ..DECLPROC ?fun_ref_6851053be679099e;
-            ..DECLPROC ?fun_ref_89af47770c917da0;
-            ..DECLPROC ?fun_ref_93007edb935c409f;
-            ..DECLPROC ?fun_ref_b2f99ae1a1dd4dfb;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_d5b73b8241a4c632;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_89af47770c917da0 INLINECALLDICT
-            ....2 4 BLKSWAP
-            ....?fun_ref_6851053be679099e INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....4 1 BLKSWAP
-            ....s3 s4 XCHG2
-            ....257 PUSHINT
-            ....STIX
-            ....STDICT
-            ....257 PUSHINT
-            ....STIX
-            ....257 PUSHINT
-            ....STIX
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..?fun_70789 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_89af47770c917da0 INLINECALLDICT
-            ....1 4 BLKSWAP
-            ....?fun_ref_1bfc35fe3cb9e2c0 INLINECALLDICT
-            ....4 1 BLKDROP2
-            ..}>
-            ..?fun_104769 PROC:<{
-            ....?fun_ref_89af47770c917da0 INLINECALLDICT
-            ....?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT
-            ....4 1 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D65734D387A71466E376D617A4A51786D765938456858745A3153516E315747506E6632566E366A617476754282_} PUSHSLICE
-            ..}>
-            ..?fun_ref_108262e959deac57 PROCREF:<{
-            ....s1 POP
-            ....0 PUSHINT
-            ....s2 s0 s4 XCPUXC
-            ..}>
-            ..?fun_ref_1bfc35fe3cb9e2c0 PROCREF:<{
-            ....267 PUSHINT
-            ....s4 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_48bd3d679adfab39 PROCREF:<{
-            ....32 LDU
-            ....s0 s1 XCHG
-            ....4266760323 PUSHINT
-            ....EQUAL
-            ....129 THROWIFNOT
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s1 XCHG
-            ....LDGRAMS
-            ....32 LDU
-            ....1 LDI
-            ....8 LDU
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDREF
-            ....}> PUSHCONT
-            ....<{
-            ......NULL
-            ......s0 s1 XCHG
-            ....}> PUSHCONT
-            ....IFELSE
-            ....7 1 BLKSWAP
-            ..}>
-            ..?fun_ref_4b55dc0f47bc27ab PROCREF:<{
-            ....s0 s10 XCHG
-            ....CTOS
-            ....LDDICT
-            ....s0 POP
-            ....NULL
-            ....s0 s1 XCHG
-            ....37817 PUSHINT
-            ....s0 s1 XCHG
-            ....16 PUSHINT
-            ....DICTUGETREF
-            ....NULLSWAPIFNOT
-            ....135 THROWIFNOT
-            ....s0 s1 XCHG
-            ....37817 PUSHINT
-            ....s2 PUSH
-            ....s0 s2 XCHG
-            ....16 PUSHINT
-            ....DICTUSETREF
-            ....NEWC
-            ....s0 s1 XCHG
-            ....NEWC
-            ....STDICT
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....10 1 BLKSWAP
-            ....s0 s11 XCHG
-            ....s10 s9 XCHG2
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....s1 s7 XCHG
-            ....STDICT
-            ....s1 s5 XCHG
-            ....257 PUSHINT
-            ....STIX
-            ....NEWC
-            ....s0 s7 XCHG
-            ....s4 s6 XCHG
-            ....s3 s5 XCHG
-            ....s4 s8 s0 XCHG3
-            ....?fun_ref_d5b73b8241a4c632 INLINECALLDICT
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ....ENDC
-            ..}>
-            ..?fun_ref_6851053be679099e PROCREF:<{
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....s0 PUSH
-            ....4266760323 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......?fun_ref_48bd3d679adfab39 INLINECALLDICT
-            ......1 7 BLKDROP2
-            ......?fun_ref_93007edb935c409f INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....2213172633 PUSHINT
-            ....EQUAL
-            ....<{
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2213172633 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......?fun_ref_48bd3d679adfab39 INLINECALLDICT
-            ......1 7 BLKDROP2
-            ......2 GETGLOBVAR
-            ......3 GETGLOBVAR
-            ......MYADDR
-            ......s0 s12 s4 XCPUXC
-            ......s11 s12 s11 PUXCPU
-            ......s10 s9 s8 PUSH3
-            ......s10 s9 PUSH2
-            ......?fun_ref_4b55dc0f47bc27ab INLINECALLDICT
-            ......0 PUSHINT
-            ......ROTREV
-            ......NEWC
-            ......0 PUSHINT
-            ......s0 s1 XCHG
-            ......2 STU
-            ......3 PUSHINT
-            ......s0 s1 XCHG
-            ......2 STU
-            ......0 PUSHINT
-            ......s0 s1 XCHG
-            ......1 STU
-            ......s1 s2 XCHG
-            ......STREF
-            ......STREF
-            ......ENDC
-            ......HASHCU
-            ......NEWC
-            ......2 PUSHINT
-            ......s0 s1 XCHG
-            ......2 STU
-            ......0 PUSHINT
-            ......s0 s1 XCHG
-            ......1 STU
-            ......s1 s2 XCHG
-            ......8 STI
-            ......256 STU
-            ......ENDC
-            ......CTOS
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s7 XCHG
-            ......4429 PUSHINT
-            ......s0 s8 XCHG
-            ......SDEQ
-            ......s1 s7 XCHG
-            ......THROWANYIFNOT
-            ......4755 PUSHINT
-            ......s0 s3 XCHG
-            ......NOW
-            ......GREATER
-            ......s1 s3 XCHG
-            ......THROWANYIFNOT
-            ......1 4 BLKSWAP
-            ......s1 s4 XCHG
-            ......s3 s3 s0 XCHG3
-            ......NULL
-            ......NULL
-            ......?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 POP
-            ....0 PUSHINT
-            ..}>
-            ..?fun_ref_89af47770c917da0 PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......257 PUSHINT
-            ......LDIX
-            ......LDDICT
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......4 1 BLKSWAP
-            ......1 4 BLKDROP2
-            ....}> PUSHCONT
-            ....IFJMP
-            ....MYADDR
-            ....11 PLDU
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....137 THROWIFNOT
-            ....LDDICT
-            ....257 PUSHINT
-            ....LDIX
-            ....257 PUSHINT
-            ....LDIX
-            ....3 1 BLKSWAP
-            ....s0 s3 XCHG
-            ....ENDS
-            ....ROT
-            ....?fun_ref_108262e959deac57 INLINECALLDICT
-            ..}>
-            ..?fun_ref_93007edb935c409f PROCREF:<{
-            ....2 GETGLOBVAR
-            ....267 PUSHINT
-            ....s11 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 PUSH
-            ....ISNULL
-            ....128 THROWIF
-            ....46307 PUSHINT
-            ....s0 s1 XCHG
-            ....0 GTINT
-            ....THROWANYIFNOT
-            ....3 GETGLOBVAR
-            ....MYADDR
-            ....s8 s7 s11 XC2PU
-            ....s7 s10 XCPU
-            ....s0 s7 XCHG
-            ....3 4 BLKSWAP
-            ....?fun_ref_4b55dc0f47bc27ab INLINECALLDICT
-            ....DUP2
-            ....0 PUSHINT
-            ....ROTREV
-            ....NEWC
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....3 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STU
-            ....s1 s2 XCHG
-            ....STREF
-            ....STREF
-            ....ENDC
-            ....HASHCU
-            ....NEWC
-            ....2 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STU
-            ....s1 s2 XCHG
-            ....8 STI
-            ....256 STU
-            ....ENDC
-            ....CTOS
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....0 PUSHINT
-            ....s0 s3 XCHG
-            ....66 PUSHINT
-            ....s0 s1 s3 XCHG3
-            ....-1 PUSHINT
-            ....ROTREV
-            ....s2 s5 XCHG
-            ....s2 s3 XCHG
-            ....NULL
-            ....ROTREV
-            ....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ..}>
-            x7..?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{
-            18x7....s2 PUSH
-            x7..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            ..?fun_ref_d5b73b8241a4c632 PROCREF:<{
-            ....4266760323 PUSHINT
-            ....s0 s8 XCHG2
-            ....32 STU
-            ....s0 s6 XCHG2
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....s0 s4 XCHG2
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....ROT
-            ....STGRAMS
-            ....32 STU
-            ....1 STI
-            ....8 STU
-            ....s1 PUSH
-            ....ISNULL
-            ....NOT
-            ....<{
-            ......-1 PUSHINT
-            ......s0 s1 XCHG
-            ......1 STI
-            ......STREF
-            ....}> PUSHCONT
-            ....<{
-            ......0 PUSHINT
-            ......s2 POP
-            ......1 STI
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/multisig_Multisig.code.fc b/examples/output/multisig_Multisig.code.fc deleted file mode 100644 index d9b3611ef..000000000 --- a/examples/output/multisig_Multisig.code.fc +++ /dev/null @@ -1,150 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "multisig_Multisig.headers.fc"; -#include "multisig_Multisig.stdlib.fc"; -#include "multisig_Multisig.storage.fc"; - -;; -;; Contract Multisig functions -;; - -(int, cell, int, int) $Multisig$_contract_init(cell $members, int $totalWeight, int $requiredWeight) impure inline_ref { - var (($self'seqno, $self'members, $self'totalWeight, $self'requiredWeight)) = (null(), null(), null(), null()); - $self'members = $members; - $self'requiredWeight = $requiredWeight; - $self'totalWeight = $totalWeight; - $self'totalWeight = 0; - $self'seqno = 0; - return ($self'seqno, $self'members, $self'totalWeight, $self'requiredWeight); -} - -((int, cell, int, int), int) $Multisig$_fun_member((int, cell, int, int) $self, slice $address) impure inline_ref { - var (($self'seqno, $self'members, $self'totalWeight, $self'requiredWeight)) = $self; - return (($self'seqno, $self'members, $self'totalWeight, $self'requiredWeight), __tact_dict_get_slice_int($self'members, 267, $address, 257)); -} - -((int, cell, int, int), cell) $Multisig$_fun_members((int, cell, int, int) $self) impure inline_ref { - var (($self'seqno, $self'members, $self'totalWeight, $self'requiredWeight)) = $self; - return (($self'seqno, $self'members, $self'totalWeight, $self'requiredWeight), $self'members); -} - -;; -;; Receivers of a Contract Multisig -;; - -(((int, cell, int, int)), ()) $Multisig$_internal_binary_Request((int, cell, int, int) $self, (slice, slice, int, int, int, int, cell) $msg) impure inline { - var ($self'seqno, $self'members, $self'totalWeight, $self'requiredWeight) = $self; - var ($msg'requested, $msg'to, $msg'value, $msg'timeout, $msg'bounce, $msg'mode, $msg'body) = $msg; - slice $sender = __tact_context_get_sender(); - int $weight = __tact_not_null(__tact_dict_get_slice_int($self'members, 267, $sender, 257)); - throw_unless(46307, ($weight > 0)); - var ($opInit'code, $opInit'data) = $MultisigSigner$_init_child(__tact_context_sys, my_address(), $self'members, $self'requiredWeight, ($msg'requested, $msg'to, $msg'value, $msg'timeout, $msg'bounce, $msg'mode, $msg'body)); - slice $opAddress = $global_contractAddress(($opInit'code, $opInit'data)); - $global_send($SendParameters$_constructor_value_to_mode_bounce_code_data(0, $opAddress, (64 + 2), true, $opInit'code, $opInit'data)); - return (($self'seqno, $self'members, $self'totalWeight, $self'requiredWeight), ()); -} - -(((int, cell, int, int)), ()) $Multisig$_internal_binary_Signed((int, cell, int, int) $self, ((slice, slice, int, int, int, int, cell)) $msg) impure inline { - var ($self'seqno, $self'members, $self'totalWeight, $self'requiredWeight) = $self; - var (($msg'request'requested, $msg'request'to, $msg'request'value, $msg'request'timeout, $msg'request'bounce, $msg'request'mode, $msg'request'body)) = $msg; - slice $sender = __tact_context_get_sender(); - var ($opInit'code, $opInit'data) = $MultisigSigner$_init_child(__tact_context_sys, my_address(), $self'members, $self'requiredWeight, ($msg'request'requested, $msg'request'to, $msg'request'value, $msg'request'timeout, $msg'request'bounce, $msg'request'mode, $msg'request'body)); - slice $opAddress = $global_contractAddress(($opInit'code, $opInit'data)); - throw_unless(4429, ( __tact_slice_eq_bits($sender, $opAddress) )); - throw_unless(4755, ($msg'request'timeout > now())); - $global_send($SendParameters$_constructor_to_value_mode_bounce_body($msg'request'to, $msg'request'value, $msg'request'mode, $msg'request'bounce, $msg'request'body)); - return (($self'seqno, $self'members, $self'totalWeight, $self'requiredWeight), ()); -} - -;; -;; Get methods of a Contract Multisig -;; - -_ %member(slice $$address) method_id(70789) { - slice $address = __tact_verify_address($$address); - var self = $Multisig$_contract_load(); - var res = self~$Multisig$_fun_member($address); - return res; -} - -_ %members() method_id(104769) { - var self = $Multisig$_contract_load(); - var res = self~$Multisig$_fun_members(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmesM8zqFn7mazJQxmvY8EhXtZ1SQn1WGPnf2Vn6jatvuB"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Multisig -;; - -((int, cell, int, int), int) $Multisig$_contract_router_internal((int, cell, int, int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Request message - if (op == 4266760323) { - var msg = in_msg~$Request$_load(); - self~$Multisig$_internal_binary_Request(msg); - return (self, true); - } - - ;; Receive Signed message - if (op == 2213172633) { - var msg = in_msg~$Signed$_load(); - self~$Multisig$_internal_binary_Signed(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Multisig$_contract_load(); - - ;; Handle operation - int handled = self~$Multisig$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Multisig$_contract_store(self); -} diff --git a/examples/output/multisig_Multisig.code.fif b/examples/output/multisig_Multisig.code.fif deleted file mode 100644 index 7dcbda696..000000000 --- a/examples/output/multisig_Multisig.code.fif +++ /dev/null @@ -1,588 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_create_address - DECLPROC __tact_compute_contract_address - DECLPROC __tact_not_null - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC __tact_dict_get_slice_int - DECLPROC __tact_slice_eq_bits - DECLPROC __tact_dict_set_code - DECLPROC __tact_dict_get_code - DECLPROC $Request$_store - DECLPROC $Request$_load - DECLPROC $Signed$_load - DECLPROC $Multisig$_store - DECLPROC $Multisig$_load - DECLPROC $MultisigSigner$init$_store - DECLPROC $Multisig$init$_load - DECLPROC $Multisig$_contract_init - DECLPROC $Multisig$_contract_load - DECLPROC $Multisig$_contract_store - DECLPROC $global_contractAddress - DECLPROC $global_send - DECLPROC $MultisigSigner$_init_child - DECLPROC $Multisig$_fun_member - DECLPROC $Multisig$_fun_members - DECLPROC $SendParameters$_constructor_value_to_mode_bounce_code_data - DECLPROC $SendParameters$_constructor_to_value_mode_bounce_body - DECLPROC $Multisig$_internal_binary_Request - DECLPROC $Multisig$_internal_binary_Signed - 70789 DECLMETHOD %member - 104769 DECLMETHOD %members - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Multisig$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_create_address PROCINLINE:<{ - NEWC - 2 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - __tact_verify_address INLINECALLDICT - }> - __tact_compute_contract_address PROCINLINE:<{ - NEWC - 0 PUSHINT - SWAP - 2 STU - 3 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - __tact_create_address INLINECALLDICT - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_dict_get_slice_int PROCINLINE:<{ - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - IF:<{ - SWAP - LDIX - DROP - }>ELSE<{ - 2DROP - PUSHNULL - }> - }> - __tact_slice_eq_bits PROCINLINE:<{ - SDEQ - }> - __tact_dict_set_code PROCINLINE:<{ - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - }> - __tact_dict_get_code PROCINLINE:<{ - SWAP - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - }> - $Request$_store PROCREF:<{ - 4266760323 PUSHINT - s0 s8 XCHG2 - 32 STU - s0 s6 XCHG2 - __tact_store_address INLINECALLDICT - s0 s4 XCHG2 - __tact_store_address INLINECALLDICT - ROT - STGRAMS - 32 STU - 1 STI - 8 STU - OVER - ISNULL - NOT - IF:<{ - TRUE - SWAP - 1 STI - STREF - }>ELSE<{ - FALSE - s2 POP - 1 STI - }> - }> - $Request$_load PROCREF:<{ - 32 LDU - SWAP - 4266760323 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address INLINECALLDICT - SWAP - LDGRAMS - 32 LDU - 1 LDI - 8 LDU - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - 7 -ROLL - }> - $Signed$_load PROCINLINE:<{ - 32 LDU - SWAP - 2213172633 PUSHINT - EQUAL - 129 THROWIFNOT - $Request$_load INLINECALLDICT - }> - $Multisig$_store PROCINLINE:<{ - s3 s4 XCHG2 - 257 PUSHINT - STIX - STDICT - 257 PUSHINT - STIX - 257 PUSHINT - STIX - }> - $Multisig$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - LDDICT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 4 -ROLL - }> - $MultisigSigner$init$_store PROCINLINE:<{ - s10 s9 XCHG2 - __tact_store_address INLINECALLDICT - s1 s7 XCHG - STDICT - s1 s5 XCHG - 257 PUSHINT - STIX - NEWC - s0 s7 XCHG - s4 s6 XCHG - s3 s5 XCHG - s4 s8 s0 XCHG3 - $Request$_store INLINECALLDICT - ENDC - SWAP - STREF - }> - $Multisig$init$_load PROCINLINE:<{ - LDDICT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 3 -ROLL - }> - $Multisig$_contract_init PROCREF:<{ - NIP - 0 PUSHINT - s2 s0 s2 XCPUXC - }> - $Multisig$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Multisig$_load INLINECALLDICT - 1 4 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Multisig$init$_load INLINECALLDICT - s0 s3 XCHG - ENDS - ROT - $Multisig$_contract_init INLINECALLDICT - }> - $Multisig$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 4 -ROLL - $Multisig$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_contractAddress PROCINLINE:<{ - 0 PUSHINT - -ROT - __tact_compute_contract_address INLINECALLDICT - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $MultisigSigner$_init_child PROCREF:<{ - s0 s10 XCHG - CTOS - LDDICT - DROP - NEWDICT - SWAP - 37817 PUSHINT - __tact_dict_get_code INLINECALLDICT - SWAP - 37817 PUSHINT - s2 PUSH - __tact_dict_set_code INLINECALLDICT - NEWC - SWAP - NEWC - STDICT - ENDC - SWAP - STREF - FALSE - SWAP - 1 STI - 10 -ROLL - s0 s11 XCHG - $MultisigSigner$init$_store INLINECALLDICT - ENDC - }> - $Multisig$_fun_member PROCREF:<{ - 267 PUSHINT - s4 PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_slice_int INLINECALLDICT - }> - $Multisig$_fun_members PROCREF:<{ - s2 PUSH - }> - $SendParameters$_constructor_value_to_mode_bounce_code_data PROCINLINE:<{ - s2 s5 XCHG - s2 s3 XCHG - PUSHNULL - -ROT - }> - $SendParameters$_constructor_to_value_mode_bounce_body PROCINLINE:<{ - s1 s4 XCHG - s3 s3 s0 XCHG3 - PUSHNULL - PUSHNULL - }> - $Multisig$_internal_binary_Request PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - 267 PUSHINT - s11 PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_slice_int INLINECALLDICT - __tact_not_null INLINECALLDICT - 46307 PUSHINT - SWAP - 0 GTINT - THROWANYIFNOT - __tact_context_sys GETGLOB - MYADDR - s8 s7 s11 XC2PU - s7 s10 XCPU - s0 s7 XCHG - 3 4 BLKSWAP - $MultisigSigner$_init_child INLINECALLDICT - 2DUP - $global_contractAddress INLINECALLDICT - 0 PUSHINT - s0 s3 XCHG - 66 PUSHINT - s0 s1 s3 XCHG3 - TRUE - -ROT - $SendParameters$_constructor_value_to_mode_bounce_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $Multisig$_internal_binary_Signed PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - __tact_context_sys GETGLOB - MYADDR - s0 s12 s2 XCPUXC - s11 s10 s9 PUXCPU - s10 s9 s8 PUSH3 - s10 s9 PUSH2 - $MultisigSigner$_init_child INLINECALLDICT - $global_contractAddress INLINECALLDICT - s0 s7 XCHG - 4429 PUSHINT - s0 s8 XCHG - __tact_slice_eq_bits INLINECALLDICT - s1 s7 XCHG - THROWANYIFNOT - 4755 PUSHINT - s0 s3 XCHG - NOW - GREATER - s1 s3 XCHG - THROWANYIFNOT - 4 ROLL - $SendParameters$_constructor_to_value_mode_bounce_body INLINECALLDICT - $global_send INLINECALLDICT - }> - %member PROC:<{ - __tact_verify_address INLINECALLDICT - $Multisig$_contract_load INLINECALLDICT - 4 ROLL - $Multisig$_fun_member INLINECALLDICT - 4 1 BLKDROP2 - }> - %members PROC:<{ - $Multisig$_contract_load INLINECALLDICT - $Multisig$_fun_members INLINECALLDICT - 4 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d65734d387a71466e376d617a4a51786d765938456858745a3153516e315747506e6632566e366a6174767542} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Multisig$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 4266760323 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Request$_load INLINECALLDICT - 1 7 BLKDROP2 - $Multisig$_internal_binary_Request INLINECALLDICT - TRUE - }> - 2213172633 PUSHINT - EQUAL - IFJMP:<{ - $Signed$_load INLINECALLDICT - 1 7 BLKDROP2 - $Multisig$_internal_binary_Signed INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Multisig$_contract_load INLINECALLDICT - 2 4 BLKSWAP - $Multisig$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Multisig$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/multisig_Multisig.code.rev.fif b/examples/output/multisig_Multisig.code.rev.fif deleted file mode 100644 index 1082d945a..000000000 --- a/examples/output/multisig_Multisig.code.rev.fif +++ /dev/null @@ -1,696 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_70789; - DECLPROC ?fun_104769; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_108262e959deac57; - DECLPROC ?fun_ref_1bfc35fe3cb9e2c0; - DECLPROC ?fun_ref_48bd3d679adfab39; - DECLPROC ?fun_ref_4b55dc0f47bc27ab; - DECLPROC ?fun_ref_6851053be679099e; - DECLPROC ?fun_ref_89af47770c917da0; - DECLPROC ?fun_ref_93007edb935c409f; - DECLPROC ?fun_ref_b2f99ae1a1dd4dfb; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_d5b73b8241a4c632; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_89af47770c917da0 INLINECALLDICT - 2 4 BLKSWAP - ?fun_ref_6851053be679099e INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 4 1 BLKSWAP - s3 s4 XCHG2 - 257 PUSHINT - STIX - STDICT - 257 PUSHINT - STIX - 257 PUSHINT - STIX - ENDC - c4 POP - }> - ?fun_70789 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_89af47770c917da0 INLINECALLDICT - 1 4 BLKSWAP - ?fun_ref_1bfc35fe3cb9e2c0 INLINECALLDICT - 4 1 BLKDROP2 - }> - ?fun_104769 PROC:<{ - ?fun_ref_89af47770c917da0 INLINECALLDICT - ?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT - 4 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D65734D387A71466E376D617A4A51786D765938456858745A3153516E315747506E6632566E366A617476754282_} PUSHSLICE - }> - ?fun_ref_108262e959deac57 PROCREF:<{ - s1 POP - 0 PUSHINT - s2 s0 s4 XCPUXC - }> - ?fun_ref_1bfc35fe3cb9e2c0 PROCREF:<{ - 267 PUSHINT - s4 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_48bd3d679adfab39 PROCREF:<{ - 32 LDU - s0 s1 XCHG - 4266760323 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDGRAMS - 32 LDU - 1 LDI - 8 LDU - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - 7 1 BLKSWAP - }> - ?fun_ref_4b55dc0f47bc27ab PROCREF:<{ - s0 s10 XCHG - CTOS - LDDICT - s0 POP - NULL - s0 s1 XCHG - 37817 PUSHINT - s0 s1 XCHG - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - s0 s1 XCHG - 37817 PUSHINT - s2 PUSH - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - NEWC - s0 s1 XCHG - NEWC - STDICT - ENDC - s0 s1 XCHG - STREF - 0 PUSHINT - s0 s1 XCHG - 1 STI - 10 1 BLKSWAP - s0 s11 XCHG - s10 s9 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s1 s7 XCHG - STDICT - s1 s5 XCHG - 257 PUSHINT - STIX - NEWC - s0 s7 XCHG - s4 s6 XCHG - s3 s5 XCHG - s4 s8 s0 XCHG3 - ?fun_ref_d5b73b8241a4c632 INLINECALLDICT - ENDC - s0 s1 XCHG - STREF - ENDC - }> - ?fun_ref_6851053be679099e PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 4266760323 PUSHINT - EQUAL - <{ - s0 POP - ?fun_ref_48bd3d679adfab39 INLINECALLDICT - 1 7 BLKDROP2 - ?fun_ref_93007edb935c409f INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - 2213172633 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 2213172633 PUSHINT - EQUAL - 129 THROWIFNOT - ?fun_ref_48bd3d679adfab39 INLINECALLDICT - 1 7 BLKDROP2 - 2 GETGLOBVAR - 3 GETGLOBVAR - MYADDR - s0 s12 s4 XCPUXC - s11 s12 s11 PUXCPU - s10 s9 s8 PUSH3 - s10 s9 PUSH2 - ?fun_ref_4b55dc0f47bc27ab INLINECALLDICT - 0 PUSHINT - ROTREV - NEWC - 0 PUSHINT - s0 s1 XCHG - 2 STU - 3 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s7 XCHG - 4429 PUSHINT - s0 s8 XCHG - SDEQ - s1 s7 XCHG - THROWANYIFNOT - 4755 PUSHINT - s0 s3 XCHG - NOW - GREATER - s1 s3 XCHG - THROWANYIFNOT - 1 4 BLKSWAP - s1 s4 XCHG - s3 s3 s0 XCHG3 - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - -1 PUSHINT - }> IFJMPREF - s0 POP - 0 PUSHINT - }> - ?fun_ref_89af47770c917da0 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - LDDICT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 4 1 BLKSWAP - 1 4 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDDICT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 3 1 BLKSWAP - s0 s3 XCHG - ENDS - ROT - ?fun_ref_108262e959deac57 INLINECALLDICT - }> - ?fun_ref_93007edb935c409f PROCREF:<{ - 2 GETGLOBVAR - 267 PUSHINT - s11 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - 46307 PUSHINT - s0 s1 XCHG - 0 GTINT - THROWANYIFNOT - 3 GETGLOBVAR - MYADDR - s8 s7 s11 XC2PU - s7 s10 XCPU - s0 s7 XCHG - 3 4 BLKSWAP - ?fun_ref_4b55dc0f47bc27ab INLINECALLDICT - DUP2 - 0 PUSHINT - ROTREV - NEWC - 0 PUSHINT - s0 s1 XCHG - 2 STU - 3 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - 0 PUSHINT - s0 s3 XCHG - 66 PUSHINT - s0 s1 s3 XCHG3 - -1 PUSHINT - ROTREV - s2 s5 XCHG - s2 s3 XCHG - NULL - ROTREV - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{ - s2 PUSH - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_d5b73b8241a4c632 PROCREF:<{ - 4266760323 PUSHINT - s0 s8 XCHG2 - 32 STU - s0 s6 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s4 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ROT - STGRAMS - 32 STU - 1 STI - 8 STU - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - STREF - }> PUSHCONT - <{ - 0 PUSHINT - s2 POP - 1 STI - }> PUSHCONT - IFELSE - }> -}END>c \ No newline at end of file diff --git a/examples/output/multisig_Multisig.headers.fc b/examples/output/multisig_Multisig.headers.fc deleted file mode 100644 index a92e33699..000000000 --- a/examples/output/multisig_Multisig.headers.fc +++ /dev/null @@ -1,91 +0,0 @@ -;; -;; Header files for Multisig -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_create_address -slice __tact_create_address(int chain, int hash) inline; - -;; __tact_compute_contract_address -slice __tact_compute_contract_address(int chain, cell code, cell data) inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_dict_get_slice_int -int __tact_dict_get_slice_int(cell d, int kl, slice k, int vl) inline; - -;; __tact_slice_eq_bits -int __tact_slice_eq_bits(slice a, slice b) inline; - -;; __tact_dict_set_code -cell __tact_dict_set_code(cell dict, int id, cell code) inline; - -;; __tact_dict_get_code -cell __tact_dict_get_code(cell dict, int id) inline; - -;; $Request$_store -builder $Request$_store(builder build_0, (slice, slice, int, int, int, int, cell) v) inline_ref; - -;; $Request$_load -(slice, ((slice, slice, int, int, int, int, cell))) $Request$_load(slice sc_0) inline_ref; - -;; $Signed$_load -(slice, (((slice, slice, int, int, int, int, cell)))) $Signed$_load(slice sc_0) inline; - -;; $Multisig$_store -builder $Multisig$_store(builder build_0, (int, cell, int, int) v) inline; - -;; $Multisig$_load -(slice, ((int, cell, int, int))) $Multisig$_load(slice sc_0) inline; - -;; $MultisigSigner$init$_store -builder $MultisigSigner$init$_store(builder build_0, (slice, cell, int, (slice, slice, int, int, int, int, cell)) v) inline; - -;; $Multisig$init$_load -(slice, ((cell, int, int))) $Multisig$init$_load(slice sc_0) inline; - -;; $Multisig$_contract_init -(int, cell, int, int) $Multisig$_contract_init(cell $members, int $totalWeight, int $requiredWeight) impure inline_ref; - -;; $Multisig$_contract_load -(int, cell, int, int) $Multisig$_contract_load() impure inline_ref; - -;; $Multisig$_contract_store -() $Multisig$_contract_store((int, cell, int, int) v) impure inline; - -;; $global_contractAddress -slice $global_contractAddress((cell, cell) $s) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $MultisigSigner$_init_child -(cell, cell) $MultisigSigner$_init_child(cell sys', slice $master, cell $members, int $requiredWeight, (slice, slice, int, int, int, int, cell) $request) inline_ref; - -;; $Multisig$_fun_member -((int, cell, int, int), int) $Multisig$_fun_member((int, cell, int, int) $self, slice $address) impure inline_ref; - -;; $Multisig$_fun_members -((int, cell, int, int), cell) $Multisig$_fun_members((int, cell, int, int) $self) impure inline_ref; - -;; $SendParameters$_constructor_value_to_mode_bounce_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_bounce_code_data(int value, slice to, int mode, int bounce, cell code, cell data) inline; - -;; $SendParameters$_constructor_to_value_mode_bounce_body -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_mode_bounce_body(slice to, int value, int mode, int bounce, cell body) inline; diff --git a/examples/output/multisig_Multisig.md b/examples/output/multisig_Multisig.md deleted file mode 100644 index a7e74753e..000000000 --- a/examples/output/multisig_Multisig.md +++ /dev/null @@ -1,64 +0,0 @@ -# TACT Compilation Report -Contract: Multisig -BOC Size: 1274 bytes - -# Types -Total Types: 5 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Request -TLB: `request#fe519883 requested:address to:address value:coins timeout:uint32 bounce:bool mode:uint8 body:Maybe ^cell = Request` -Signature: `Request{requested:address,to:address,value:coins,timeout:uint32,bounce:bool,mode:uint8,body:Maybe ^cell}` - -## Signed -TLB: `signed#83ea5599 request:Request{requested:address,to:address,value:coins,timeout:uint32,bounce:bool,mode:uint8,body:Maybe ^cell} = Signed` -Signature: `Signed{request:Request{requested:address,to:address,value:coins,timeout:uint32,bounce:bool,mode:uint8,body:Maybe ^cell}}` - -# Get Methods -Total Get Methods: 2 - -## member -Argument: address - -## members - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -4429: Invalid sender -4755: Timeout -40810: Completed -46307: Not a member \ No newline at end of file diff --git a/examples/output/multisig_Multisig.pkg b/examples/output/multisig_Multisig.pkg deleted file mode 100644 index 8a6c0e79d..000000000 --- a/examples/output/multisig_Multisig.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Multisig","code":"te6ccgECGgEABO4AART/APSkE/S88sgLAQIBYgIDArzQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVE9s88uCCyPhDAcx/AcoAVTBQNIEBAc8A9ACBAQHPAIEBAc8Aye1UFQQCASAODwNgAZIwf+BwIddJwh+VMCDXCx/eIIIQ/lGYg7qPCDDbPGwX2zx/4IIQg+pVmbrjAjBwCAUGAvb4QoEBCysCgQEBQTP0Cm+hlAHXADCSW23iIG7y0ICCALTjAcIA8vT4Q/goVBh7UXoHVSPbPFxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiHADgEIKBwIi0x8BghCD6lWZuvLggds8bBcICQEYQBN/WRAlECNtWds8CwDA0x8BghD+UZiDuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6ANMf0gDTB9IAAZHUkm0B4lVgAuT4QvhD+ChUIMNUW7pUephTqds8cFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgHgRFNCMcFF/L0gRKTA/gjvBPy9FUDFEMwbW3bPH8KCwHMCtD0BDBtAYIAk7kBgBD0D2+h8uCHAYIAk7kiAoAQ9BfIAcj0AMkBzHABygBVkAtQqSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFhf0ABWBAQHPAMgHEEYQNUSA2zzJAczJDAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wANAMSCEP5RmINQCMsfUAYg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQBCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlj6AssfygDLByFus5V/AcoAzJRwMsoA4gCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAJNvKQpBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtniqB7Z42IMFRACASAREgAugQELJAKBAQFBM/QKb6GUAdcAMJJbbeICASATFAIBSBgZAhG3KDtnm2eNiDAVFgCVt3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwThOy6ctWadluZ0HSzbKM3RSQAYDtRNDUAfhj0gABjhWBAQHXAPQEgQEB1wCBAQHXAFUwbBTg+CjXCwqDCbry4In0BIEBAdcAgQEB1wBVIAPRWNs8FwACIgAKMXBUIgMAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtZXNNOHpxRm43bWF6SlF4bXZZOEVoWHRaMVNRbjFXR1BuZjJWbjZqYXR2dUKCA=","abi":"{\"name\":\"Multisig\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Request\",\"header\":4266760323,\"fields\":[{\"name\":\"requested\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"timeout\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":32}},{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":8}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Signed\",\"header\":2213172633,\"fields\":[{\"name\":\"request\",\"type\":{\"kind\":\"simple\",\"type\":\"Request\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Request\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Signed\"}}],\"getters\":[{\"name\":\"member\",\"arguments\":[{\"name\":\"address\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"members\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"int\"}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"4429\":{\"message\":\"Invalid sender\"},\"4755\":{\"message\":\"Timeout\"},\"40810\":{\"message\":\"Completed\"},\"46307\":{\"message\":\"Not a member\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"members","type":{"kind":"dict","key":"address","value":"int"}},{"name":"totalWeight","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"requiredWeight","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECLwEAB9cAAQHAAQIBIBQCAQW8ncwDART/APSkE/S88sgLBAIBYgwFAgFYCAYCAUgbBwB1sm7jQ1aXBmczovL1FtVUZzR1FFNlZDeFJFbW1iN3FvUHg3NTh4YWp1N3VrVllnTFN3TWZUVDVBY0qCACAVgKCQCVsvRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgAhGwv7bPNs8bMeARCwAOVHZUVHZUJgN60AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRvbPPLgghEODQGWyPhDAcx/AcoAVbBQyyDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFhn0ABeBAQHPABWBAQHPABPKAMhGFxA1GNs8yQHMye1UKwFU7aLt+wGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+DAAJEw4w1wDwH++QGC8CKu5tCm3BRldyd91Y0GrjCQo83T2KiFYRhCCK5fbrA5uo7XgRKTJPgjvPL0ggCfaiiz8vT4QiuBAQsigQEBQTP0Cm+hlAHXADCSW23iIG7y0IAcgQELUA1tgQEBIW6VW1n0WTCYyAHPAEEz9EHiUKugUwi+4wAJf9sx4BACVDd/cIEAgnBUeYdUeYdWEshVYIIQg+pVmVAIyx8H2zzJL1UgREBtbds8BysoArTtRNDUAfhj0gABjsL6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfQEgQEB1wCBAQHXANIA1AHQ2zw3EHwQexB6EHkQeFUFbBzg+CjXCwqDCbry4IksEgJ2+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH0BIEBAdcA1AHQ2zw3EHoQeRB4VQUK0VUI2zwsEwAOcAgHcAdVQQEFvNg8FQEU/wD0pBP0vPLICxYCAWIiFwIBICAYAgEgHBkCAUgbGgB1sm7jQ1aXBmczovL1FtZXNNOHpxRm43bWF6SlF4bXZZOEVoWHRaMVNRbjFXR1BuZjJWbjZqYXR2dUKCAAEbCvu1E0NIAAYAIBIB4dAJW3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOE7Lpy1Zp2W5nQdLNsozdFJACEbcoO2ebZ42IMC0fAAIiAk28pCkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eKoHtnjYgwtIQAugQELJAKBAQFBM/QKb6GUAdcAMJJbbeICvNAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUT2zzy4ILI+EMBzH8BygBVMFA0gQEBzwD0AIEBAc8AgQEBzwDJ7VQtIwNgAZIwf+BwIddJwh+VMCDXCx/eIIIQ/lGYg7qPCDDbPGwX2zx/4IIQg+pVmbrjAjBwLCYkAiLTHwGCEIPqVZm68uCB2zxsFywlAuT4QvhD+ChUIMNUW7pUephTqds8cFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgHgRFNCMcFF/L0gRKTA/gjvBPy9FUDFEMwbW3bPH8qKAL2+EKBAQsrAoEBAUEz9ApvoZQB1wAwkltt4iBu8tCAggC04wHCAPL0+EP4KFQYe1F6B1Uj2zxccFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhwA4BCKicBGEATf1kQJRAjbVnbPCgByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsAKQCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAHMCtD0BDBtAYIAk7kBgBD0D2+h8uCHAYIAk7kiAoAQ9BfIAcj0AMkBzHABygBVkAtQqSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFhf0ABWBAQHPAMgHEEYQNUSA2zzJAczJKwDEghD+UZiDUAjLH1AGINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAQg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZY+gLLH8oAywchbrOVfwHKAMyUcDLKAOIAwNMfAYIQ/lGYg7ry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+gDTH9IA0wfSAAGR1JJtAeJVYAGA7UTQ1AH4Y9IAAY4VgQEB1wD0BIEBAdcAgQEB1wBVMGwU4Pgo1wsKgwm68uCJ9ASBAQHXAIEBAdcAVSAD0VjbPC4ACjFwVCIDjkFIWg=="}},"sources":{"examples\\multisig.tact":"bWVzc2FnZSBSZXF1ZXN0IHsNCiAgICByZXF1ZXN0ZWQ6IEFkZHJlc3M7DQogICAgdG86IEFkZHJlc3M7DQogICAgdmFsdWU6IEludCBhcyBjb2luczsNCiAgICB0aW1lb3V0OiBJbnQgYXMgdWludDMyOw0KICAgIGJvdW5jZTogQm9vbDsNCiAgICBtb2RlOiBJbnQgYXMgdWludDg7DQogICAgYm9keTogQ2VsbD87DQp9DQoNCm1lc3NhZ2UgU2lnbmVkIHsNCiAgICByZXF1ZXN0OiBSZXF1ZXN0Ow0KfQ0KDQpjb250cmFjdCBNdWx0aXNpZ1NpZ25lciB7DQoNCiAgICBtYXN0ZXI6IEFkZHJlc3M7DQoNCiAgICAvLyBWb3Rpbmcgc3RhdGUNCiAgICBtZW1iZXJzOiBtYXA8QWRkcmVzcywgSW50PjsNCiAgICB3ZWlnaHQ6IEludCA9IDA7DQogICAgcmVxdWlyZWRXZWlnaHQ6IEludDsNCiAgICBjb21wbGV0ZWQ6IEJvb2w7DQogICAgDQogICAgLy8gUmVxdWVzdA0KICAgIHJlcXVlc3Q6IFJlcXVlc3Q7DQoNCiAgICBpbml0KG1hc3RlcjogQWRkcmVzcywgbWVtYmVyczogbWFwPEFkZHJlc3MsIEludD4sIHJlcXVpcmVkV2VpZ2h0OiBJbnQsIHJlcXVlc3Q6IFJlcXVlc3QpIHsNCiAgICAgICAgc2VsZi5tYXN0ZXIgPSBtYXN0ZXI7DQogICAgICAgIHNlbGYubWVtYmVycyA9IG1lbWJlcnM7DQogICAgICAgIHNlbGYucmVxdWlyZWRXZWlnaHQgPSByZXF1aXJlZFdlaWdodDsNCiAgICAgICAgc2VsZi5jb21wbGV0ZWQgPSBmYWxzZTsNCiAgICAgICAgc2VsZi5yZXF1ZXN0ID0gcmVxdWVzdDsNCiAgICB9DQoNCiAgICByZWNlaXZlKCkgew0KICAgICAgICAvLyBEbyBub3RoaW5nDQogICAgfQ0KDQogICAgcmVjZWl2ZSgiWUVTIikgew0KDQogICAgICAgIC8vIENoZWNrcw0KICAgICAgICByZXF1aXJlKHNlbGYucmVxdWVzdC50aW1lb3V0ID4gbm93KCksICJUaW1lb3V0Iik7DQogICAgICAgIHJlcXVpcmUoIXNlbGYuY29tcGxldGVkLCAiQ29tcGxldGVkIik7DQoNCiAgICAgICAgLy8gTG9hZCB3ZWl0Z2h0DQogICAgICAgIGxldCBzZW5kZXI6IEFkZHJlc3MgPSBzZW5kZXIoKTsNCiAgICAgICAgbGV0IHdlaWdodDogSW50ID0gc2VsZi5tZW1iZXJzLmdldChzZW5kZXIpISE7DQogICAgICAgIHNlbGYubWVtYmVycy5zZXQoc2VuZGVyLCBudWxsKTsNCg0KICAgICAgICAvLyBVcGRhdGUgd2VpZ2h0DQogICAgICAgIHNlbGYud2VpZ2h0ID0gc2VsZi53ZWlnaHQgKyB3ZWlnaHQ7DQogICAgICAgIGlmIChzZWxmLndlaWdodCA+PSBzZWxmLnJlcXVpcmVkV2VpZ2h0KSB7DQogICAgICAgICAgICBzZWxmLmNvbXBsZXRlZCA9IHRydWU7DQogICAgICAgICAgICBzZW5kKFNlbmRQYXJhbWV0ZXJzew0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLCANCiAgICAgICAgICAgICAgICB0bzogc2VsZi5tYXN0ZXIsIA0KICAgICAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdCYWxhbmNlICsgU2VuZElnbm9yZUVycm9ycywgDQogICAgICAgICAgICAgICAgYm91bmNlOiBmYWxzZSwgDQogICAgICAgICAgICAgICAgYm9keTogU2lnbmVkeyByZXF1ZXN0OiBzZWxmLnJlcXVlc3QgfS50b0NlbGwoKQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBnZXQgZnVuIHJlcXVlc3QoKTogUmVxdWVzdCB7DQogICAgICAgIHJldHVybiBzZWxmLnJlcXVlc3Q7DQogICAgfQ0KfQ0KDQpjb250cmFjdCBNdWx0aXNpZyB7DQogICAgc2Vxbm86IEludDsNCiAgICBtZW1iZXJzOiBtYXA8QWRkcmVzcywgSW50PjsNCiAgICB0b3RhbFdlaWdodDogSW50Ow0KICAgIHJlcXVpcmVkV2VpZ2h0OiBJbnQ7DQoNCiAgICBpbml0KG1lbWJlcnM6IG1hcDxBZGRyZXNzLCBJbnQ+LCB0b3RhbFdlaWdodDogSW50LCByZXF1aXJlZFdlaWdodDogSW50KSB7DQogICAgICAgIHNlbGYubWVtYmVycyA9IG1lbWJlcnM7DQogICAgICAgIHNlbGYucmVxdWlyZWRXZWlnaHQgPSByZXF1aXJlZFdlaWdodDsNCiAgICAgICAgc2VsZi50b3RhbFdlaWdodCA9IHRvdGFsV2VpZ2h0Ow0KICAgICAgICBzZWxmLnRvdGFsV2VpZ2h0ID0gMDsNCiAgICAgICAgc2VsZi5zZXFubyA9IDA7DQogICAgfQ0KDQogICAgLy8gUmVxdWVzdCBuZXcgcGVuZGluZyB0cmFuc2FjdGlvbg0KICAgIHJlY2VpdmUobXNnOiBSZXF1ZXN0KSB7DQoNCiAgICAgICAgLy8gQ2hlY2sgc2VuZGVyDQogICAgICAgIGxldCBzZW5kZXI6IEFkZHJlc3MgPSBzZW5kZXIoKTsNCiAgICAgICAgbGV0IHdlaWdodDogSW50ID0gc2VsZi5tZW1iZXJzLmdldChzZW5kZXIpISE7DQogICAgICAgIHJlcXVpcmUod2VpZ2h0ID4gMCwgIk5vdCBhIG1lbWJlciIpOw0KDQogICAgICAgIC8vIENyZWF0ZSBtZXNzYWdlDQogICAgICAgIGxldCBvcEluaXQ6IFN0YXRlSW5pdCA9IGluaXRPZiBNdWx0aXNpZ1NpZ25lcihteUFkZHJlc3MoKSwgc2VsZi5tZW1iZXJzLCBzZWxmLnJlcXVpcmVkV2VpZ2h0LCBtc2cpOw0KICAgICAgICBsZXQgb3BBZGRyZXNzOiBBZGRyZXNzID0gY29udHJhY3RBZGRyZXNzKG9wSW5pdCk7DQogICAgICAgIHNlbmQoU2VuZFBhcmFtZXRlcnN7DQogICAgICAgICAgICB2YWx1ZTogMCwgDQogICAgICAgICAgICB0bzogb3BBZGRyZXNzLCANCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSArIFNlbmRJZ25vcmVFcnJvcnMsIA0KICAgICAgICAgICAgYm91bmNlOiB0cnVlLA0KICAgICAgICAgICAgY29kZTogb3BJbml0LmNvZGUsDQogICAgICAgICAgICBkYXRhOiBvcEluaXQuZGF0YQ0KICAgICAgICB9KTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2lnbmVkKSB7DQoNCiAgICAgICAgLy8gQ2hlY2sgcGFyYW1ldGVycw0KICAgICAgICAvLyBOT1RFOiB0aGlzIHdpbGwgY2hlY2sgbWVtYmVycywgcmVxdWlyZWQgd2VpZ2h0LCBtYXN0ZXIgYWRkcmVzcw0KICAgICAgICBsZXQgc2VuZGVyOiBBZGRyZXNzID0gc2VuZGVyKCk7DQogICAgICAgIGxldCBvcEluaXQ6IFN0YXRlSW5pdCA9IGluaXRPZiBNdWx0aXNpZ1NpZ25lcihteUFkZHJlc3MoKSwgc2VsZi5tZW1iZXJzLCBzZWxmLnJlcXVpcmVkV2VpZ2h0LCBtc2cucmVxdWVzdCk7DQogICAgICAgIGxldCBvcEFkZHJlc3M6IEFkZHJlc3MgPSBjb250cmFjdEFkZHJlc3Mob3BJbml0KTsNCiAgICAgICAgcmVxdWlyZShvcEFkZHJlc3MgPT0gc2VuZGVyLCAiSW52YWxpZCBzZW5kZXIiKTsNCiAgICAgICAgcmVxdWlyZShtc2cucmVxdWVzdC50aW1lb3V0ID4gbm93KCksICJUaW1lb3V0Iik7DQoNCiAgICAgICAgLy8gU2VuZCBvcGVyYXRpb24NCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgIHRvOiBtc2cucmVxdWVzdC50bywgDQogICAgICAgICAgICB2YWx1ZTogbXNnLnJlcXVlc3QudmFsdWUsIA0KICAgICAgICAgICAgbW9kZTogbXNnLnJlcXVlc3QubW9kZSwgDQogICAgICAgICAgICBib3VuY2U6IG1zZy5yZXF1ZXN0LmJvdW5jZSwgDQogICAgICAgICAgICBib2R5OiBtc2cucmVxdWVzdC5ib2R5DQogICAgICAgIH0pOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbWVtYmVyKGFkZHJlc3M6IEFkZHJlc3MpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYubWVtYmVycy5nZXQoYWRkcmVzcyk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBtZW1iZXJzKCk6IG1hcDxBZGRyZXNzLCBJbnQ+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYubWVtYmVyczsNCiAgICB9DQp9"},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/multisig.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/multisig_Multisig.stdlib.fc b/examples/output/multisig_Multisig.stdlib.fc deleted file mode 100644 index 00f90ad63..000000000 --- a/examples/output/multisig_Multisig.stdlib.fc +++ /dev/null @@ -1,127 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -slice __tact_create_address(int chain, int hash) inline { - var b = begin_cell(); - b = b.store_uint(2, 2); - b = b.store_uint(0, 1); - b = b.store_int(chain, 8); - b = b.store_uint(hash, 256); - var addr = b.end_cell().begin_parse(); - return __tact_verify_address(addr); -} - -slice __tact_compute_contract_address(int chain, cell code, cell data) inline { - var b = begin_cell(); - b = b.store_uint(0, 2); - b = b.store_uint(3, 2); - b = b.store_uint(0, 1); - b = b.store_ref(code); - b = b.store_ref(data); - var hash = cell_hash(b.end_cell()); - return __tact_create_address(chain, hash); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(slice, int) __tact_dict_get(cell dict, int key_len, slice index) asm(index dict key_len) "DICTGET" "NULLSWAPIFNOT"; - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -int __tact_dict_get_slice_int(cell d, int kl, slice k, int vl) inline { - var (r, ok) = __tact_dict_get(d, kl, k); - if (ok) { - return r~load_int(vl); - } else { - return null(); - } -} - -int __tact_slice_eq_bits(slice a, slice b) inline { - return equal_slice_bits(a, b); -} - -cell __tact_dict_set_code(cell dict, int id, cell code) inline { - return udict_set_ref(dict, 16, id, code); -} - -cell __tact_dict_get_code(cell dict, int id) inline { - var (data, ok) = udict_get_ref?(dict, 16, id); - throw_unless(135, ok); - return data; -} - -slice $global_contractAddress((cell, cell) $s) impure inline { - var (($s'code, $s'data)) = $s; - return __tact_compute_contract_address(0, $s'code, $s'data); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} \ No newline at end of file diff --git a/examples/output/multisig_Multisig.storage.fc b/examples/output/multisig_Multisig.storage.fc deleted file mode 100644 index 8cd58bb79..000000000 --- a/examples/output/multisig_Multisig.storage.fc +++ /dev/null @@ -1,138 +0,0 @@ -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_bounce_code_data(int value, slice to, int mode, int bounce, cell code, cell data) inline { - return (bounce, to, value, mode, null(), code, data); -} - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_mode_bounce_body(slice to, int value, int mode, int bounce, cell body) inline { - return (bounce, to, value, mode, body, null(), null()); -} - -;; -;; Type: Request -;; Header: 0xfe519883 -;; TLB: request#fe519883 requested:address to:address value:coins timeout:uint32 bounce:bool mode:uint8 body:Maybe ^cell = Request -;; - -builder $Request$_store(builder build_0, (slice, slice, int, int, int, int, cell) v) inline_ref { - var (v'requested, v'to, v'value, v'timeout, v'bounce, v'mode, v'body) = v; - build_0 = store_uint(build_0, 4266760323, 32); - build_0 = __tact_store_address(build_0, v'requested); - build_0 = __tact_store_address(build_0, v'to); - build_0 = build_0.store_coins(v'value); - build_0 = build_0.store_uint(v'timeout, 32); - build_0 = build_0.store_int(v'bounce, 1); - build_0 = build_0.store_uint(v'mode, 8); - build_0 = ~ null?(v'body) ? build_0.store_int(true, 1).store_ref(v'body) : build_0.store_int(false, 1); - return build_0; -} - -(slice, ((slice, slice, int, int, int, int, cell))) $Request$_load(slice sc_0) inline_ref { - throw_unless(129, sc_0~load_uint(32) == 4266760323); - var v'requested = sc_0~__tact_load_address(); - var v'to = sc_0~__tact_load_address(); - var v'value = sc_0~load_coins(); - var v'timeout = sc_0~load_uint(32); - var v'bounce = sc_0~load_int(1); - var v'mode = sc_0~load_uint(8); - var v'body = sc_0~load_int(1) ? sc_0~load_ref() : null(); - return (sc_0, (v'requested, v'to, v'value, v'timeout, v'bounce, v'mode, v'body)); -} - -;; -;; Type: Signed -;; Header: 0x83ea5599 -;; TLB: signed#83ea5599 request:Request{requested:address,to:address,value:coins,timeout:uint32,bounce:bool,mode:uint8,body:Maybe ^cell} = Signed -;; - -(slice, (((slice, slice, int, int, int, int, cell)))) $Signed$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2213172633); - var v'request = sc_0~$Request$_load(); - return (sc_0, (v'request)); -} - -;; -;; Type: MultisigSigner -;; - -builder $MultisigSigner$init$_store(builder build_0, (slice, cell, int, (slice, slice, int, int, int, int, cell)) v) inline { - var (v'master, v'members, v'requiredWeight, (v'request'requested, v'request'to, v'request'value, v'request'timeout, v'request'bounce, v'request'mode, v'request'body)) = v; - build_0 = __tact_store_address(build_0, v'master); - build_0 = build_0.store_dict(v'members); - build_0 = build_0.store_int(v'requiredWeight, 257); - var build_1 = begin_cell(); - build_1 = $Request$_store(build_1, (v'request'requested, v'request'to, v'request'value, v'request'timeout, v'request'bounce, v'request'mode, v'request'body)); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(cell, cell) $MultisigSigner$_init_child(cell sys', slice $master, cell $members, int $requiredWeight, (slice, slice, int, int, int, int, cell) $request) inline_ref { - slice sc' = sys'.begin_parse(); - cell source = sc'~load_dict(); - cell contracts = new_dict(); - - ;; Contract Code: MultisigSigner - cell mine = __tact_dict_get_code(source, 37817); - contracts = __tact_dict_set_code(contracts, 37817, mine); - - ;; Build cell - builder b = begin_cell(); - b = b.store_ref(begin_cell().store_dict(contracts).end_cell()); - b = b.store_int(false, 1); - b = $MultisigSigner$init$_store(b, ($master, $members, $requiredWeight, $request)); - return (mine, b.end_cell()); -} - -;; -;; Type: Multisig -;; - -builder $Multisig$_store(builder build_0, (int, cell, int, int) v) inline { - var (v'seqno, v'members, v'totalWeight, v'requiredWeight) = v; - build_0 = build_0.store_int(v'seqno, 257); - build_0 = build_0.store_dict(v'members); - build_0 = build_0.store_int(v'totalWeight, 257); - build_0 = build_0.store_int(v'requiredWeight, 257); - return build_0; -} - -(slice, ((int, cell, int, int))) $Multisig$_load(slice sc_0) inline { - var v'seqno = sc_0~load_int(257); - var v'members = sc_0~load_dict(); - var v'totalWeight = sc_0~load_int(257); - var v'requiredWeight = sc_0~load_int(257); - return (sc_0, (v'seqno, v'members, v'totalWeight, v'requiredWeight)); -} - -(slice, ((cell, int, int))) $Multisig$init$_load(slice sc_0) inline { - var v'members = sc_0~load_dict(); - var v'totalWeight = sc_0~load_int(257); - var v'requiredWeight = sc_0~load_int(257); - return (sc_0, (v'members, v'totalWeight, v'requiredWeight)); -} - -(int, cell, int, int) $Multisig$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$Multisig$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (cell members, int totalWeight, int requiredWeight) = $sc~$Multisig$init$_load(); - $sc.end_parse(); - return $Multisig$_contract_init(members, totalWeight, requiredWeight); - } -} - -() $Multisig$_contract_store((int, cell, int, int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $Multisig$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/multisig_Multisig.ts b/examples/output/multisig_Multisig.ts deleted file mode 100644 index 8244c2f8f..000000000 --- a/examples/output/multisig_Multisig.ts +++ /dev/null @@ -1,443 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Request = { - $$type: 'Request'; - requested: Address; - to: Address; - value: bigint; - timeout: bigint; - bounce: boolean; - mode: bigint; - body: Cell | null; -} - -export function storeRequest(src: Request) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(4266760323, 32); - b_0.storeAddress(src.requested); - b_0.storeAddress(src.to); - b_0.storeCoins(src.value); - b_0.storeUint(src.timeout, 32); - b_0.storeBit(src.bounce); - b_0.storeUint(src.mode, 8); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - }; -} - -export function loadRequest(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 4266760323) { throw Error('Invalid prefix'); } - let _requested = sc_0.loadAddress(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadCoins(); - let _timeout = sc_0.loadUintBig(32); - let _bounce = sc_0.loadBit(); - let _mode = sc_0.loadUintBig(8); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'Request' as const, requested: _requested, to: _to, value: _value, timeout: _timeout, bounce: _bounce, mode: _mode, body: _body }; -} - -function loadTupleRequest(source: TupleReader) { - let _requested = source.readAddress(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _timeout = source.readBigNumber(); - let _bounce = source.readBoolean(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - return { $$type: 'Request' as const, requested: _requested, to: _to, value: _value, timeout: _timeout, bounce: _bounce, mode: _mode, body: _body }; -} - -function storeTupleRequest(source: Request) { - let builder = new TupleBuilder(); - builder.writeAddress(source.requested); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.timeout); - builder.writeBoolean(source.bounce); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - return builder.build(); -} - -function dictValueParserRequest(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeRequest(src)).endCell()); - }, - parse: (src) => { - return loadRequest(src.loadRef().beginParse()); - } - } -} - -export type Signed = { - $$type: 'Signed'; - request: Request; -} - -export function storeSigned(src: Signed) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2213172633, 32); - b_0.store(storeRequest(src.request)); - }; -} - -export function loadSigned(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2213172633) { throw Error('Invalid prefix'); } - let _request = loadRequest(sc_0); - return { $$type: 'Signed' as const, request: _request }; -} - -function loadTupleSigned(source: TupleReader) { - const _request = loadTupleRequest(source.readTuple()); - return { $$type: 'Signed' as const, request: _request }; -} - -function storeTupleSigned(source: Signed) { - let builder = new TupleBuilder(); - builder.writeTuple(storeTupleRequest(source.request)); - return builder.build(); -} - -function dictValueParserSigned(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSigned(src)).endCell()); - }, - parse: (src) => { - return loadSigned(src.loadRef().beginParse()); - } - } -} - - type Multisig_init_args = { - $$type: 'Multisig_init_args'; - members: Dictionary; - totalWeight: bigint; - requiredWeight: bigint; -} - -function initMultisig_init_args(src: Multisig_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeDict(src.members, Dictionary.Keys.Address(), Dictionary.Values.BigInt(257)); - b_0.storeInt(src.totalWeight, 257); - b_0.storeInt(src.requiredWeight, 257); - }; -} - -async function Multisig_init(members: Dictionary, totalWeight: bigint, requiredWeight: bigint) { - const __code = Cell.fromBase64('te6ccgECGgEABO4AART/APSkE/S88sgLAQIBYgIDArzQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVE9s88uCCyPhDAcx/AcoAVTBQNIEBAc8A9ACBAQHPAIEBAc8Aye1UFQQCASAODwNgAZIwf+BwIddJwh+VMCDXCx/eIIIQ/lGYg7qPCDDbPGwX2zx/4IIQg+pVmbrjAjBwCAUGAvb4QoEBCysCgQEBQTP0Cm+hlAHXADCSW23iIG7y0ICCALTjAcIA8vT4Q/goVBh7UXoHVSPbPFxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiHADgEIKBwIi0x8BghCD6lWZuvLggds8bBcICQEYQBN/WRAlECNtWds8CwDA0x8BghD+UZiDuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6ANMf0gDTB9IAAZHUkm0B4lVgAuT4QvhD+ChUIMNUW7pUephTqds8cFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgHgRFNCMcFF/L0gRKTA/gjvBPy9FUDFEMwbW3bPH8KCwHMCtD0BDBtAYIAk7kBgBD0D2+h8uCHAYIAk7kiAoAQ9BfIAcj0AMkBzHABygBVkAtQqSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFhf0ABWBAQHPAMgHEEYQNUSA2zzJAczJDAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wANAMSCEP5RmINQCMsfUAYg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQBCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlj6AssfygDLByFus5V/AcoAzJRwMsoA4gCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAJNvKQpBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtniqB7Z42IMFRACASAREgAugQELJAKBAQFBM/QKb6GUAdcAMJJbbeICASATFAIBSBgZAhG3KDtnm2eNiDAVFgCVt3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwThOy6ctWadluZ0HSzbKM3RSQAYDtRNDUAfhj0gABjhWBAQHXAPQEgQEB1wCBAQHXAFUwbBTg+CjXCwqDCbry4In0BIEBAdcAgQEB1wBVIAPRWNs8FwACIgAKMXBUIgMAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtZXNNOHpxRm43bWF6SlF4bXZZOEVoWHRaMVNRbjFXR1BuZjJWbjZqYXR2dUKCA='); - const __system = Cell.fromBase64('te6cckECLwEAB9cAAQHAAQIBIBQCAQW8ncwDART/APSkE/S88sgLBAIBYgwFAgFYCAYCAUgbBwB1sm7jQ1aXBmczovL1FtVUZzR1FFNlZDeFJFbW1iN3FvUHg3NTh4YWp1N3VrVllnTFN3TWZUVDVBY0qCACAVgKCQCVsvRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgAhGwv7bPNs8bMeARCwAOVHZUVHZUJgN60AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRvbPPLgghEODQGWyPhDAcx/AcoAVbBQyyDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFhn0ABeBAQHPABWBAQHPABPKAMhGFxA1GNs8yQHMye1UKwFU7aLt+wGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+DAAJEw4w1wDwH++QGC8CKu5tCm3BRldyd91Y0GrjCQo83T2KiFYRhCCK5fbrA5uo7XgRKTJPgjvPL0ggCfaiiz8vT4QiuBAQsigQEBQTP0Cm+hlAHXADCSW23iIG7y0IAcgQELUA1tgQEBIW6VW1n0WTCYyAHPAEEz9EHiUKugUwi+4wAJf9sx4BACVDd/cIEAgnBUeYdUeYdWEshVYIIQg+pVmVAIyx8H2zzJL1UgREBtbds8BysoArTtRNDUAfhj0gABjsL6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfQEgQEB1wCBAQHXANIA1AHQ2zw3EHwQexB6EHkQeFUFbBzg+CjXCwqDCbry4IksEgJ2+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH0BIEBAdcA1AHQ2zw3EHoQeRB4VQUK0VUI2zwsEwAOcAgHcAdVQQEFvNg8FQEU/wD0pBP0vPLICxYCAWIiFwIBICAYAgEgHBkCAUgbGgB1sm7jQ1aXBmczovL1FtZXNNOHpxRm43bWF6SlF4bXZZOEVoWHRaMVNRbjFXR1BuZjJWbjZqYXR2dUKCAAEbCvu1E0NIAAYAIBIB4dAJW3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOE7Lpy1Zp2W5nQdLNsozdFJACEbcoO2ebZ42IMC0fAAIiAk28pCkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eKoHtnjYgwtIQAugQELJAKBAQFBM/QKb6GUAdcAMJJbbeICvNAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUT2zzy4ILI+EMBzH8BygBVMFA0gQEBzwD0AIEBAc8AgQEBzwDJ7VQtIwNgAZIwf+BwIddJwh+VMCDXCx/eIIIQ/lGYg7qPCDDbPGwX2zx/4IIQg+pVmbrjAjBwLCYkAiLTHwGCEIPqVZm68uCB2zxsFywlAuT4QvhD+ChUIMNUW7pUephTqds8cFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgHgRFNCMcFF/L0gRKTA/gjvBPy9FUDFEMwbW3bPH8qKAL2+EKBAQsrAoEBAUEz9ApvoZQB1wAwkltt4iBu8tCAggC04wHCAPL0+EP4KFQYe1F6B1Uj2zxccFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhwA4BCKicBGEATf1kQJRAjbVnbPCgByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsAKQCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAHMCtD0BDBtAYIAk7kBgBD0D2+h8uCHAYIAk7kiAoAQ9BfIAcj0AMkBzHABygBVkAtQqSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFhf0ABWBAQHPAMgHEEYQNUSA2zzJAczJKwDEghD+UZiDUAjLH1AGINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAQg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZY+gLLH8oAywchbrOVfwHKAMyUcDLKAOIAwNMfAYIQ/lGYg7ry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+gDTH9IA0wfSAAGR1JJtAeJVYAGA7UTQ1AH4Y9IAAY4VgQEB1wD0BIEBAdcAgQEB1wBVMGwU4Pgo1wsKgwm68uCJ9ASBAQHXAIEBAdcAVSAD0VjbPC4ACjFwVCIDjkFIWg=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initMultisig_init_args({ $$type: 'Multisig_init_args', members, totalWeight, requiredWeight })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Multisig_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 4429: { message: `Invalid sender` }, - 4755: { message: `Timeout` }, - 40810: { message: `Completed` }, - 46307: { message: `Not a member` }, -} - -const Multisig_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Request","header":4266760323,"fields":[{"name":"requested","type":{"kind":"simple","type":"address","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"timeout","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"mode","type":{"kind":"simple","type":"uint","optional":false,"format":8}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Signed","header":2213172633,"fields":[{"name":"request","type":{"kind":"simple","type":"Request","optional":false}}]}, -] - -const Multisig_getters: ABIGetter[] = [ - {"name":"member","arguments":[{"name":"address","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"members","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int"}}, -] - -const Multisig_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"Request"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Signed"}}, -] - -export class Multisig implements Contract { - - static async init(members: Dictionary, totalWeight: bigint, requiredWeight: bigint) { - return await Multisig_init(members, totalWeight, requiredWeight); - } - - static async fromInit(members: Dictionary, totalWeight: bigint, requiredWeight: bigint) { - const init = await Multisig_init(members, totalWeight, requiredWeight); - const address = contractAddress(0, init); - return new Multisig(address, init); - } - - static fromAddress(address: Address) { - return new Multisig(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Multisig_types, - getters: Multisig_getters, - receivers: Multisig_receivers, - errors: Multisig_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: Request | Signed) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Request') { - body = beginCell().store(storeRequest(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Signed') { - body = beginCell().store(storeSigned(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getMember(provider: ContractProvider, address: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(address); - let source = (await provider.get('member', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getMembers(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('members', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - -} \ No newline at end of file diff --git a/examples/output/multisig_MultisigSigner.abi b/examples/output/multisig_MultisigSigner.abi deleted file mode 100644 index 004c9a1b2..000000000 --- a/examples/output/multisig_MultisigSigner.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"MultisigSigner","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Request","header":4266760323,"fields":[{"name":"requested","type":{"kind":"simple","type":"address","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"timeout","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"mode","type":{"kind":"simple","type":"uint","optional":false,"format":8}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Signed","header":2213172633,"fields":[{"name":"request","type":{"kind":"simple","type":"Request","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}},{"receiver":"internal","message":{"kind":"text","text":"YES"}}],"getters":[{"name":"request","arguments":[],"returnType":{"kind":"simple","type":"Request","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"4429":{"message":"Invalid sender"},"4755":{"message":"Timeout"},"40810":{"message":"Completed"},"46307":{"message":"Not a member"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/examples/output/multisig_MultisigSigner.code.boc b/examples/output/multisig_MultisigSigner.code.boc deleted file mode 100644 index 07678f0d1..000000000 Binary files a/examples/output/multisig_MultisigSigner.code.boc and /dev/null differ diff --git a/examples/output/multisig_MultisigSigner.code.boc.html b/examples/output/multisig_MultisigSigner.code.boc.html deleted file mode 100644 index c1eb241f2..000000000 --- a/examples/output/multisig_MultisigSigner.code.boc.html +++ /dev/null @@ -1,632 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_107262;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_01d8a0d865252159;
-            ..DECLPROC ?fun_ref_1b70c97bf9f85a83;
-            ..DECLPROC ?fun_ref_48bd3d679adfab39;
-            ..DECLPROC ?fun_ref_93dc8a539249c4a9;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_d5b73b8241a4c632;
-            ..DECLPROC ?fun_ref_f94e38f5b9435bab;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_01d8a0d865252159 INLINECALLDICT
-            ....2 12 BLKSWAP
-            ....?fun_ref_f94e38f5b9435bab INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....12 1 BLKSWAP
-            ....s12 s11 XCHG2
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....s1 s9 XCHG
-            ....STDICT
-            ....s1 s7 XCHG
-            ....257 PUSHINT
-            ....STIX
-            ....s1 s5 XCHG
-            ....257 PUSHINT
-            ....STIX
-            ....s1 s3 XCHG
-            ....1 STI
-            ....NEWC
-            ....s6 s1 s7 XCHG3
-            ....s3 s5 XCHG
-            ....s1 s8 XCHG
-            ....?fun_ref_d5b73b8241a4c632 INLINECALLDICT
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..?fun_107262 PROC:<{
-            ....?fun_ref_01d8a0d865252159 INLINECALLDICT
-            ....?fun_ref_1b70c97bf9f85a83 INLINECALLDICT
-            ....12 7 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D5546734751453656437852456D6D6237716F507837353878616A7537756B5659674C53774D6654543541634A82_} PUSHSLICE
-            ..}>
-            ..?fun_ref_01d8a0d865252159 PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......LDDICT
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......?fun_ref_48bd3d679adfab39 INLINECALLDICT
-            ......s7 POP
-            ......s7 s12 XCHG
-            ......s7 s11 XCHG
-            ......s7 s10 XCHG
-            ......s7 s9 XCHG
-            ......s7 s8 XCHG
-            ......1 6 BLKSWAP
-            ......1 12 BLKDROP2
-            ....}> PUSHCONT
-            ....IFJMP
-            ....MYADDR
-            ....11 PLDU
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....137 THROWIFNOT
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s1 XCHG
-            ....LDDICT
-            ....257 PUSHINT
-            ....LDIX
-            ....LDREF
-            ....s0 s1 XCHG
-            ....CTOS
-            ....?fun_ref_48bd3d679adfab39 INLINECALLDICT
-            ....s7 POP
-            ....s7 s10 XCHG
-            ....s7 s9 XCHG
-            ....s7 s8 XCHG
-            ....1 6 BLKSWAP
-            ....s0 s10 XCHG
-            ....ENDS
-            ....1 9 BLKSWAP
-            ....?fun_ref_93dc8a539249c4a9 INLINECALLDICT
-            ..}>
-            ..?fun_ref_1b70c97bf9f85a83 PROCREF:<{
-            ....s6 s5 s4 PUSH3
-            ....s6 s5 s4 PUSH3
-            ....s6 PUSH
-            ..}>
-            ..?fun_ref_48bd3d679adfab39 PROCREF:<{
-            ....32 LDU
-            ....s0 s1 XCHG
-            ....4266760323 PUSHINT
-            ....EQUAL
-            ....129 THROWIFNOT
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s1 XCHG
-            ....LDGRAMS
-            ....32 LDU
-            ....1 LDI
-            ....8 LDU
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDREF
-            ....}> PUSHCONT
-            ....<{
-            ......NULL
-            ......s0 s1 XCHG
-            ....}> PUSHCONT
-            ....IFELSE
-            ....7 1 BLKSWAP
-            ..}>
-            ..?fun_ref_93dc8a539249c4a9 PROCREF:<{
-            ....0 PUSHINT
-            ....s0 s8 XCHG
-            ....s0 s7 XCHG
-            ....0 PUSHINT
-            ....s0 s7 XCHG
-            ....5 2 BLKSWAP
-            ..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            ..?fun_ref_d5b73b8241a4c632 PROCREF:<{
-            ....4266760323 PUSHINT
-            ....s0 s8 XCHG2
-            ....32 STU
-            ....s0 s6 XCHG2
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....s0 s4 XCHG2
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....ROT
-            ....STGRAMS
-            ....32 STU
-            ....1 STI
-            ....8 STU
-            ....s1 PUSH
-            ....ISNULL
-            ....NOT
-            ....<{
-            ......-1 PUSHINT
-            ......s0 s1 XCHG
-            ......1 STI
-            ......STREF
-            ....}> PUSHCONT
-            ....<{
-            ......0 PUSHINT
-            ......s2 POP
-            ......1 STI
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_f94e38f5b9435bab PROCREF:<{
-            ....2 SAVE
-            ....SAMEALTSAVE
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....s0 PUSH
-            ....0 EQINT
-            ....s2 PUSH
-            ....SBITS
-            ....33 LESSINT
-            ....AND
-            ....<{
-            ......DROP2
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 EQINT
-            ....<{
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......HASHSU
-            ......15687661268003540618347676322063149294643333469463580674027607086437424345145 PUSHINT
-            ......EQUAL
-            ......<{
-            ........4755 PUSHINT
-            ........s4 PUSH
-            ........NOW
-            ........GREATER
-            ........THROWANYIFNOT
-            ........40810 PUSHINT
-            ........s8 PUSH
-            ........NOT
-            ........THROWANYIFNOT
-            ........2 GETGLOBVAR
-            ........s11 PUSH
-            ........267 PUSHINT
-            ........s2 PUSH
-            ........257 PUSHINT
-            ........s1 s3 s3 XCHG3
-            ........DICTGET
-            ........NULLSWAPIFNOT
-            ........<{
-            ..........s0 s1 XCHG
-            ..........LDIX
-            ..........s0 POP
-            ........}> PUSHCONT
-            ........<{
-            ..........DROP2
-            ..........NULL
-            ........}> PUSHCONT
-            ........IFELSE
-            ........s0 PUSH
-            ........ISNULL
-            ........128 THROWIF
-            ........s1 s12 XCHG
-            ........267 PUSHINT
-            ........s0 s13 XCHG2
-            ........NULL
-            ........257 PUSHINT
-            ........s1 PUSH
-            ........ISNULL
-            ........<{
-            ..........DROP2
-            ..........ROTREV
-            ..........DICTDEL
-            ..........s0 POP
-            ........}> PUSHCONT
-            ........<{
-            ..........NEWC
-            ..........s0 s1 XCHG
-            ..........STIX
-            ..........s1 s3 s3 XCHG3
-            ..........DICTSETB
-            ........}> PUSHCONT
-            ........IFELSE
-            ........s10 s11 XCHG2
-            ........ADD
-            ........s0 s8 PUSH2
-            ........GEQ
-            ........<{
-            ..........s7 POP
-            ..........-1 PUSHINT
-            ..........0 PUSHINT
-            ..........130 PUSHINT
-            ..........0 PUSHINT
-            ..........s9 s8 s7 PUSH3
-            ..........s9 s8 s7 PUSH3
-            ..........s18 PUSH
-            ..........NEWC
-            ..........7 1 BLKSWAP
-            ..........2213172633 PUSHINT
-            ..........s0 s8 XCHG2
-            ..........32 STU
-            ..........s0 s7 XCHG
-            ..........?fun_ref_d5b73b8241a4c632 INLINECALLDICT
-            ..........ENDC
-            ..........s15 PUSH
-            ..........3 1 BLKSWAP
-            ..........s4 s4 s0 XCHG3
-            ..........NULL
-            ..........NULL
-            ..........?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ..........s0 s7 XCHG
-            ........}> IFREF
-            ........s0 s9 XCHG
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ....}> IFREFELSE
-            ....0 PUSHINT
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/multisig_MultisigSigner.code.fc b/examples/output/multisig_MultisigSigner.code.fc deleted file mode 100644 index fd90d0484..000000000 --- a/examples/output/multisig_MultisigSigner.code.fc +++ /dev/null @@ -1,138 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "multisig_MultisigSigner.headers.fc"; -#include "multisig_MultisigSigner.stdlib.fc"; -#include "multisig_MultisigSigner.storage.fc"; - -;; -;; Contract MultisigSigner functions -;; - -(slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) $MultisigSigner$_contract_init(slice $master, cell $members, int $requiredWeight, (slice, slice, int, int, int, int, cell) $request) impure inline_ref { - var (($request'requested, $request'to, $request'value, $request'timeout, $request'bounce, $request'mode, $request'body)) = $request; - var (($self'master, $self'members, $self'weight, $self'requiredWeight, $self'completed, ($self'request'requested, $self'request'to, $self'request'value, $self'request'timeout, $self'request'bounce, $self'request'mode, $self'request'body))) = (null(), null(), 0, null(), null(), null()); - $self'master = $master; - $self'members = $members; - $self'requiredWeight = $requiredWeight; - $self'completed = false; - ($self'request'requested, $self'request'to, $self'request'value, $self'request'timeout, $self'request'bounce, $self'request'mode, $self'request'body) = ($request'requested, $request'to, $request'value, $request'timeout, $request'bounce, $request'mode, $request'body); - return ($self'master, $self'members, $self'weight, $self'requiredWeight, $self'completed, ($self'request'requested, $self'request'to, $self'request'value, $self'request'timeout, $self'request'bounce, $self'request'mode, $self'request'body)); -} - -((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)), (slice, slice, int, int, int, int, cell)) $MultisigSigner$_fun_request((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) $self) impure inline_ref { - var (($self'master, $self'members, $self'weight, $self'requiredWeight, $self'completed, ($self'request'requested, $self'request'to, $self'request'value, $self'request'timeout, $self'request'bounce, $self'request'mode, $self'request'body))) = $self; - return (($self'master, $self'members, $self'weight, $self'requiredWeight, $self'completed, ($self'request'requested, $self'request'to, $self'request'value, $self'request'timeout, $self'request'bounce, $self'request'mode, $self'request'body)), ($self'request'requested, $self'request'to, $self'request'value, $self'request'timeout, $self'request'bounce, $self'request'mode, $self'request'body)); -} - -;; -;; Receivers of a Contract MultisigSigner -;; - -(((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell))), ()) %$MultisigSigner$_internal_empty((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) $self) impure inline { - var ($self'master, $self'members, $self'weight, $self'requiredWeight, $self'completed, ($self'request'requested, $self'request'to, $self'request'value, $self'request'timeout, $self'request'bounce, $self'request'mode, $self'request'body)) = $self; - return (($self'master, $self'members, $self'weight, $self'requiredWeight, $self'completed, ($self'request'requested, $self'request'to, $self'request'value, $self'request'timeout, $self'request'bounce, $self'request'mode, $self'request'body)), ()); -} - -((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)), ()) $MultisigSigner$_internal_text_22aee6d0a6dc146577277dd58d06ae3090a3cdd3d8a88561184208ae5f6eb039((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) $self) impure inline { - var ($self'master, $self'members, $self'weight, $self'requiredWeight, $self'completed, ($self'request'requested, $self'request'to, $self'request'value, $self'request'timeout, $self'request'bounce, $self'request'mode, $self'request'body)) = $self; - throw_unless(4755, ($self'request'timeout > now())); - throw_unless(40810, (~ $self'completed)); - slice $sender = __tact_context_get_sender(); - int $weight = __tact_not_null(__tact_dict_get_slice_int($self'members, 267, $sender, 257)); - $self'members~__tact_dict_set_slice_int(267, $sender, null(), 257); - $self'weight = ($self'weight + $weight); - if (($self'weight >= $self'requiredWeight)) { - $self'completed = true; - $global_send($SendParameters$_constructor_value_to_mode_bounce_body(0, $self'master, (128 + 2), false, $Signed$_store_cell($Signed$_constructor_request(($self'request'requested, $self'request'to, $self'request'value, $self'request'timeout, $self'request'bounce, $self'request'mode, $self'request'body))))); - } - return (($self'master, $self'members, $self'weight, $self'requiredWeight, $self'completed, ($self'request'requested, $self'request'to, $self'request'value, $self'request'timeout, $self'request'bounce, $self'request'mode, $self'request'body)), ()); -} - -;; -;; Get methods of a Contract MultisigSigner -;; - -_ %request() method_id(107262) { - var self = $MultisigSigner$_contract_load(); - var res = self~$MultisigSigner$_fun_request(); - return $Request$_to_external(res); -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmUFsGQE6VCxREmmb7qoPx758xaju7ukVYgLSwMfTT5AcJ"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract MultisigSigner -;; - -((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)), int) $MultisigSigner$_contract_router_internal((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$MultisigSigner$_internal_empty(); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "YES" message - if (text_op == 0x22aee6d0a6dc146577277dd58d06ae3090a3cdd3d8a88561184208ae5f6eb039) { - self~$MultisigSigner$_internal_text_22aee6d0a6dc146577277dd58d06ae3090a3cdd3d8a88561184208ae5f6eb039(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $MultisigSigner$_contract_load(); - - ;; Handle operation - int handled = self~$MultisigSigner$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $MultisigSigner$_contract_store(self); -} diff --git a/examples/output/multisig_MultisigSigner.code.fif b/examples/output/multisig_MultisigSigner.code.fif deleted file mode 100644 index 3c8a87c6b..000000000 --- a/examples/output/multisig_MultisigSigner.code.fif +++ /dev/null @@ -1,522 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_not_null - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC __tact_dict_set_slice_int - DECLPROC __tact_dict_get_slice_int - DECLPROC $Request$_store - DECLPROC $Request$_load - DECLPROC $Signed$_store - DECLPROC $Signed$_store_cell - DECLPROC $MultisigSigner$_store - DECLPROC $MultisigSigner$_load - DECLPROC $Request$_to_external - DECLPROC $MultisigSigner$init$_load - DECLPROC $MultisigSigner$_contract_init - DECLPROC $MultisigSigner$_contract_load - DECLPROC $MultisigSigner$_contract_store - DECLPROC $global_send - DECLPROC $MultisigSigner$_fun_request - DECLPROC $SendParameters$_constructor_value_to_mode_bounce_body - DECLPROC $Signed$_constructor_request - DECLPROC %$MultisigSigner$_internal_empty - DECLPROC $MultisigSigner$_internal_text_22aee6d0a6dc146577277dd58d06ae3090a3cdd3d8a88561184208ae5f6eb039 - 107262 DECLMETHOD %request - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $MultisigSigner$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_dict_set_slice_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> - }> - __tact_dict_get_slice_int PROCINLINE:<{ - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - IF:<{ - SWAP - LDIX - DROP - }>ELSE<{ - 2DROP - PUSHNULL - }> - }> - $Request$_store PROCREF:<{ - 4266760323 PUSHINT - s0 s8 XCHG2 - 32 STU - s0 s6 XCHG2 - __tact_store_address INLINECALLDICT - s0 s4 XCHG2 - __tact_store_address INLINECALLDICT - ROT - STGRAMS - 32 STU - 1 STI - 8 STU - OVER - ISNULL - NOT - IF:<{ - TRUE - SWAP - 1 STI - STREF - }>ELSE<{ - FALSE - s2 POP - 1 STI - }> - }> - $Request$_load PROCREF:<{ - 32 LDU - SWAP - 4266760323 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address INLINECALLDICT - SWAP - LDGRAMS - 32 LDU - 1 LDI - 8 LDU - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - 7 -ROLL - }> - $Signed$_store PROCINLINE:<{ - 2213172633 PUSHINT - s0 s8 XCHG2 - 32 STU - s0 s7 XCHG - $Request$_store INLINECALLDICT - }> - $Signed$_store_cell PROCINLINE:<{ - NEWC - 7 -ROLL - $Signed$_store INLINECALLDICT - ENDC - }> - $MultisigSigner$_store PROCINLINE:<{ - s12 s11 XCHG2 - __tact_store_address INLINECALLDICT - s1 s9 XCHG - STDICT - s1 s7 XCHG - 257 PUSHINT - STIX - s1 s5 XCHG - 257 PUSHINT - STIX - s1 s3 XCHG - 1 STI - NEWC - s6 s1 s7 XCHG3 - s3 s5 XCHG - s1 s8 XCHG - $Request$_store INLINECALLDICT - ENDC - SWAP - STREF - }> - $MultisigSigner$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - SWAP - LDDICT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 1 LDI - LDREF - SWAP - CTOS - $Request$_load INLINECALLDICT - s7 POP - s7 s12 XCHG - s7 s11 XCHG - s7 s10 XCHG - s7 s9 XCHG - s7 s8 XCHG - 6 ROLL - }> - $Request$_to_external PROCINLINE:<{ - }> - $MultisigSigner$init$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - SWAP - LDDICT - 257 PUSHINT - LDIX - LDREF - SWAP - CTOS - $Request$_load INLINECALLDICT - s7 POP - s7 s10 XCHG - s7 s9 XCHG - s7 s8 XCHG - 6 ROLL - }> - $MultisigSigner$_contract_init PROCREF:<{ - 0 PUSHINT - s0 s8 XCHG - s0 s7 XCHG - FALSE - s0 s7 XCHG - 5 2 BLKSWAP - }> - $MultisigSigner$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $MultisigSigner$_load INLINECALLDICT - 1 12 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $MultisigSigner$init$_load INLINECALLDICT - s0 s10 XCHG - ENDS - 9 ROLL - $MultisigSigner$_contract_init INLINECALLDICT - }> - $MultisigSigner$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 12 -ROLL - $MultisigSigner$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $MultisigSigner$_fun_request PROCREF:<{ - s6 s5 s4 PUSH3 - s6 s5 s4 PUSH3 - s6 PUSH - }> - $SendParameters$_constructor_value_to_mode_bounce_body PROCINLINE:<{ - s4 s4 s0 XCHG3 - PUSHNULL - PUSHNULL - }> - $Signed$_constructor_request PROCINLINE:<{ - }> - %$MultisigSigner$_internal_empty PROCINLINE:<{ - }> - $MultisigSigner$_internal_text_22aee6d0a6dc146577277dd58d06ae3090a3cdd3d8a88561184208ae5f6eb039 PROCINLINE:<{ - 4755 PUSHINT - s4 PUSH - NOW - GREATER - THROWANYIFNOT - 40810 PUSHINT - s8 PUSH - NOT - THROWANYIFNOT - __tact_context_get_sender INLINECALLDICT - s11 PUSH - 267 PUSHINT - s2 PUSH - 257 PUSHINT - __tact_dict_get_slice_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s1 s12 XCHG - 267 PUSHINT - s0 s13 XCHG2 - PUSHNULL - 257 PUSHINT - __tact_dict_set_slice_int INLINECALLDICT - s10 s11 XCHG2 - ADD - s0 s8 PUSH2 - GEQ - IF:<{ - s7 POP - TRUE - 0 PUSHINT - 130 PUSHINT - FALSE - s9 s8 s7 PUSH3 - s9 s8 s7 PUSH3 - 18 s() PUSH - $Signed$_constructor_request INLINECALLDICT - $Signed$_store_cell INLINECALLDICT - s15 PUSH - 3 -ROLL - $SendParameters$_constructor_value_to_mode_bounce_body INLINECALLDICT - $global_send INLINECALLDICT - s0 s7 XCHG - }> - s0 s9 XCHG - }> - %request PROC:<{ - $MultisigSigner$_contract_load INLINECALLDICT - $MultisigSigner$_fun_request INLINECALLDICT - 12 7 BLKDROP2 - $Request$_to_external INLINECALLDICT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d5546734751453656437852456d6d6237716f507837353878616a7537756b5659674c53774d6654543541634a} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $MultisigSigner$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - IFJMP:<{ - 2DROP - %$MultisigSigner$_internal_empty INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - 15687661268003540618347676322063149294643333469463580674027607086437424345145 PUSHINT - EQUAL - IFJMP:<{ - $MultisigSigner$_internal_text_22aee6d0a6dc146577277dd58d06ae3090a3cdd3d8a88561184208ae5f6eb039 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $MultisigSigner$_contract_load INLINECALLDICT - 2 12 BLKSWAP - $MultisigSigner$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $MultisigSigner$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/multisig_MultisigSigner.code.rev.fif b/examples/output/multisig_MultisigSigner.code.rev.fif deleted file mode 100644 index 2dc43c983..000000000 --- a/examples/output/multisig_MultisigSigner.code.rev.fif +++ /dev/null @@ -1,596 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_107262; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_01d8a0d865252159; - DECLPROC ?fun_ref_1b70c97bf9f85a83; - DECLPROC ?fun_ref_48bd3d679adfab39; - DECLPROC ?fun_ref_93dc8a539249c4a9; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_d5b73b8241a4c632; - DECLPROC ?fun_ref_f94e38f5b9435bab; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_01d8a0d865252159 INLINECALLDICT - 2 12 BLKSWAP - ?fun_ref_f94e38f5b9435bab INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 12 1 BLKSWAP - s12 s11 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s1 s9 XCHG - STDICT - s1 s7 XCHG - 257 PUSHINT - STIX - s1 s5 XCHG - 257 PUSHINT - STIX - s1 s3 XCHG - 1 STI - NEWC - s6 s1 s7 XCHG3 - s3 s5 XCHG - s1 s8 XCHG - ?fun_ref_d5b73b8241a4c632 INLINECALLDICT - ENDC - s0 s1 XCHG - STREF - ENDC - c4 POP - }> - ?fun_107262 PROC:<{ - ?fun_ref_01d8a0d865252159 INLINECALLDICT - ?fun_ref_1b70c97bf9f85a83 INLINECALLDICT - 12 7 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D5546734751453656437852456D6D6237716F507837353878616A7537756B5659674C53774D6654543541634A82_} PUSHSLICE - }> - ?fun_ref_01d8a0d865252159 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDDICT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 1 LDI - LDREF - s0 s1 XCHG - CTOS - ?fun_ref_48bd3d679adfab39 INLINECALLDICT - s7 POP - s7 s12 XCHG - s7 s11 XCHG - s7 s10 XCHG - s7 s9 XCHG - s7 s8 XCHG - 1 6 BLKSWAP - 1 12 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDDICT - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - ?fun_ref_48bd3d679adfab39 INLINECALLDICT - s7 POP - s7 s10 XCHG - s7 s9 XCHG - s7 s8 XCHG - 1 6 BLKSWAP - s0 s10 XCHG - ENDS - 1 9 BLKSWAP - ?fun_ref_93dc8a539249c4a9 INLINECALLDICT - }> - ?fun_ref_1b70c97bf9f85a83 PROCREF:<{ - s6 s5 s4 PUSH3 - s6 s5 s4 PUSH3 - s6 PUSH - }> - ?fun_ref_48bd3d679adfab39 PROCREF:<{ - 32 LDU - s0 s1 XCHG - 4266760323 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDGRAMS - 32 LDU - 1 LDI - 8 LDU - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - 7 1 BLKSWAP - }> - ?fun_ref_93dc8a539249c4a9 PROCREF:<{ - 0 PUSHINT - s0 s8 XCHG - s0 s7 XCHG - 0 PUSHINT - s0 s7 XCHG - 5 2 BLKSWAP - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_d5b73b8241a4c632 PROCREF:<{ - 4266760323 PUSHINT - s0 s8 XCHG2 - 32 STU - s0 s6 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s4 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ROT - STGRAMS - 32 STU - 1 STI - 8 STU - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - STREF - }> PUSHCONT - <{ - 0 PUSHINT - s2 POP - 1 STI - }> PUSHCONT - IFELSE - }> - ?fun_ref_f94e38f5b9435bab PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 EQINT - <{ - s0 POP - }> PUSHCONT - <{ - HASHSU - 15687661268003540618347676322063149294643333469463580674027607086437424345145 PUSHINT - EQUAL - <{ - 4755 PUSHINT - s4 PUSH - NOW - GREATER - THROWANYIFNOT - 40810 PUSHINT - s8 PUSH - NOT - THROWANYIFNOT - 2 GETGLOBVAR - s11 PUSH - 267 PUSHINT - s2 PUSH - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s1 s12 XCHG - 267 PUSHINT - s0 s13 XCHG2 - NULL - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s10 s11 XCHG2 - ADD - s0 s8 PUSH2 - GEQ - <{ - s7 POP - -1 PUSHINT - 0 PUSHINT - 130 PUSHINT - 0 PUSHINT - s9 s8 s7 PUSH3 - s9 s8 s7 PUSH3 - s18 PUSH - NEWC - 7 1 BLKSWAP - 2213172633 PUSHINT - s0 s8 XCHG2 - 32 STU - s0 s7 XCHG - ?fun_ref_d5b73b8241a4c632 INLINECALLDICT - ENDC - s15 PUSH - 3 1 BLKSWAP - s4 s4 s0 XCHG3 - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - s0 s7 XCHG - }> IFREF - s0 s9 XCHG - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> IFREFELSE - 0 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/examples/output/multisig_MultisigSigner.headers.fc b/examples/output/multisig_MultisigSigner.headers.fc deleted file mode 100644 index 007eabee3..000000000 --- a/examples/output/multisig_MultisigSigner.headers.fc +++ /dev/null @@ -1,73 +0,0 @@ -;; -;; Header files for MultisigSigner -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_dict_set_slice_int -(cell, ()) __tact_dict_set_slice_int(cell d, int kl, slice k, int v, int vl) inline; - -;; __tact_dict_get_slice_int -int __tact_dict_get_slice_int(cell d, int kl, slice k, int vl) inline; - -;; $Request$_store -builder $Request$_store(builder build_0, (slice, slice, int, int, int, int, cell) v) inline_ref; - -;; $Request$_load -(slice, ((slice, slice, int, int, int, int, cell))) $Request$_load(slice sc_0) inline_ref; - -;; $Signed$_store -builder $Signed$_store(builder build_0, ((slice, slice, int, int, int, int, cell)) v) inline; - -;; $Signed$_store_cell -cell $Signed$_store_cell(((slice, slice, int, int, int, int, cell)) v) inline; - -;; $MultisigSigner$_store -builder $MultisigSigner$_store(builder build_0, (slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) v) inline; - -;; $MultisigSigner$_load -(slice, ((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)))) $MultisigSigner$_load(slice sc_0) inline; - -;; $Request$_to_external -(slice, slice, int, int, int, int, cell) $Request$_to_external(((slice, slice, int, int, int, int, cell)) v) inline; - -;; $MultisigSigner$init$_load -(slice, ((slice, cell, int, (slice, slice, int, int, int, int, cell)))) $MultisigSigner$init$_load(slice sc_0) inline; - -;; $MultisigSigner$_contract_init -(slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) $MultisigSigner$_contract_init(slice $master, cell $members, int $requiredWeight, (slice, slice, int, int, int, int, cell) $request) impure inline_ref; - -;; $MultisigSigner$_contract_load -(slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) $MultisigSigner$_contract_load() impure inline_ref; - -;; $MultisigSigner$_contract_store -() $MultisigSigner$_contract_store((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $MultisigSigner$_fun_request -((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)), (slice, slice, int, int, int, int, cell)) $MultisigSigner$_fun_request((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) $self) impure inline_ref; - -;; $SendParameters$_constructor_value_to_mode_bounce_body -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_bounce_body(int value, slice to, int mode, int bounce, cell body) inline; - -;; $Signed$_constructor_request -(((slice, slice, int, int, int, int, cell))) $Signed$_constructor_request((slice, slice, int, int, int, int, cell) request) inline; diff --git a/examples/output/multisig_MultisigSigner.md b/examples/output/multisig_MultisigSigner.md deleted file mode 100644 index 25679dcfc..000000000 --- a/examples/output/multisig_MultisigSigner.md +++ /dev/null @@ -1,61 +0,0 @@ -# TACT Compilation Report -Contract: MultisigSigner -BOC Size: 1127 bytes - -# Types -Total Types: 5 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Request -TLB: `request#fe519883 requested:address to:address value:coins timeout:uint32 bounce:bool mode:uint8 body:Maybe ^cell = Request` -Signature: `Request{requested:address,to:address,value:coins,timeout:uint32,bounce:bool,mode:uint8,body:Maybe ^cell}` - -## Signed -TLB: `signed#83ea5599 request:Request{requested:address,to:address,value:coins,timeout:uint32,bounce:bool,mode:uint8,body:Maybe ^cell} = Signed` -Signature: `Signed{request:Request{requested:address,to:address,value:coins,timeout:uint32,bounce:bool,mode:uint8,body:Maybe ^cell}}` - -# Get Methods -Total Get Methods: 1 - -## request - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -4429: Invalid sender -4755: Timeout -40810: Completed -46307: Not a member \ No newline at end of file diff --git a/examples/output/multisig_MultisigSigner.pkg b/examples/output/multisig_MultisigSigner.pkg deleted file mode 100644 index 11366cdc3..000000000 --- a/examples/output/multisig_MultisigSigner.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"MultisigSigner","code":"te6ccgECFgEABFsAART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVG9s88uCCDwQFAgFYCwwBVO2i7fsBkjB/4HAh10nCH5UwINcLH94gwAAi10nBIbCSW3/gwACRMOMNcAYBlsj4QwHMfwHKAFWwUMsg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYZ9AAXgQEBzwAVgQEBzwATygDIRhcQNRjbPMkBzMntVAoB/vkBgvAirubQptwUZXcnfdWNBq4wkKPN09iohWEYQgiuX26wObqO14ESkyT4I7zy9IIAn2oos/L0+EIrgQELIoEBAUEz9ApvoZQB1wAwkltt4iBu8tCAHIEBC1ANbYEBASFulVtZ9FkwmMgBzwBBM/RB4lCroFMIvuMACX/bMeAHAlQ3f3CBAIJwVHmHVHmHVhLIVWCCEIPqVZlQCMsfB9s8yS9VIERAbW3bPAcKCAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAJAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAMSCEP5RmINQCMsfUAYg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQBCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlj6AssfygDLByFus5V/AcoAzJRwMsoA4gIBWA0OAgFIFBUCEbC/ts82zxsx4A8QAJWy9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSACtO1E0NQB+GPSAAGOwvpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB9ASBAQHXAIEBAdcA0gDUAdDbPDcQfBB7EHoQeRB4VQVsHOD4KNcLCoMJuvLgiRIRAA5UdlRUdlQmAnb6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfQEgQEB1wDUAdDbPDcQehB5EHhVBQrRVQjbPBITAMDTHwGCEP5RmIO68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfoA0x/SANMH0gABkdSSbQHiVWAADnAIB3AHVUEAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtVUZzR1FFNlZDeFJFbW1iN3FvUHg3NTh4YWp1N3VrVllnTFN3TWZUVDVBY0qCA=","abi":"{\"name\":\"MultisigSigner\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Request\",\"header\":4266760323,\"fields\":[{\"name\":\"requested\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"timeout\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":32}},{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":8}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Signed\",\"header\":2213172633,\"fields\":[{\"name\":\"request\",\"type\":{\"kind\":\"simple\",\"type\":\"Request\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"YES\"}}],\"getters\":[{\"name\":\"request\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"Request\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"4429\":{\"message\":\"Invalid sender\"},\"4755\":{\"message\":\"Timeout\"},\"40810\":{\"message\":\"Completed\"},\"46307\":{\"message\":\"Not a member\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"members","type":{"kind":"dict","key":"address","value":"int"}},{"name":"requiredWeight","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"request","type":{"kind":"simple","type":"Request","optional":false}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECGAEABGUAAQHAAQEFoSdzAgEU/wD0pBP0vPLICwMCAWIMBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVVGc0dRRTZWQ3hSRW1tYjdxb1B4NzU4eGFqdTd1a1ZZZ0xTd01mVFQ1QWNKggABGwr7tRNDSAAGACAVgKCQCVsvRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgAhGwv7bPNs8bMeAUCwAOVHZUVHZUJgN60AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRvbPPLgghQODQGWyPhDAcx/AcoAVbBQyyDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFhn0ABeBAQHPABWBAQHPABPKAMhGFxA1GNs8yQHMye1UEwFU7aLt+wGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+DAAJEw4w1wDwH++QGC8CKu5tCm3BRldyd91Y0GrjCQo83T2KiFYRhCCK5fbrA5uo7XgRKTJPgjvPL0ggCfaiiz8vT4QiuBAQsigQEBQTP0Cm+hlAHXADCSW23iIG7y0IAcgQELUA1tgQEBIW6VW1n0WTCYyAHPAEEz9EHiUKugUwi+4wAJf9sx4BACVDd/cIEAgnBUeYdUeYdWEshVYIIQg+pVmVAIyx8H2zzJL1UgREBtbds8BxMRAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABIAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAxIIQ/lGYg1AIyx9QBiDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAEINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WWPoCyx/KAMsHIW6zlX8BygDMlHAyygDiArTtRNDUAfhj0gABjsL6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfQEgQEB1wCBAQHXANIA1AHQ2zw3EHwQexB6EHkQeFUFbBzg+CjXCwqDCbry4IkXFQJ2+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH0BIEBAdcA1AHQ2zw3EHoQeRB4VQUK0VUI2zwXFgAOcAgHcAdVQQDA0x8BghD+UZiDuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6ANMf0gDTB9IAAZHUkm0B4lVgPp587w=="}},"sources":{"examples\\multisig.tact":"bWVzc2FnZSBSZXF1ZXN0IHsNCiAgICByZXF1ZXN0ZWQ6IEFkZHJlc3M7DQogICAgdG86IEFkZHJlc3M7DQogICAgdmFsdWU6IEludCBhcyBjb2luczsNCiAgICB0aW1lb3V0OiBJbnQgYXMgdWludDMyOw0KICAgIGJvdW5jZTogQm9vbDsNCiAgICBtb2RlOiBJbnQgYXMgdWludDg7DQogICAgYm9keTogQ2VsbD87DQp9DQoNCm1lc3NhZ2UgU2lnbmVkIHsNCiAgICByZXF1ZXN0OiBSZXF1ZXN0Ow0KfQ0KDQpjb250cmFjdCBNdWx0aXNpZ1NpZ25lciB7DQoNCiAgICBtYXN0ZXI6IEFkZHJlc3M7DQoNCiAgICAvLyBWb3Rpbmcgc3RhdGUNCiAgICBtZW1iZXJzOiBtYXA8QWRkcmVzcywgSW50PjsNCiAgICB3ZWlnaHQ6IEludCA9IDA7DQogICAgcmVxdWlyZWRXZWlnaHQ6IEludDsNCiAgICBjb21wbGV0ZWQ6IEJvb2w7DQogICAgDQogICAgLy8gUmVxdWVzdA0KICAgIHJlcXVlc3Q6IFJlcXVlc3Q7DQoNCiAgICBpbml0KG1hc3RlcjogQWRkcmVzcywgbWVtYmVyczogbWFwPEFkZHJlc3MsIEludD4sIHJlcXVpcmVkV2VpZ2h0OiBJbnQsIHJlcXVlc3Q6IFJlcXVlc3QpIHsNCiAgICAgICAgc2VsZi5tYXN0ZXIgPSBtYXN0ZXI7DQogICAgICAgIHNlbGYubWVtYmVycyA9IG1lbWJlcnM7DQogICAgICAgIHNlbGYucmVxdWlyZWRXZWlnaHQgPSByZXF1aXJlZFdlaWdodDsNCiAgICAgICAgc2VsZi5jb21wbGV0ZWQgPSBmYWxzZTsNCiAgICAgICAgc2VsZi5yZXF1ZXN0ID0gcmVxdWVzdDsNCiAgICB9DQoNCiAgICByZWNlaXZlKCkgew0KICAgICAgICAvLyBEbyBub3RoaW5nDQogICAgfQ0KDQogICAgcmVjZWl2ZSgiWUVTIikgew0KDQogICAgICAgIC8vIENoZWNrcw0KICAgICAgICByZXF1aXJlKHNlbGYucmVxdWVzdC50aW1lb3V0ID4gbm93KCksICJUaW1lb3V0Iik7DQogICAgICAgIHJlcXVpcmUoIXNlbGYuY29tcGxldGVkLCAiQ29tcGxldGVkIik7DQoNCiAgICAgICAgLy8gTG9hZCB3ZWl0Z2h0DQogICAgICAgIGxldCBzZW5kZXI6IEFkZHJlc3MgPSBzZW5kZXIoKTsNCiAgICAgICAgbGV0IHdlaWdodDogSW50ID0gc2VsZi5tZW1iZXJzLmdldChzZW5kZXIpISE7DQogICAgICAgIHNlbGYubWVtYmVycy5zZXQoc2VuZGVyLCBudWxsKTsNCg0KICAgICAgICAvLyBVcGRhdGUgd2VpZ2h0DQogICAgICAgIHNlbGYud2VpZ2h0ID0gc2VsZi53ZWlnaHQgKyB3ZWlnaHQ7DQogICAgICAgIGlmIChzZWxmLndlaWdodCA+PSBzZWxmLnJlcXVpcmVkV2VpZ2h0KSB7DQogICAgICAgICAgICBzZWxmLmNvbXBsZXRlZCA9IHRydWU7DQogICAgICAgICAgICBzZW5kKFNlbmRQYXJhbWV0ZXJzew0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLCANCiAgICAgICAgICAgICAgICB0bzogc2VsZi5tYXN0ZXIsIA0KICAgICAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdCYWxhbmNlICsgU2VuZElnbm9yZUVycm9ycywgDQogICAgICAgICAgICAgICAgYm91bmNlOiBmYWxzZSwgDQogICAgICAgICAgICAgICAgYm9keTogU2lnbmVkeyByZXF1ZXN0OiBzZWxmLnJlcXVlc3QgfS50b0NlbGwoKQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBnZXQgZnVuIHJlcXVlc3QoKTogUmVxdWVzdCB7DQogICAgICAgIHJldHVybiBzZWxmLnJlcXVlc3Q7DQogICAgfQ0KfQ0KDQpjb250cmFjdCBNdWx0aXNpZyB7DQogICAgc2Vxbm86IEludDsNCiAgICBtZW1iZXJzOiBtYXA8QWRkcmVzcywgSW50PjsNCiAgICB0b3RhbFdlaWdodDogSW50Ow0KICAgIHJlcXVpcmVkV2VpZ2h0OiBJbnQ7DQoNCiAgICBpbml0KG1lbWJlcnM6IG1hcDxBZGRyZXNzLCBJbnQ+LCB0b3RhbFdlaWdodDogSW50LCByZXF1aXJlZFdlaWdodDogSW50KSB7DQogICAgICAgIHNlbGYubWVtYmVycyA9IG1lbWJlcnM7DQogICAgICAgIHNlbGYucmVxdWlyZWRXZWlnaHQgPSByZXF1aXJlZFdlaWdodDsNCiAgICAgICAgc2VsZi50b3RhbFdlaWdodCA9IHRvdGFsV2VpZ2h0Ow0KICAgICAgICBzZWxmLnRvdGFsV2VpZ2h0ID0gMDsNCiAgICAgICAgc2VsZi5zZXFubyA9IDA7DQogICAgfQ0KDQogICAgLy8gUmVxdWVzdCBuZXcgcGVuZGluZyB0cmFuc2FjdGlvbg0KICAgIHJlY2VpdmUobXNnOiBSZXF1ZXN0KSB7DQoNCiAgICAgICAgLy8gQ2hlY2sgc2VuZGVyDQogICAgICAgIGxldCBzZW5kZXI6IEFkZHJlc3MgPSBzZW5kZXIoKTsNCiAgICAgICAgbGV0IHdlaWdodDogSW50ID0gc2VsZi5tZW1iZXJzLmdldChzZW5kZXIpISE7DQogICAgICAgIHJlcXVpcmUod2VpZ2h0ID4gMCwgIk5vdCBhIG1lbWJlciIpOw0KDQogICAgICAgIC8vIENyZWF0ZSBtZXNzYWdlDQogICAgICAgIGxldCBvcEluaXQ6IFN0YXRlSW5pdCA9IGluaXRPZiBNdWx0aXNpZ1NpZ25lcihteUFkZHJlc3MoKSwgc2VsZi5tZW1iZXJzLCBzZWxmLnJlcXVpcmVkV2VpZ2h0LCBtc2cpOw0KICAgICAgICBsZXQgb3BBZGRyZXNzOiBBZGRyZXNzID0gY29udHJhY3RBZGRyZXNzKG9wSW5pdCk7DQogICAgICAgIHNlbmQoU2VuZFBhcmFtZXRlcnN7DQogICAgICAgICAgICB2YWx1ZTogMCwgDQogICAgICAgICAgICB0bzogb3BBZGRyZXNzLCANCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSArIFNlbmRJZ25vcmVFcnJvcnMsIA0KICAgICAgICAgICAgYm91bmNlOiB0cnVlLA0KICAgICAgICAgICAgY29kZTogb3BJbml0LmNvZGUsDQogICAgICAgICAgICBkYXRhOiBvcEluaXQuZGF0YQ0KICAgICAgICB9KTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2lnbmVkKSB7DQoNCiAgICAgICAgLy8gQ2hlY2sgcGFyYW1ldGVycw0KICAgICAgICAvLyBOT1RFOiB0aGlzIHdpbGwgY2hlY2sgbWVtYmVycywgcmVxdWlyZWQgd2VpZ2h0LCBtYXN0ZXIgYWRkcmVzcw0KICAgICAgICBsZXQgc2VuZGVyOiBBZGRyZXNzID0gc2VuZGVyKCk7DQogICAgICAgIGxldCBvcEluaXQ6IFN0YXRlSW5pdCA9IGluaXRPZiBNdWx0aXNpZ1NpZ25lcihteUFkZHJlc3MoKSwgc2VsZi5tZW1iZXJzLCBzZWxmLnJlcXVpcmVkV2VpZ2h0LCBtc2cucmVxdWVzdCk7DQogICAgICAgIGxldCBvcEFkZHJlc3M6IEFkZHJlc3MgPSBjb250cmFjdEFkZHJlc3Mob3BJbml0KTsNCiAgICAgICAgcmVxdWlyZShvcEFkZHJlc3MgPT0gc2VuZGVyLCAiSW52YWxpZCBzZW5kZXIiKTsNCiAgICAgICAgcmVxdWlyZShtc2cucmVxdWVzdC50aW1lb3V0ID4gbm93KCksICJUaW1lb3V0Iik7DQoNCiAgICAgICAgLy8gU2VuZCBvcGVyYXRpb24NCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgIHRvOiBtc2cucmVxdWVzdC50bywgDQogICAgICAgICAgICB2YWx1ZTogbXNnLnJlcXVlc3QudmFsdWUsIA0KICAgICAgICAgICAgbW9kZTogbXNnLnJlcXVlc3QubW9kZSwgDQogICAgICAgICAgICBib3VuY2U6IG1zZy5yZXF1ZXN0LmJvdW5jZSwgDQogICAgICAgICAgICBib2R5OiBtc2cucmVxdWVzdC5ib2R5DQogICAgICAgIH0pOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbWVtYmVyKGFkZHJlc3M6IEFkZHJlc3MpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYubWVtYmVycy5nZXQoYWRkcmVzcyk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBtZW1iZXJzKCk6IG1hcDxBZGRyZXNzLCBJbnQ+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYubWVtYmVyczsNCiAgICB9DQp9"},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/multisig.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/multisig_MultisigSigner.stdlib.fc b/examples/output/multisig_MultisigSigner.stdlib.fc deleted file mode 100644 index f0d719ce7..000000000 --- a/examples/output/multisig_MultisigSigner.stdlib.fc +++ /dev/null @@ -1,98 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(cell, int) __tact_dict_delete(cell dict, int key_len, slice index) asm(index dict key_len) "DICTDEL"; - -(slice, int) __tact_dict_get(cell dict, int key_len, slice index) asm(index dict key_len) "DICTGET" "NULLSWAPIFNOT"; - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -(cell, ()) __tact_dict_set_slice_int(cell d, int kl, slice k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = __tact_dict_delete(d, kl, k); - return (r, ()); - } else { - return (dict_set_builder(d, kl, k, begin_cell().store_int(v, vl)), ()); - } -} - -int __tact_dict_get_slice_int(cell d, int kl, slice k, int vl) inline { - var (r, ok) = __tact_dict_get(d, kl, k); - if (ok) { - return r~load_int(vl); - } else { - return null(); - } -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} \ No newline at end of file diff --git a/examples/output/multisig_MultisigSigner.storage.fc b/examples/output/multisig_MultisigSigner.storage.fc deleted file mode 100644 index bfed11ae2..000000000 --- a/examples/output/multisig_MultisigSigner.storage.fc +++ /dev/null @@ -1,125 +0,0 @@ -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_bounce_body(int value, slice to, int mode, int bounce, cell body) inline { - return (bounce, to, value, mode, body, null(), null()); -} - -;; -;; Type: Request -;; Header: 0xfe519883 -;; TLB: request#fe519883 requested:address to:address value:coins timeout:uint32 bounce:bool mode:uint8 body:Maybe ^cell = Request -;; - -builder $Request$_store(builder build_0, (slice, slice, int, int, int, int, cell) v) inline_ref { - var (v'requested, v'to, v'value, v'timeout, v'bounce, v'mode, v'body) = v; - build_0 = store_uint(build_0, 4266760323, 32); - build_0 = __tact_store_address(build_0, v'requested); - build_0 = __tact_store_address(build_0, v'to); - build_0 = build_0.store_coins(v'value); - build_0 = build_0.store_uint(v'timeout, 32); - build_0 = build_0.store_int(v'bounce, 1); - build_0 = build_0.store_uint(v'mode, 8); - build_0 = ~ null?(v'body) ? build_0.store_int(true, 1).store_ref(v'body) : build_0.store_int(false, 1); - return build_0; -} - -(slice, ((slice, slice, int, int, int, int, cell))) $Request$_load(slice sc_0) inline_ref { - throw_unless(129, sc_0~load_uint(32) == 4266760323); - var v'requested = sc_0~__tact_load_address(); - var v'to = sc_0~__tact_load_address(); - var v'value = sc_0~load_coins(); - var v'timeout = sc_0~load_uint(32); - var v'bounce = sc_0~load_int(1); - var v'mode = sc_0~load_uint(8); - var v'body = sc_0~load_int(1) ? sc_0~load_ref() : null(); - return (sc_0, (v'requested, v'to, v'value, v'timeout, v'bounce, v'mode, v'body)); -} - -(slice, slice, int, int, int, int, cell) $Request$_to_external(((slice, slice, int, int, int, int, cell)) v) inline { - var (v'requested, v'to, v'value, v'timeout, v'bounce, v'mode, v'body) = v; - return (v'requested, v'to, v'value, v'timeout, v'bounce, v'mode, v'body); -} - -;; -;; Type: Signed -;; Header: 0x83ea5599 -;; TLB: signed#83ea5599 request:Request{requested:address,to:address,value:coins,timeout:uint32,bounce:bool,mode:uint8,body:Maybe ^cell} = Signed -;; - -builder $Signed$_store(builder build_0, ((slice, slice, int, int, int, int, cell)) v) inline { - var ((v'request'requested, v'request'to, v'request'value, v'request'timeout, v'request'bounce, v'request'mode, v'request'body)) = v; - build_0 = store_uint(build_0, 2213172633, 32); - build_0 = $Request$_store(build_0, (v'request'requested, v'request'to, v'request'value, v'request'timeout, v'request'bounce, v'request'mode, v'request'body)); - return build_0; -} - -cell $Signed$_store_cell(((slice, slice, int, int, int, int, cell)) v) inline { - return $Signed$_store(begin_cell(), v).end_cell(); -} - -(((slice, slice, int, int, int, int, cell))) $Signed$_constructor_request((slice, slice, int, int, int, int, cell) request) inline { - return (request); -} - -;; -;; Type: MultisigSigner -;; - -builder $MultisigSigner$_store(builder build_0, (slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) v) inline { - var (v'master, v'members, v'weight, v'requiredWeight, v'completed, (v'request'requested, v'request'to, v'request'value, v'request'timeout, v'request'bounce, v'request'mode, v'request'body)) = v; - build_0 = __tact_store_address(build_0, v'master); - build_0 = build_0.store_dict(v'members); - build_0 = build_0.store_int(v'weight, 257); - build_0 = build_0.store_int(v'requiredWeight, 257); - build_0 = build_0.store_int(v'completed, 1); - var build_1 = begin_cell(); - build_1 = $Request$_store(build_1, (v'request'requested, v'request'to, v'request'value, v'request'timeout, v'request'bounce, v'request'mode, v'request'body)); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)))) $MultisigSigner$_load(slice sc_0) inline { - var v'master = sc_0~__tact_load_address(); - var v'members = sc_0~load_dict(); - var v'weight = sc_0~load_int(257); - var v'requiredWeight = sc_0~load_int(257); - var v'completed = sc_0~load_int(1); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'request = sc_1~$Request$_load(); - return (sc_0, (v'master, v'members, v'weight, v'requiredWeight, v'completed, v'request)); -} - -(slice, ((slice, cell, int, (slice, slice, int, int, int, int, cell)))) $MultisigSigner$init$_load(slice sc_0) inline { - var v'master = sc_0~__tact_load_address(); - var v'members = sc_0~load_dict(); - var v'requiredWeight = sc_0~load_int(257); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'request = sc_1~$Request$_load(); - return (sc_0, (v'master, v'members, v'requiredWeight, v'request)); -} - -(slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) $MultisigSigner$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$MultisigSigner$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (slice master, cell members, int requiredWeight, (slice, slice, int, int, int, int, cell) request) = $sc~$MultisigSigner$init$_load(); - $sc.end_parse(); - return $MultisigSigner$_contract_init(master, members, requiredWeight, request); - } -} - -() $MultisigSigner$_contract_store((slice, cell, int, int, int, (slice, slice, int, int, int, int, cell)) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $MultisigSigner$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/multisig_MultisigSigner.ts b/examples/output/multisig_MultisigSigner.ts deleted file mode 100644 index 282471bd0..000000000 --- a/examples/output/multisig_MultisigSigner.ts +++ /dev/null @@ -1,438 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Request = { - $$type: 'Request'; - requested: Address; - to: Address; - value: bigint; - timeout: bigint; - bounce: boolean; - mode: bigint; - body: Cell | null; -} - -export function storeRequest(src: Request) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(4266760323, 32); - b_0.storeAddress(src.requested); - b_0.storeAddress(src.to); - b_0.storeCoins(src.value); - b_0.storeUint(src.timeout, 32); - b_0.storeBit(src.bounce); - b_0.storeUint(src.mode, 8); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - }; -} - -export function loadRequest(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 4266760323) { throw Error('Invalid prefix'); } - let _requested = sc_0.loadAddress(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadCoins(); - let _timeout = sc_0.loadUintBig(32); - let _bounce = sc_0.loadBit(); - let _mode = sc_0.loadUintBig(8); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'Request' as const, requested: _requested, to: _to, value: _value, timeout: _timeout, bounce: _bounce, mode: _mode, body: _body }; -} - -function loadTupleRequest(source: TupleReader) { - let _requested = source.readAddress(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _timeout = source.readBigNumber(); - let _bounce = source.readBoolean(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - return { $$type: 'Request' as const, requested: _requested, to: _to, value: _value, timeout: _timeout, bounce: _bounce, mode: _mode, body: _body }; -} - -function storeTupleRequest(source: Request) { - let builder = new TupleBuilder(); - builder.writeAddress(source.requested); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.timeout); - builder.writeBoolean(source.bounce); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - return builder.build(); -} - -function dictValueParserRequest(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeRequest(src)).endCell()); - }, - parse: (src) => { - return loadRequest(src.loadRef().beginParse()); - } - } -} - -export type Signed = { - $$type: 'Signed'; - request: Request; -} - -export function storeSigned(src: Signed) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2213172633, 32); - b_0.store(storeRequest(src.request)); - }; -} - -export function loadSigned(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2213172633) { throw Error('Invalid prefix'); } - let _request = loadRequest(sc_0); - return { $$type: 'Signed' as const, request: _request }; -} - -function loadTupleSigned(source: TupleReader) { - const _request = loadTupleRequest(source.readTuple()); - return { $$type: 'Signed' as const, request: _request }; -} - -function storeTupleSigned(source: Signed) { - let builder = new TupleBuilder(); - builder.writeTuple(storeTupleRequest(source.request)); - return builder.build(); -} - -function dictValueParserSigned(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSigned(src)).endCell()); - }, - parse: (src) => { - return loadSigned(src.loadRef().beginParse()); - } - } -} - - type MultisigSigner_init_args = { - $$type: 'MultisigSigner_init_args'; - master: Address; - members: Dictionary; - requiredWeight: bigint; - request: Request; -} - -function initMultisigSigner_init_args(src: MultisigSigner_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeAddress(src.master); - b_0.storeDict(src.members, Dictionary.Keys.Address(), Dictionary.Values.BigInt(257)); - b_0.storeInt(src.requiredWeight, 257); - let b_1 = new Builder(); - b_1.store(storeRequest(src.request)); - b_0.storeRef(b_1.endCell()); - }; -} - -async function MultisigSigner_init(master: Address, members: Dictionary, requiredWeight: bigint, request: Request) { - const __code = Cell.fromBase64('te6ccgECFgEABFsAART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVG9s88uCCDwQFAgFYCwwBVO2i7fsBkjB/4HAh10nCH5UwINcLH94gwAAi10nBIbCSW3/gwACRMOMNcAYBlsj4QwHMfwHKAFWwUMsg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYZ9AAXgQEBzwAVgQEBzwATygDIRhcQNRjbPMkBzMntVAoB/vkBgvAirubQptwUZXcnfdWNBq4wkKPN09iohWEYQgiuX26wObqO14ESkyT4I7zy9IIAn2oos/L0+EIrgQELIoEBAUEz9ApvoZQB1wAwkltt4iBu8tCAHIEBC1ANbYEBASFulVtZ9FkwmMgBzwBBM/RB4lCroFMIvuMACX/bMeAHAlQ3f3CBAIJwVHmHVHmHVhLIVWCCEIPqVZlQCMsfB9s8yS9VIERAbW3bPAcKCAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAJAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAMSCEP5RmINQCMsfUAYg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQBCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlj6AssfygDLByFus5V/AcoAzJRwMsoA4gIBWA0OAgFIFBUCEbC/ts82zxsx4A8QAJWy9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSACtO1E0NQB+GPSAAGOwvpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB9ASBAQHXAIEBAdcA0gDUAdDbPDcQfBB7EHoQeRB4VQVsHOD4KNcLCoMJuvLgiRIRAA5UdlRUdlQmAnb6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfQEgQEB1wDUAdDbPDcQehB5EHhVBQrRVQjbPBITAMDTHwGCEP5RmIO68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfoA0x/SANMH0gABkdSSbQHiVWAADnAIB3AHVUEAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtVUZzR1FFNlZDeFJFbW1iN3FvUHg3NTh4YWp1N3VrVllnTFN3TWZUVDVBY0qCA='); - const __system = Cell.fromBase64('te6cckECGAEABGUAAQHAAQEFoSdzAgEU/wD0pBP0vPLICwMCAWIMBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVVGc0dRRTZWQ3hSRW1tYjdxb1B4NzU4eGFqdTd1a1ZZZ0xTd01mVFQ1QWNKggABGwr7tRNDSAAGACAVgKCQCVsvRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgAhGwv7bPNs8bMeAUCwAOVHZUVHZUJgN60AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRvbPPLgghQODQGWyPhDAcx/AcoAVbBQyyDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFhn0ABeBAQHPABWBAQHPABPKAMhGFxA1GNs8yQHMye1UEwFU7aLt+wGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+DAAJEw4w1wDwH++QGC8CKu5tCm3BRldyd91Y0GrjCQo83T2KiFYRhCCK5fbrA5uo7XgRKTJPgjvPL0ggCfaiiz8vT4QiuBAQsigQEBQTP0Cm+hlAHXADCSW23iIG7y0IAcgQELUA1tgQEBIW6VW1n0WTCYyAHPAEEz9EHiUKugUwi+4wAJf9sx4BACVDd/cIEAgnBUeYdUeYdWEshVYIIQg+pVmVAIyx8H2zzJL1UgREBtbds8BxMRAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABIAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAxIIQ/lGYg1AIyx9QBiDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAEINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WWPoCyx/KAMsHIW6zlX8BygDMlHAyygDiArTtRNDUAfhj0gABjsL6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfQEgQEB1wCBAQHXANIA1AHQ2zw3EHwQexB6EHkQeFUFbBzg+CjXCwqDCbry4IkXFQJ2+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH0BIEBAdcA1AHQ2zw3EHoQeRB4VQUK0VUI2zwXFgAOcAgHcAdVQQDA0x8BghD+UZiDuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6ANMf0gDTB9IAAZHUkm0B4lVgPp587w=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initMultisigSigner_init_args({ $$type: 'MultisigSigner_init_args', master, members, requiredWeight, request })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const MultisigSigner_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 4429: { message: `Invalid sender` }, - 4755: { message: `Timeout` }, - 40810: { message: `Completed` }, - 46307: { message: `Not a member` }, -} - -const MultisigSigner_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Request","header":4266760323,"fields":[{"name":"requested","type":{"kind":"simple","type":"address","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"timeout","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"mode","type":{"kind":"simple","type":"uint","optional":false,"format":8}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Signed","header":2213172633,"fields":[{"name":"request","type":{"kind":"simple","type":"Request","optional":false}}]}, -] - -const MultisigSigner_getters: ABIGetter[] = [ - {"name":"request","arguments":[],"returnType":{"kind":"simple","type":"Request","optional":false}}, -] - -const MultisigSigner_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, - {"receiver":"internal","message":{"kind":"text","text":"YES"}}, -] - -export class MultisigSigner implements Contract { - - static async init(master: Address, members: Dictionary, requiredWeight: bigint, request: Request) { - return await MultisigSigner_init(master, members, requiredWeight, request); - } - - static async fromInit(master: Address, members: Dictionary, requiredWeight: bigint, request: Request) { - const init = await MultisigSigner_init(master, members, requiredWeight, request); - const address = contractAddress(0, init); - return new MultisigSigner(address, init); - } - - static fromAddress(address: Address) { - return new MultisigSigner(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: MultisigSigner_types, - getters: MultisigSigner_getters, - receivers: MultisigSigner_receivers, - errors: MultisigSigner_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null | 'YES') { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (message === 'YES') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getRequest(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('request', builder.build())).stack; - const result = loadTupleRequest(source); - return result; - } - -} \ No newline at end of file diff --git a/examples/output/native_Native.abi b/examples/output/native_Native.abi deleted file mode 100644 index 11c5b4a36..000000000 --- a/examples/output/native_Native.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Native","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Increment"}}],"getters":[],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/examples/output/native_Native.code.boc b/examples/output/native_Native.code.boc deleted file mode 100644 index 6400a37ca..000000000 Binary files a/examples/output/native_Native.code.boc and /dev/null differ diff --git a/examples/output/native_Native.code.boc.html b/examples/output/native_Native.code.boc.html deleted file mode 100644 index ad53a7d6a..000000000 --- a/examples/output/native_Native.code.boc.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_7;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_36266a5855831da9;
-            ..DECLPROC ?fun_ref_644ef5250652bdfa;
-            ..DECLPROC ?fun_ref_9a47e80d7df15dcf;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_36266a5855831da9 INLINECALLDICT
-            ....ROTREV
-            ....?fun_ref_9a47e80d7df15dcf INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....s0 s1 XCHG
-            ....s0 s1 XCHG
-            ....257 PUSHINT
-            ....STIX
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..?fun_7 PROC:<{
-            ....1000 PUSHINT
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D5473444D6D586362354A45416269377575464573674C634A506F47696435383873466652426D3447394D757682_} PUSHSLICE
-            ..}>
-            x6..?fun_ref_36266a5855831da9 PROCREF:<{
-            26x6....c4 PUSH
-            118x6....CTOS
-            18x6....LDREF
-            18x6....s0 s1 XCHG
-            30x6....3 SETGLOBVAR
-            26x6....1 LDI
-            18x6....s0 s1 XCHG
-            18x6....<{
-            34x3......257 PUSHINT
-            26x3......LDIX
-            18x3......s0 s1 XCHG
-            18x3......s1 POP
-            18x6....}> PUSHCONT
-            18x6....IFJMP
-            18x3....s0 POP
-            26x3....MYADDR
-            34x3....11 PLDU
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....137 THROWIFNOT
-            126x3....?fun_ref_644ef5250652bdfa INLINECALLDICT
-            x6..}>
-            x3..?fun_ref_644ef5250652bdfa PROCREF:<{
-            18x3....0 PUSHINT
-            x3..}>
-            ..?fun_ref_9a47e80d7df15dcf PROCREF:<{
-            ....2 SAVE
-            ....SAMEALTSAVE
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....0 EQINT
-            ....<{
-            ......HASHSU
-            ......93093333132076440750103890131866374745660412111105226855661378207494015626164 PUSHINT
-            ......EQUAL
-            ......<{
-            ........7 CALL
-            ........ADD
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ....}> PUSHCONT
-            ....<{
-            ......s0 POP
-            ....}> PUSHCONT
-            ....IFELSE
-            ....0 PUSHINT
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/native_Native.code.fc b/examples/output/native_Native.code.fc deleted file mode 100644 index a0d420b26..000000000 --- a/examples/output/native_Native.code.fc +++ /dev/null @@ -1,103 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "native_Native.headers.fc"; -#include "native_Native.stdlib.fc"; -#include "native_Native.native.fc"; -#include "native_Native.storage.fc"; - -;; -;; Contract Native functions -;; - -(int) $Native$_contract_init() impure inline_ref { - var (($self'value)) = (null()); - $self'value = 0; - return ($self'value); -} - -;; -;; Receivers of a Contract Native -;; - -((int), ()) $Native$_internal_text_cdd0f5966a37922238a6954ee918a162cc590409ef65f094cee81e9d0bc52bb4((int) $self) impure inline { - var ($self'value) = $self; - $self'value = ($self'value + hello_world()); - return (($self'value), ()); -} - -;; -;; Get methods of a Contract Native -;; - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmTsDMmXcb5JEAbi7uuFEsgLcJPoGid588sFfRBm4G9Muv"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Native -;; - -((int), int) $Native$_contract_router_internal((int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Increment" message - if (text_op == 0xcdd0f5966a37922238a6954ee918a162cc590409ef65f094cee81e9d0bc52bb4) { - self~$Native$_internal_text_cdd0f5966a37922238a6954ee918a162cc590409ef65f094cee81e9d0bc52bb4(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Native$_contract_load(); - - ;; Handle operation - int handled = self~$Native$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Native$_contract_store(self); -} diff --git a/examples/output/native_Native.code.fif b/examples/output/native_Native.code.fif deleted file mode 100644 index 20d1d602f..000000000 --- a/examples/output/native_Native.code.fif +++ /dev/null @@ -1,159 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Native$_store - DECLPROC $Native$_load - DECLPROC $Native$_contract_init - DECLPROC $Native$_contract_load - DECLPROC $Native$_contract_store - DECLPROC hello_world - DECLPROC $Native$_internal_text_cdd0f5966a37922238a6954ee918a162cc590409ef65f094cee81e9d0bc52bb4 - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Native$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $Native$_store PROCINLINE:<{ - SWAP - 257 PUSHINT - STIX - }> - $Native$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - SWAP - }> - $Native$_contract_init PROCREF:<{ - 0 PUSHINT - }> - $Native$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Native$_load INLINECALLDICT - NIP - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Native$_contract_init INLINECALLDICT - }> - $Native$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - SWAP - $Native$_store INLINECALLDICT - ENDC - c4 POP - }> - hello_world PROC:<{ - 1000 PUSHINT - }> - $Native$_internal_text_cdd0f5966a37922238a6954ee918a162cc590409ef65f094cee81e9d0bc52bb4 PROCINLINE:<{ - hello_world CALLDICT - ADD - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d5473444d6d586362354a45416269377575464573674c634a506f47696435383873466652426d3447394d7576} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Native$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 0 EQINT - IF:<{ - HASHSU - 93093333132076440750103890131866374745660412111105226855661378207494015626164 PUSHINT - EQUAL - IFJMP:<{ - $Native$_internal_text_cdd0f5966a37922238a6954ee918a162cc590409ef65f094cee81e9d0bc52bb4 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Native$_contract_load INLINECALLDICT - -ROT - $Native$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Native$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/native_Native.code.rev.fif b/examples/output/native_Native.code.rev.fif deleted file mode 100644 index ca2232fec..000000000 --- a/examples/output/native_Native.code.rev.fif +++ /dev/null @@ -1,141 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_7; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_36266a5855831da9; - DECLPROC ?fun_ref_644ef5250652bdfa; - DECLPROC ?fun_ref_9a47e80d7df15dcf; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_36266a5855831da9 INLINECALLDICT - ROTREV - ?fun_ref_9a47e80d7df15dcf INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 s1 XCHG - 257 PUSHINT - STIX - ENDC - c4 POP - }> - ?fun_7 PROC:<{ - 1000 PUSHINT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D5473444D6D586362354A45416269377575464573674C634A506F47696435383873466652426D3447394D757682_} PUSHSLICE - }> - ?fun_ref_36266a5855831da9 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - }> PUSHCONT - IFJMP - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_644ef5250652bdfa INLINECALLDICT - }> - ?fun_ref_644ef5250652bdfa PROCREF:<{ - 0 PUSHINT - }> - ?fun_ref_9a47e80d7df15dcf PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 0 EQINT - <{ - HASHSU - 93093333132076440750103890131866374745660412111105226855661378207494015626164 PUSHINT - EQUAL - <{ - 7 CALL - ADD - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - 0 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/examples/output/native_Native.headers.fc b/examples/output/native_Native.headers.fc deleted file mode 100644 index 223bdec7f..000000000 --- a/examples/output/native_Native.headers.fc +++ /dev/null @@ -1,22 +0,0 @@ -;; -;; Header files for Native -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Native$_store -builder $Native$_store(builder build_0, (int) v) inline; - -;; $Native$_load -(slice, ((int))) $Native$_load(slice sc_0) inline; - -;; $Native$_contract_init -(int) $Native$_contract_init() impure inline_ref; - -;; $Native$_contract_load -(int) $Native$_contract_load() impure inline_ref; - -;; $Native$_contract_store -() $Native$_contract_store((int) v) impure inline; diff --git a/examples/output/native_Native.md b/examples/output/native_Native.md deleted file mode 100644 index 1435dfdd0..000000000 --- a/examples/output/native_Native.md +++ /dev/null @@ -1,47 +0,0 @@ -# TACT Compilation Report -Contract: Native -BOC Size: 399 bytes - -# Types -Total Types: 3 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -# Get Methods -Total Get Methods: 0 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/examples/output/native_Native.native.fc b/examples/output/native_Native.native.fc deleted file mode 100644 index 72b5333dc..000000000 --- a/examples/output/native_Native.native.fc +++ /dev/null @@ -1,3 +0,0 @@ -int hello_world() { - return 1000; -} \ No newline at end of file diff --git a/examples/output/native_Native.pkg b/examples/output/native_Native.pkg deleted file mode 100644 index 578f08db7..000000000 --- a/examples/output/native_Native.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Native","code":"te6ccgECDQEAAYMAART/APSkE/S88sgLAQIBYgIDAgLNBAUCAVgJCgKd0A6GmBgLjYUYD9IACQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEKigpgbeCfDCBfDFtniztnnlwQWR8IYDmP4DlAACAwICA54Bk9qpAYHAAf0CB9EAULtRNDUAfhj0gABl4EBAdcAATHgMPgo1wsKgwm68uCJ2zwIAJbtou37AZIwf+BwIddJwh+VMCDXCx/ewACOLfkBgvDN0PWWajeSIjimlU7pGKFizFkECe9l8JTO6B6dC8UrtLqW8Aegf9sx4JEw4nAAAnAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAIBSAsMABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVRzRE1tWGNiNUpFQWJpN3V1RkVzZ0xjSlBvR2lkNTg4c0ZmUkJtNEc5TXV2gg","abi":"{\"name\":\"Native\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Increment\"}}],\"getters\":[],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECDwEAAY0AAQHAAQEFoJV5AgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVRzRE1tWGNiNUpFQWJpN3V1RkVzZ0xjSlBvR2lkNTg4c0ZmUkJtNEc5TXV2ggABGwr7tRNDSAAGAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAICzQsKAAf0CB9EAp3QDoaYGAuNhRgP0gAJBrpMCAhd15cEQQa4WFEECCf915aETBhN15cEQqKCmBt4J8MIF8MW2eLO2eeXBBZHwhgOY/gOUAAIDAgIDngGT2qkDQwAlu2i7fsBkjB/4HAh10nCH5UwINcLH97AAI4t+QGC8M3Q9ZZqN5IiOKaVTukYoWLMWQQJ72XwlM7oHp0LxSu0upbwB6B/2zHgkTDicAFC7UTQ1AH4Y9IAAZeBAQHXAAEx4DD4KNcLCoMJuvLgids8DgACcP1d2EA="}},"sources":{"examples\\native.fc":"aW50IGhlbGxvX3dvcmxkKCkgew0KICAgIHJldHVybiAxMDAwOw0KfQ==","examples\\native.tact":"aW1wb3J0ICIuL25hdGl2ZS5mYyI7DQoNCkBuYW1lKGhlbGxvX3dvcmxkKQ0KbmF0aXZlIGhlbGxvV29ybGQoKTogSW50Ow0KDQpjb250cmFjdCBOYXRpdmUgew0KICAgIA0KICAgIHZhbHVlOiBJbnQ7DQoNCiAgICBpbml0KCkgew0KICAgICAgICBzZWxmLnZhbHVlID0gMDsNCiAgICB9DQoNCiAgICByZWNlaXZlKCJJbmNyZW1lbnQiKSB7DQogICAgICAgIHNlbGYudmFsdWUgPSBzZWxmLnZhbHVlICsgaGVsbG9Xb3JsZCgpOw0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/native.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/native_Native.stdlib.fc b/examples/output/native_Native.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/examples/output/native_Native.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/examples/output/native_Native.storage.fc b/examples/output/native_Native.storage.fc deleted file mode 100644 index 3776af54c..000000000 --- a/examples/output/native_Native.storage.fc +++ /dev/null @@ -1,35 +0,0 @@ -;; -;; Type: Native -;; - -builder $Native$_store(builder build_0, (int) v) inline { - var (v'value) = v; - build_0 = build_0.store_int(v'value, 257); - return build_0; -} - -(slice, ((int))) $Native$_load(slice sc_0) inline { - var v'value = sc_0~load_int(257); - return (sc_0, (v'value)); -} - -(int) $Native$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$Native$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $Native$_contract_init(); - } -} - -() $Native$_contract_store((int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $Native$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/native_Native.ts b/examples/output/native_Native.ts deleted file mode 100644 index 1c22065e0..000000000 --- a/examples/output/native_Native.ts +++ /dev/null @@ -1,296 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - - type Native_init_args = { - $$type: 'Native_init_args'; -} - -function initNative_init_args(src: Native_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function Native_init() { - const __code = Cell.fromBase64('te6ccgECDQEAAYMAART/APSkE/S88sgLAQIBYgIDAgLNBAUCAVgJCgKd0A6GmBgLjYUYD9IACQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEKigpgbeCfDCBfDFtniztnnlwQWR8IYDmP4DlAACAwICA54Bk9qpAYHAAf0CB9EAULtRNDUAfhj0gABl4EBAdcAATHgMPgo1wsKgwm68uCJ2zwIAJbtou37AZIwf+BwIddJwh+VMCDXCx/ewACOLfkBgvDN0PWWajeSIjimlU7pGKFizFkECe9l8JTO6B6dC8UrtLqW8Aegf9sx4JEw4nAAAnAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAIBSAsMABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVRzRE1tWGNiNUpFQWJpN3V1RkVzZ0xjSlBvR2lkNTg4c0ZmUkJtNEc5TXV2gg'); - const __system = Cell.fromBase64('te6cckECDwEAAY0AAQHAAQEFoJV5AgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVRzRE1tWGNiNUpFQWJpN3V1RkVzZ0xjSlBvR2lkNTg4c0ZmUkJtNEc5TXV2ggABGwr7tRNDSAAGAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAICzQsKAAf0CB9EAp3QDoaYGAuNhRgP0gAJBrpMCAhd15cEQQa4WFEECCf915aETBhN15cEQqKCmBt4J8MIF8MW2eLO2eeXBBZHwhgOY/gOUAAIDAgIDngGT2qkDQwAlu2i7fsBkjB/4HAh10nCH5UwINcLH97AAI4t+QGC8M3Q9ZZqN5IiOKaVTukYoWLMWQQJ72XwlM7oHp0LxSu0upbwB6B/2zHgkTDicAFC7UTQ1AH4Y9IAAZeBAQHXAAEx4DD4KNcLCoMJuvLgids8DgACcP1d2EA='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initNative_init_args({ $$type: 'Native_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Native_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const Native_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, -] - -const Native_getters: ABIGetter[] = [ -] - -const Native_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Increment"}}, -] - -export class Native implements Contract { - - static async init() { - return await Native_init(); - } - - static async fromInit() { - const init = await Native_init(); - const address = contractAddress(0, init); - return new Native(address, init); - } - - static fromAddress(address: Address) { - return new Native(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Native_types, - getters: Native_getters, - receivers: Native_receivers, - errors: Native_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Increment') { - - let body: Cell | null = null; - if (message === 'Increment') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - -} \ No newline at end of file diff --git a/examples/output/payouts_Beacon.abi b/examples/output/payouts_Beacon.abi deleted file mode 100644 index 62350436e..000000000 --- a/examples/output/payouts_Beacon.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Beacon","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"CanPayout","header":3289991647,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"CanPayoutResponse","header":4293607646,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"address","type":{"kind":"simple","type":"address","optional":false}},{"name":"ok","type":{"kind":"simple","type":"bool","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"CanPayout"}}],"getters":[{"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"4429":{"message":"Invalid sender"},"16059":{"message":"Invalid value"},"48401":{"message":"Invalid signature"},"62972":{"message":"Invalid balance"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0","org.ton.ownable"]} \ No newline at end of file diff --git a/examples/output/payouts_Beacon.code.boc b/examples/output/payouts_Beacon.code.boc deleted file mode 100644 index bbb2aeb35..000000000 Binary files a/examples/output/payouts_Beacon.code.boc and /dev/null differ diff --git a/examples/output/payouts_Beacon.code.boc.html b/examples/output/payouts_Beacon.code.boc.html deleted file mode 100644 index 04d630587..000000000 --- a/examples/output/payouts_Beacon.code.boc.html +++ /dev/null @@ -1,542 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC owner;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_44086a5ce86162fe;
-            ..DECLPROC ?fun_ref_644ef5250652bdfa;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            ..DECLPROC ?fun_ref_ed6d0b29af79c1a8;
-            ..DECLPROC ?fun_ref_efad8398e73c11b0;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_ed6d0b29af79c1a8 INLINECALLDICT
-            ....2 3 BLKSWAP
-            ....?fun_ref_efad8398e73c11b0 INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....3 1 BLKSWAP
-            ....SWAP2
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....ROT
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....1 STI
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..owner PROC:<{
-            ....?fun_ref_ed6d0b29af79c1a8 INLINECALLDICT
-            ....?fun_ref_44086a5ce86162fe INLINECALLDICT
-            ....3 1 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ....86142586315491086060343270784266291122 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D5A4C48436E466F585A514D3141366534767A6668503973426F514372634253526E4542794E6558387275486E82_} PUSHSLICE
-            ..}>
-            x5..?fun_ref_44086a5ce86162fe PROCREF:<{
-            18x5....s1 PUSH
-            x5..}>
-            x3..?fun_ref_644ef5250652bdfa PROCREF:<{
-            18x3....0 PUSHINT
-            x3..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            ..?fun_ref_ed6d0b29af79c1a8 PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......1 LDI
-            ......3 1 BLKSWAP
-            ......1 3 BLKDROP2
-            ....}> PUSHCONT
-            ....IFJMP
-            ....MYADDR
-            ....11 PLDU
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....137 THROWIFNOT
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s1 s2 XCHG
-            ....s0 s2 XCHG
-            ....ENDS
-            ....s0 s1 XCHG
-            ....?fun_ref_644ef5250652bdfa INLINECALLDICT
-            ..}>
-            ..?fun_ref_efad8398e73c11b0 PROCREF:<{
-            ....s0 s1 XCHG
-            ....<{
-            ......32 PUSHINT
-            ......SDSKIPFIRST
-            ......DROP2
-            ......0 PUSHINT
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....3289991647 PUSHINT
-            ....EQUAL
-            ....<{
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......3289991647 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......1 GETGLOBVAR
-            ......4 UNTUPLE
-            ......s2 s3 XCHG
-            ......3 BLKDROP
-            ......s4 PUSH
-            ......4429 PUSHINT
-            ......s0 s2 XCHG
-            ......SDEQ
-            ......THROWANYIFNOT
-            ......100000000 PUSHINT
-            ......0 PUSHINT
-            ......RAWRESERVE
-            ......s1 PUSH
-            ......<{
-            ........0 PUSHINT
-            ........s1 s3 XCPU
-            ........ROT
-            ........NEWC
-            ........3 1 BLKSWAP
-            ........4293607646 PUSHINT
-            ........s0 s4 XCHG2
-            ........32 STU
-            ........s1 s2 XCHG
-            ........257 PUSHINT
-            ........STIX
-            ........s0 s1 XCHG
-            ........s0 PUSH
-            ........SBITS
-            ........267 PUSHINT
-            ........EQUAL
-            ........136 THROWIFNOT
-            ........s0 PUSH
-            ........11 PLDU
-            ........s0 PUSH
-            ........1279 PUSHINT
-            ........EQUAL
-            ........137 THROWIF
-            ........10 PUSHPOW2
-            ........EQUAL
-            ........136 THROWIFNOT
-            ........STSLICER
-            ........1 STI
-            ........ENDC
-            ........2 GETGLOBVAR
-            ........s0 s1 XCHG
-            ........-1 PUSHINT
-            ........NULL
-            ........?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            ......}> PUSHCONT
-            ......<{
-            ........s1 POP
-            ........-1 PUSHINT
-            ........-1 PUSHINT
-            ........ROT
-            ........s3 PUSH
-            ........ROT
-            ........NEWC
-            ........3 1 BLKSWAP
-            ........4293607646 PUSHINT
-            ........s0 s4 XCHG2
-            ........32 STU
-            ........s1 s2 XCHG
-            ........257 PUSHINT
-            ........STIX
-            ........s0 s1 XCHG
-            ........s0 PUSH
-            ........SBITS
-            ........267 PUSHINT
-            ........EQUAL
-            ........136 THROWIFNOT
-            ........s0 PUSH
-            ........11 PLDU
-            ........s0 PUSH
-            ........1279 PUSHINT
-            ........EQUAL
-            ........137 THROWIF
-            ........10 PUSHPOW2
-            ........EQUAL
-            ........136 THROWIFNOT
-            ........STSLICER
-            ........1 STI
-            ........ENDC
-            ........2 GETGLOBVAR
-            ........s0 s1 XCHG
-            ........-1 PUSHINT
-            ........NULL
-            ........?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            ......}> IFREFELSE
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 POP
-            ....0 PUSHINT
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/payouts_Beacon.code.fc b/examples/output/payouts_Beacon.code.fc deleted file mode 100644 index 236e75c5a..000000000 --- a/examples/output/payouts_Beacon.code.fc +++ /dev/null @@ -1,134 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "payouts_Beacon.headers.fc"; -#include "payouts_Beacon.stdlib.fc"; -#include "payouts_Beacon.storage.fc"; - -;; -;; Contract Beacon functions -;; - -(slice, slice, int) $Beacon$_contract_init(slice $master, slice $owner) impure inline_ref { - var (($self'master, $self'owner, $self'completed)) = (null(), null(), null()); - $self'master = $master; - $self'owner = $owner; - $self'completed = false; - return ($self'master, $self'owner, $self'completed); -} - -((slice, slice, int), slice) $Beacon$_fun_owner((slice, slice, int) $self) impure inline_ref { - var (($self'master, $self'owner, $self'completed)) = $self; - return (($self'master, $self'owner, $self'completed), $self'owner); -} - -;; -;; Receivers of a Contract Beacon -;; - -(((slice, slice, int)), ()) $Beacon$_internal_binary_CanPayout((slice, slice, int) $self, (int) $msg) impure inline { - var ($self'master, $self'owner, $self'completed) = $self; - var ($msg'amount) = $msg; - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - throw_unless(4429, ( __tact_slice_eq_bits($self'master, $ctx'sender) )); - raw_reserve(100000000, 0); - if ($self'completed) { - $self'completed = true; - ($self'master, $self'owner, $self'completed)~$Beacon$_fun_reply($CanPayoutResponse$_store_cell($CanPayoutResponse$_constructor_ok_amount_address(true, $msg'amount, $self'owner))); - } else { - ($self'master, $self'owner, $self'completed)~$Beacon$_fun_reply($CanPayoutResponse$_store_cell($CanPayoutResponse$_constructor_ok_amount_address(false, $msg'amount, $self'owner))); - } - return (($self'master, $self'owner, $self'completed), ()); -} - -((slice, slice, int), ()) $Beacon$_receive_bounce((slice, slice, int) $self, slice $msg) impure inline { - var ($self'master, $self'owner, $self'completed) = $self; - $self'completed = false; - return (($self'master, $self'owner, $self'completed), ()); -} - -;; -;; Get methods of a Contract Beacon -;; - -_ %owner() method_id(83229) { - var self = $Beacon$_contract_load(); - var res = self~$Beacon$_fun_owner(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128, - "org.ton.ownable"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmZLHCnFoXZQM1A6e4vzfhP9sBoQCrcBSRnEByNeX8ruHn"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Beacon -;; - -((slice, slice, int), int) $Beacon$_contract_router_internal((slice, slice, int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - - ;; Skip 0xFFFFFFFF - in_msg~skip_bits(32); - - ;; Fallback bounce receiver - self~$Beacon$_receive_bounce(in_msg); - - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive CanPayout message - if (op == 3289991647) { - var msg = in_msg~$CanPayout$_load(); - self~$Beacon$_internal_binary_CanPayout(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Beacon$_contract_load(); - - ;; Handle operation - int handled = self~$Beacon$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Beacon$_contract_store(self); -} diff --git a/examples/output/payouts_Beacon.code.fif b/examples/output/payouts_Beacon.code.fif deleted file mode 100644 index 9cf4b2b64..000000000 --- a/examples/output/payouts_Beacon.code.fif +++ /dev/null @@ -1,426 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC __tact_slice_eq_bits - DECLPROC $CanPayout$_load - DECLPROC $CanPayoutResponse$_store - DECLPROC $CanPayoutResponse$_store_cell - DECLPROC $Beacon$_store - DECLPROC $Beacon$_load - DECLPROC $StateInit$_not_null - DECLPROC $Beacon$init$_load - DECLPROC $Beacon$_contract_init - DECLPROC $Beacon$_contract_load - DECLPROC $Beacon$_contract_store - DECLPROC $global_send - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $Beacon$_fun_forward - DECLPROC $Beacon$_fun_reply - DECLPROC $Beacon$_fun_owner - DECLPROC $CanPayoutResponse$_constructor_ok_amount_address - DECLPROC $Beacon$_internal_binary_CanPayout - DECLPROC $Beacon$_receive_bounce - 83229 DECLMETHOD %owner - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Beacon$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_slice_eq_bits PROCINLINE:<{ - SDEQ - }> - $CanPayout$_load PROCINLINE:<{ - 32 LDU - SWAP - 3289991647 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - SWAP - }> - $CanPayoutResponse$_store PROCINLINE:<{ - 4293607646 PUSHINT - s0 s4 XCHG2 - 32 STU - s1 s2 XCHG - 257 PUSHINT - STIX - SWAP - __tact_store_address INLINECALLDICT - 1 STI - }> - $CanPayoutResponse$_store_cell PROCINLINE:<{ - NEWC - 3 -ROLL - $CanPayoutResponse$_store INLINECALLDICT - ENDC - }> - $Beacon$_store PROCINLINE:<{ - 2SWAP - __tact_store_address INLINECALLDICT - ROT - __tact_store_address INLINECALLDICT - 1 STI - }> - $Beacon$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - 3 -ROLL - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $Beacon$init$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address INLINECALLDICT - s1 s2 XCHG - }> - $Beacon$_contract_init PROCREF:<{ - FALSE - }> - $Beacon$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Beacon$_load INLINECALLDICT - 1 3 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Beacon$init$_load INLINECALLDICT - s0 s2 XCHG - ENDS - SWAP - $Beacon$_contract_init INLINECALLDICT - }> - $Beacon$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 3 -ROLL - $Beacon$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $Beacon$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $Beacon$_fun_reply PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - TRUE - PUSHNULL - $Beacon$_fun_forward INLINECALLDICT - }> - $Beacon$_fun_owner PROCREF:<{ - OVER - }> - $CanPayoutResponse$_constructor_ok_amount_address PROCINLINE:<{ - ROT - }> - $Beacon$_internal_binary_CanPayout PROCINLINE:<{ - __tact_context_get INLINECALLDICT - s2 s3 XCHG - 3 BLKDROP - s4 PUSH - 4429 PUSHINT - s0 s2 XCHG - __tact_slice_eq_bits INLINECALLDICT - THROWANYIFNOT - 100000000 PUSHINT - 0 PUSHINT - RAWRESERVE - OVER - IF:<{ - NIP - TRUE - TRUE - ROT - s3 PUSH - $CanPayoutResponse$_constructor_ok_amount_address INLINECALLDICT - $CanPayoutResponse$_store_cell INLINECALLDICT - $Beacon$_fun_reply INLINECALLDICT - }>ELSE<{ - FALSE - s1 s3 XCPU - $CanPayoutResponse$_constructor_ok_amount_address INLINECALLDICT - $CanPayoutResponse$_store_cell INLINECALLDICT - $Beacon$_fun_reply INLINECALLDICT - }> - }> - $Beacon$_receive_bounce PROCINLINE:<{ - 2DROP - FALSE - }> - %owner PROC:<{ - $Beacon$_contract_load INLINECALLDICT - $Beacon$_fun_owner INLINECALLDICT - 3 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 86142586315491086060343270784266291122 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d5a4c48436e466f585a514d3141366534767a6668503973426f514372634253526e4542794e6558387275486e} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Beacon$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - 32 PUSHINT - SDSKIPFIRST - $Beacon$_receive_bounce INLINECALLDICT - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 3289991647 PUSHINT - EQUAL - IFJMP:<{ - $CanPayout$_load INLINECALLDICT - NIP - $Beacon$_internal_binary_CanPayout INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Beacon$_contract_load INLINECALLDICT - 2 3 BLKSWAP - $Beacon$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Beacon$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/payouts_Beacon.code.rev.fif b/examples/output/payouts_Beacon.code.rev.fif deleted file mode 100644 index b1cd51427..000000000 --- a/examples/output/payouts_Beacon.code.rev.fif +++ /dev/null @@ -1,506 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC owner; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_44086a5ce86162fe; - DECLPROC ?fun_ref_644ef5250652bdfa; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_e31d986f279fa0fb; - DECLPROC ?fun_ref_ed6d0b29af79c1a8; - DECLPROC ?fun_ref_efad8398e73c11b0; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_ed6d0b29af79c1a8 INLINECALLDICT - 2 3 BLKSWAP - ?fun_ref_efad8398e73c11b0 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 3 1 BLKSWAP - SWAP2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ROT - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - 1 STI - ENDC - c4 POP - }> - owner PROC:<{ - ?fun_ref_ed6d0b29af79c1a8 INLINECALLDICT - ?fun_ref_44086a5ce86162fe INLINECALLDICT - 3 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 86142586315491086060343270784266291122 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D5A4C48436E466F585A514D3141366534767A6668503973426F514372634253526E4542794E6558387275486E82_} PUSHSLICE - }> - ?fun_ref_44086a5ce86162fe PROCREF:<{ - s1 PUSH - }> - ?fun_ref_644ef5250652bdfa PROCREF:<{ - 0 PUSHINT - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_ed6d0b29af79c1a8 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - 3 1 BLKSWAP - 1 3 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 s2 XCHG - s0 s2 XCHG - ENDS - s0 s1 XCHG - ?fun_ref_644ef5250652bdfa INLINECALLDICT - }> - ?fun_ref_efad8398e73c11b0 PROCREF:<{ - s0 s1 XCHG - <{ - 32 PUSHINT - SDSKIPFIRST - DROP2 - 0 PUSHINT - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 3289991647 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 3289991647 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - 1 GETGLOBVAR - 4 UNTUPLE - s2 s3 XCHG - 3 BLKDROP - s4 PUSH - 4429 PUSHINT - s0 s2 XCHG - SDEQ - THROWANYIFNOT - 100000000 PUSHINT - 0 PUSHINT - RAWRESERVE - s1 PUSH - <{ - 0 PUSHINT - s1 s3 XCPU - ROT - NEWC - 3 1 BLKSWAP - 4293607646 PUSHINT - s0 s4 XCHG2 - 32 STU - s1 s2 XCHG - 257 PUSHINT - STIX - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - 1 STI - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - -1 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - }> PUSHCONT - <{ - s1 POP - -1 PUSHINT - -1 PUSHINT - ROT - s3 PUSH - ROT - NEWC - 3 1 BLKSWAP - 4293607646 PUSHINT - s0 s4 XCHG2 - 32 STU - s1 s2 XCHG - 257 PUSHINT - STIX - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - 1 STI - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - -1 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - }> IFREFELSE - -1 PUSHINT - }> IFJMPREF - s0 POP - 0 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/examples/output/payouts_Beacon.headers.fc b/examples/output/payouts_Beacon.headers.fc deleted file mode 100644 index 395f3b837..000000000 --- a/examples/output/payouts_Beacon.headers.fc +++ /dev/null @@ -1,79 +0,0 @@ -;; -;; Header files for Beacon -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_slice_eq_bits -int __tact_slice_eq_bits(slice a, slice b) inline; - -;; $CanPayout$_load -(slice, ((int))) $CanPayout$_load(slice sc_0) inline; - -;; $CanPayoutResponse$_store -builder $CanPayoutResponse$_store(builder build_0, (int, slice, int) v) inline; - -;; $CanPayoutResponse$_store_cell -cell $CanPayoutResponse$_store_cell((int, slice, int) v) inline; - -;; $Beacon$_store -builder $Beacon$_store(builder build_0, (slice, slice, int) v) inline; - -;; $Beacon$_load -(slice, ((slice, slice, int))) $Beacon$_load(slice sc_0) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $Beacon$init$_load -(slice, ((slice, slice))) $Beacon$init$_load(slice sc_0) inline; - -;; $Beacon$_contract_init -(slice, slice, int) $Beacon$_contract_init(slice $master, slice $owner) impure inline_ref; - -;; $Beacon$_contract_load -(slice, slice, int) $Beacon$_contract_load() impure inline_ref; - -;; $Beacon$_contract_store -() $Beacon$_contract_store((slice, slice, int) v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $Beacon$_fun_forward -((slice, slice, int), ()) $Beacon$_fun_forward((slice, slice, int) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $Beacon$_fun_reply -((slice, slice, int), ()) $Beacon$_fun_reply((slice, slice, int) $self, cell $body) impure inline; - -;; $Beacon$_fun_owner -((slice, slice, int), slice) $Beacon$_fun_owner((slice, slice, int) $self) impure inline_ref; - -;; $CanPayoutResponse$_constructor_ok_amount_address -((int, slice, int)) $CanPayoutResponse$_constructor_ok_amount_address(int ok, int amount, slice address) inline; diff --git a/examples/output/payouts_Beacon.md b/examples/output/payouts_Beacon.md deleted file mode 100644 index 5004c1c09..000000000 --- a/examples/output/payouts_Beacon.md +++ /dev/null @@ -1,69 +0,0 @@ -# TACT Compilation Report -Contract: Beacon -BOC Size: 986 bytes - -# Types -Total Types: 7 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## ChangeOwner -TLB: `change_owner#819dbe99 queryId:uint64 newOwner:address = ChangeOwner` -Signature: `ChangeOwner{queryId:uint64,newOwner:address}` - -## ChangeOwnerOk -TLB: `change_owner_ok#327b2b4a queryId:uint64 newOwner:address = ChangeOwnerOk` -Signature: `ChangeOwnerOk{queryId:uint64,newOwner:address}` - -## CanPayout -TLB: `can_payout#c41949df amount:int257 = CanPayout` -Signature: `CanPayout{amount:int257}` - -## CanPayoutResponse -TLB: `can_payout_response#ffeb40de amount:int257 address:address ok:bool = CanPayoutResponse` -Signature: `CanPayoutResponse{amount:int257,address:address,ok:bool}` - -# Get Methods -Total Get Methods: 1 - -## owner - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -4429: Invalid sender -16059: Invalid value -48401: Invalid signature -62972: Invalid balance \ No newline at end of file diff --git a/examples/output/payouts_Beacon.pkg b/examples/output/payouts_Beacon.pkg deleted file mode 100644 index ddd0fba74..000000000 --- a/examples/output/payouts_Beacon.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Beacon","code":"te6ccgECFQEAA84AART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVEts88uCCDQQFAgEgCwwBRAGXgCDXIVtwf+BwIddJwh+VMCDXCx/eghDEGUnfuuMCMHAGAJzI+EMBzH8BygBVIFog10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZYINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WygDJ7VQC6NMfAYIQxBlJ37ry4IGBAQHXAAEx+EFvJBAjXwMkgRFNAscF8vSCEAX14QBw+wIhjsBwURNYyFUgghD/60DeUATLHxKBAQHPAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbKAMn4QgF/bds84w1/CAcBhDF/f1gjWMhVIIIQ/+tA3lAEyx8SgQEBzwABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WygDJ+EIBf23bPAgBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8CQHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAKAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAhG+KO7Z5tnjYYwNDgIBIBESAbztRNDUAfhj0gABjkb6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gBVIGwT4Pgo1wsKgwm68uCJDwACIQGK+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIEgLRAds8EAACcAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJwQM51aecV+dJQsB1hbiZHsoAgFIExQAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtWkxIQ25Gb1haUU0xQTZlNHZ6ZmhQOXNCb1FDcmNCU1JuRUJ5TmVYOHJ1SG6CA=","abi":"{\"name\":\"Beacon\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"ChangeOwner\",\"header\":2174598809,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"ChangeOwnerOk\",\"header\":846932810,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"CanPayout\",\"header\":3289991647,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"CanPayoutResponse\",\"header\":4293607646,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"address\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"ok\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"CanPayout\"}}],\"getters\":[{\"name\":\"owner\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"4429\":{\"message\":\"Invalid sender\"},\"16059\":{\"message\":\"Invalid value\"},\"48401\":{\"message\":\"Invalid signature\"},\"62972\":{\"message\":\"Invalid balance\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\",\"org.ton.ownable\"]}","init":{"kind":"direct","args":[{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECFwEAA9gAAQHAAQEFoUH1AgEU/wD0pBP0vPLICwMCAWIMBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtWkxIQ25Gb1haUU0xQTZlNHZ6ZmhQOXNCb1FDcmNCU1JuRUJ5TmVYOHJ1SG6CAAEbCvu1E0NIAAYAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJwQM51aecV+dJQsB1hbiZHsoAhG+KO7Z5tnjYYwUCwACIQN60AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRLbPPLgghQODQCcyPhDAcx/AcoAVSBaINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WWCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsoAye1UAUQBl4Ag1yFbcH/gcCHXScIflTAg1wsf3oIQxBlJ37rjAjBwDwLo0x8BghDEGUnfuvLggYEBAdcAATH4QW8kECNfAySBEU0CxwXy9IIQBfXhAHD7AiGOwHBRE1jIVSCCEP/rQN5QBMsfEoEBAc8AASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsoAyfhCAX9t2zzjDX8REAGEMX9/WCNYyFUgghD/60DeUATLHxKBAQHPAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbKAMn4QgF/bds8EQE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwSAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABMAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwBvO1E0NQB+GPSAAGORvpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAFUgbBPg+CjXCwqDCbry4IkVAYr6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSAtEB2zwWAAJwl8CVZA=="}},"sources":{"examples\\payouts.tact":"aW1wb3J0ICJAc3RkbGliL293bmFibGUiOw0KDQptZXNzYWdlIENhblBheW91dCB7DQogICAgYW1vdW50OiBJbnQ7DQp9DQoNCm1lc3NhZ2UgQ2FuUGF5b3V0UmVzcG9uc2Ugew0KICAgIGFtb3VudDogSW50Ow0KICAgIGFkZHJlc3M6IEFkZHJlc3M7DQogICAgb2s6IEJvb2w7DQp9DQoNCmNvbnRyYWN0IEJlYWNvbiB3aXRoIE93bmFibGUgew0KDQogICAgbWFzdGVyOiBBZGRyZXNzOw0KICAgIG93bmVyOiBBZGRyZXNzOw0KICAgIGNvbXBsZXRlZDogQm9vbDsNCg0KICAgIGluaXQobWFzdGVyOiBBZGRyZXNzLCBvd25lcjogQWRkcmVzcykgew0KICAgICAgICBzZWxmLm1hc3RlciA9IG1hc3RlcjsNCiAgICAgICAgc2VsZi5vd25lciA9IG93bmVyOw0KICAgICAgICBzZWxmLmNvbXBsZXRlZCA9IGZhbHNlOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBDYW5QYXlvdXQpIHsNCg0KICAgICAgICAvLyBDaGVjayBjb250ZXh0DQogICAgICAgIGxldCBjdHg6IENvbnRleHQgPSBjb250ZXh0KCk7DQogICAgICAgIHJlcXVpcmUoY3R4LnNlbmRlciA9PSBzZWxmLm1hc3RlciwgIkludmFsaWQgc2VuZGVyIik7DQoNCiAgICAgICAgLy8gUmVzZXJ2ZSBmdW5kcw0KICAgICAgICBuYXRpdmVSZXNlcnZlKHRvbigiMC4xIiksIDApOw0KDQogICAgICAgIC8vIFNlbmQgcmVzcG9uc2UNCiAgICAgICAgaWYgKHNlbGYuY29tcGxldGVkKSB7DQogICAgICAgICAgICBzZWxmLmNvbXBsZXRlZCA9IHRydWU7ICAgIA0KICAgICAgICAgICAgc2VsZi5yZXBseShDYW5QYXlvdXRSZXNwb25zZXtvazogdHJ1ZSwgYW1vdW50OiBtc2cuYW1vdW50LCBhZGRyZXNzOiBzZWxmLm93bmVyfS50b0NlbGwoKSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBzZWxmLnJlcGx5KENhblBheW91dFJlc3BvbnNle29rOiBmYWxzZSwgYW1vdW50OiBtc2cuYW1vdW50LCBhZGRyZXNzOiBzZWxmLm93bmVyfS50b0NlbGwoKSk7DQogICAgICAgIH0gICAgICAgIA0KICAgIH0NCg0KICAgIGJvdW5jZWQobXNnOiBTbGljZSkgew0KICAgICAgICAvLyBSZXNldCBjb21wbGV0ZWQgZmxhZyBpcyBvdXIgbWVzc2FnZSBib3VuY2VkDQogICAgICAgIHNlbGYuY29tcGxldGVkID0gZmFsc2U7DQogICAgfQ0KfQ0KDQpjb250cmFjdCBQYXlvdXRzIHdpdGggT3duYWJsZVRyYW5zZmVyYWJsZSB7DQogICAgb3duZXI6IEFkZHJlc3M7DQogICAgcHVibGljS2V5OiBJbnQ7DQoNCiAgICBpbml0KG93bmVyOiBBZGRyZXNzLCBwdWJsaWNLZXk6IEludCkgew0KICAgICAgICBzZWxmLm93bmVyID0gb3duZXI7DQogICAgICAgIHNlbGYucHVibGljS2V5ID0gcHVibGljS2V5Ow0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBTdHJpbmcpIHsNCg0KICAgICAgICAvLyBDaGVjayBjb250ZXh0DQogICAgICAgIGxldCBjdHg6IENvbnRleHQgPSBjb250ZXh0KCk7DQogICAgICAgIHJlcXVpcmUoY3R4LnZhbHVlID49IHRvbigiMSIpLCAiSW52YWxpZCB2YWx1ZSIpOw0KDQogICAgICAgIC8vIFBhcnNlIG1lc3NhZ2UNCiAgICAgICAgbGV0IGRhdGE6IFNsaWNlID0gbXNnLmZyb21CYXNlNjQoKTsNCiAgICAgICAgbGV0IGFtb3VudDogSW50ID0gZGF0YS5sb2FkQ29pbnMoKTsNCiAgICAgICAgbGV0IHNpZ25hdHVyZTogU2xpY2UgPSBkYXRhLmxvYWRCaXRzKDUxMik7DQogICAgICAgIA0KICAgICAgICAvLyBWZXJpZnkgc2lnbmF0dXJlDQogICAgICAgIGxldCBkYXRhVG9TaWduOiBCdWlsZGVyID0gYmVnaW5DZWxsKCk7DQogICAgICAgIGRhdGFUb1NpZ24gPSBkYXRhVG9TaWduLnN0b3JlQWRkcmVzcyhjdHguc2VuZGVyKTsNCiAgICAgICAgZGF0YVRvU2lnbiA9IGRhdGFUb1NpZ24uc3RvcmVDb2lucyhhbW91bnQpOw0KICAgICAgICBsZXQgaGFzaDogSW50ID0gZGF0YVRvU2lnbi5hc0NlbGwoKS5oYXNoKCk7DQogICAgICAgIHJlcXVpcmUoY2hlY2tTaWduYXR1cmUoaGFzaCwgc2lnbmF0dXJlLCBzZWxmLnB1YmxpY0tleSksICJJbnZhbGlkIHNpZ25hdHVyZSIpOw0KDQogICAgICAgIC8vIFJlcXVlc3QgZnVuZHMgdHJhbnNmZXINCiAgICAgICAgbGV0IGluaXQ6IFN0YXRlSW5pdCA9IGluaXRPZiBCZWFjb24obXlBZGRyZXNzKCksIGN0eC5zZW5kZXIpOw0KICAgICAgICBsZXQgYWRkcmVzczogQWRkcmVzcyA9IGNvbnRyYWN0QWRkcmVzcyhpbml0KTsNCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgIHRvOiBhZGRyZXNzLCANCiAgICAgICAgICAgIHZhbHVlOiAwLCANCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSArIFNlbmRJZ25vcmVFcnJvcnMsIA0KICAgICAgICAgICAgYm91bmNlOiB0cnVlLCANCiAgICAgICAgICAgIGJvZHk6IENhblBheW91dHthbW91bnQ6IGFtb3VudH0udG9DZWxsKCkNCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgcmVjZWl2ZShtc2c6IENhblBheW91dFJlc3BvbnNlKSB7DQoNCiAgICAgICAgLy8gQ2hlY2sgY29udGV4dA0KICAgICAgICBsZXQgY3R4OiBDb250ZXh0ID0gY29udGV4dCgpOw0KICAgICAgICBsZXQgaW5pdDogU3RhdGVJbml0ID0gaW5pdE9mIEJlYWNvbihteUFkZHJlc3MoKSwgbXNnLmFkZHJlc3MpOw0KICAgICAgICBsZXQgYWRkcmVzczogQWRkcmVzcyA9IGNvbnRyYWN0QWRkcmVzcyhpbml0KTsNCiAgICAgICAgcmVxdWlyZShjdHguc2VuZGVyID09IGFkZHJlc3MsICJJbnZhbGlkIHNlbmRlciIpOw0KDQogICAgICAgIGlmIChtc2cub2spIHsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB3ZSBoYXZlIGVub3VnaCBmdW5kcw0KICAgICAgICAgICAgcmVxdWlyZShteUJhbGFuY2UoKSAtIGN0eC52YWx1ZSAtIHRvbigiMSIpIC0gbXNnLmFtb3VudCA+IDAsICJJbnZhbGlkIGJhbGFuY2UiKTsNCg0KICAgICAgICAgICAgLy8gU2VuZCByZXNwb25zZQ0KICAgICAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgICAgICB0bzogbXNnLmFkZHJlc3MsIA0KICAgICAgICAgICAgICAgIHZhbHVlOiBtc2cuYW1vdW50LCANCiAgICAgICAgICAgICAgICBtb2RlOiBTZW5kUmVtYWluaW5nVmFsdWUgKyBTZW5kSWdub3JlRXJyb3JzLCANCiAgICAgICAgICAgICAgICBib3VuY2U6IGZhbHNlLCANCiAgICAgICAgICAgICAgICBib2R5OiAiU3VjY2VzcyIuYXNDb21tZW50KCkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgICAgICB0bzogbXNnLmFkZHJlc3MsIA0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLCANCiAgICAgICAgICAgICAgICBtb2RlOiBTZW5kUmVtYWluaW5nVmFsdWUgKyBTZW5kSWdub3JlRXJyb3JzLCANCiAgICAgICAgICAgICAgICBib3VuY2U6IGZhbHNlLCANCiAgICAgICAgICAgICAgICBib2R5OiAiQWxyZWFkeSBwYWlkIi5hc0NvbW1lbnQoKQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQp9"},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/payouts.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/payouts_Beacon.stdlib.fc b/examples/output/payouts_Beacon.stdlib.fc deleted file mode 100644 index 438bfdb28..000000000 --- a/examples/output/payouts_Beacon.stdlib.fc +++ /dev/null @@ -1,120 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -int __tact_slice_eq_bits(slice a, slice b) inline { - return equal_slice_bits(a, b); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -((slice, slice, int), ()) $Beacon$_fun_forward((slice, slice, int) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var (($self'master, $self'owner, $self'completed)) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return (($self'master, $self'owner, $self'completed), ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return (($self'master, $self'owner, $self'completed), ()); -} - -((slice, slice, int), ()) $Beacon$_fun_reply((slice, slice, int) $self, cell $body) impure inline { - var (($self'master, $self'owner, $self'completed)) = $self; - ($self'master, $self'owner, $self'completed)~$Beacon$_fun_forward(__tact_context_get_sender(), $body, true, null()); - return (($self'master, $self'owner, $self'completed), ()); -} \ No newline at end of file diff --git a/examples/output/payouts_Beacon.storage.fc b/examples/output/payouts_Beacon.storage.fc deleted file mode 100644 index 749429f72..000000000 --- a/examples/output/payouts_Beacon.storage.fc +++ /dev/null @@ -1,102 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: CanPayout -;; Header: 0xc41949df -;; TLB: can_payout#c41949df amount:int257 = CanPayout -;; - -(slice, ((int))) $CanPayout$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 3289991647); - var v'amount = sc_0~load_int(257); - return (sc_0, (v'amount)); -} - -;; -;; Type: CanPayoutResponse -;; Header: 0xffeb40de -;; TLB: can_payout_response#ffeb40de amount:int257 address:address ok:bool = CanPayoutResponse -;; - -builder $CanPayoutResponse$_store(builder build_0, (int, slice, int) v) inline { - var (v'amount, v'address, v'ok) = v; - build_0 = store_uint(build_0, 4293607646, 32); - build_0 = build_0.store_int(v'amount, 257); - build_0 = __tact_store_address(build_0, v'address); - build_0 = build_0.store_int(v'ok, 1); - return build_0; -} - -cell $CanPayoutResponse$_store_cell((int, slice, int) v) inline { - return $CanPayoutResponse$_store(begin_cell(), v).end_cell(); -} - -((int, slice, int)) $CanPayoutResponse$_constructor_ok_amount_address(int ok, int amount, slice address) inline { - return (amount, address, ok); -} - -;; -;; Type: Beacon -;; - -builder $Beacon$_store(builder build_0, (slice, slice, int) v) inline { - var (v'master, v'owner, v'completed) = v; - build_0 = __tact_store_address(build_0, v'master); - build_0 = __tact_store_address(build_0, v'owner); - build_0 = build_0.store_int(v'completed, 1); - return build_0; -} - -(slice, ((slice, slice, int))) $Beacon$_load(slice sc_0) inline { - var v'master = sc_0~__tact_load_address(); - var v'owner = sc_0~__tact_load_address(); - var v'completed = sc_0~load_int(1); - return (sc_0, (v'master, v'owner, v'completed)); -} - -(slice, ((slice, slice))) $Beacon$init$_load(slice sc_0) inline { - var v'master = sc_0~__tact_load_address(); - var v'owner = sc_0~__tact_load_address(); - return (sc_0, (v'master, v'owner)); -} - -(slice, slice, int) $Beacon$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$Beacon$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (slice master, slice owner) = $sc~$Beacon$init$_load(); - $sc.end_parse(); - return $Beacon$_contract_init(master, owner); - } -} - -() $Beacon$_contract_store((slice, slice, int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $Beacon$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/payouts_Beacon.ts b/examples/output/payouts_Beacon.ts deleted file mode 100644 index f5f0386a5..000000000 --- a/examples/output/payouts_Beacon.ts +++ /dev/null @@ -1,504 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwner = { - $$type: 'ChangeOwner'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwner(src: ChangeOwner) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2174598809, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwner(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2174598809) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwner(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwner(source: ChangeOwner) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwner(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwner(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwner(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwnerOk = { - $$type: 'ChangeOwnerOk'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwnerOk(src: ChangeOwnerOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(846932810, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwnerOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 846932810) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwnerOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwnerOk(source: ChangeOwnerOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwnerOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwnerOk(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwnerOk(src.loadRef().beginParse()); - } - } -} - -export type CanPayout = { - $$type: 'CanPayout'; - amount: bigint; -} - -export function storeCanPayout(src: CanPayout) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3289991647, 32); - b_0.storeInt(src.amount, 257); - }; -} - -export function loadCanPayout(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3289991647) { throw Error('Invalid prefix'); } - let _amount = sc_0.loadIntBig(257); - return { $$type: 'CanPayout' as const, amount: _amount }; -} - -function loadTupleCanPayout(source: TupleReader) { - let _amount = source.readBigNumber(); - return { $$type: 'CanPayout' as const, amount: _amount }; -} - -function storeTupleCanPayout(source: CanPayout) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - return builder.build(); -} - -function dictValueParserCanPayout(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeCanPayout(src)).endCell()); - }, - parse: (src) => { - return loadCanPayout(src.loadRef().beginParse()); - } - } -} - -export type CanPayoutResponse = { - $$type: 'CanPayoutResponse'; - amount: bigint; - address: Address; - ok: boolean; -} - -export function storeCanPayoutResponse(src: CanPayoutResponse) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(4293607646, 32); - b_0.storeInt(src.amount, 257); - b_0.storeAddress(src.address); - b_0.storeBit(src.ok); - }; -} - -export function loadCanPayoutResponse(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 4293607646) { throw Error('Invalid prefix'); } - let _amount = sc_0.loadIntBig(257); - let _address = sc_0.loadAddress(); - let _ok = sc_0.loadBit(); - return { $$type: 'CanPayoutResponse' as const, amount: _amount, address: _address, ok: _ok }; -} - -function loadTupleCanPayoutResponse(source: TupleReader) { - let _amount = source.readBigNumber(); - let _address = source.readAddress(); - let _ok = source.readBoolean(); - return { $$type: 'CanPayoutResponse' as const, amount: _amount, address: _address, ok: _ok }; -} - -function storeTupleCanPayoutResponse(source: CanPayoutResponse) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - builder.writeAddress(source.address); - builder.writeBoolean(source.ok); - return builder.build(); -} - -function dictValueParserCanPayoutResponse(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeCanPayoutResponse(src)).endCell()); - }, - parse: (src) => { - return loadCanPayoutResponse(src.loadRef().beginParse()); - } - } -} - - type Beacon_init_args = { - $$type: 'Beacon_init_args'; - master: Address; - owner: Address; -} - -function initBeacon_init_args(src: Beacon_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeAddress(src.master); - b_0.storeAddress(src.owner); - }; -} - -async function Beacon_init(master: Address, owner: Address) { - const __code = Cell.fromBase64('te6ccgECFQEAA84AART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVEts88uCCDQQFAgEgCwwBRAGXgCDXIVtwf+BwIddJwh+VMCDXCx/eghDEGUnfuuMCMHAGAJzI+EMBzH8BygBVIFog10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZYINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WygDJ7VQC6NMfAYIQxBlJ37ry4IGBAQHXAAEx+EFvJBAjXwMkgRFNAscF8vSCEAX14QBw+wIhjsBwURNYyFUgghD/60DeUATLHxKBAQHPAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbKAMn4QgF/bds84w1/CAcBhDF/f1gjWMhVIIIQ/+tA3lAEyx8SgQEBzwABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WygDJ+EIBf23bPAgBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8CQHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAKAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAhG+KO7Z5tnjYYwNDgIBIBESAbztRNDUAfhj0gABjkb6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gBVIGwT4Pgo1wsKgwm68uCJDwACIQGK+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIEgLRAds8EAACcAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJwQM51aecV+dJQsB1hbiZHsoAgFIExQAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtWkxIQ25Gb1haUU0xQTZlNHZ6ZmhQOXNCb1FDcmNCU1JuRUJ5TmVYOHJ1SG6CA='); - const __system = Cell.fromBase64('te6cckECFwEAA9gAAQHAAQEFoUH1AgEU/wD0pBP0vPLICwMCAWIMBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtWkxIQ25Gb1haUU0xQTZlNHZ6ZmhQOXNCb1FDcmNCU1JuRUJ5TmVYOHJ1SG6CAAEbCvu1E0NIAAYAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJwQM51aecV+dJQsB1hbiZHsoAhG+KO7Z5tnjYYwUCwACIQN60AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRLbPPLgghQODQCcyPhDAcx/AcoAVSBaINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WWCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsoAye1UAUQBl4Ag1yFbcH/gcCHXScIflTAg1wsf3oIQxBlJ37rjAjBwDwLo0x8BghDEGUnfuvLggYEBAdcAATH4QW8kECNfAySBEU0CxwXy9IIQBfXhAHD7AiGOwHBRE1jIVSCCEP/rQN5QBMsfEoEBAc8AASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsoAyfhCAX9t2zzjDX8REAGEMX9/WCNYyFUgghD/60DeUATLHxKBAQHPAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbKAMn4QgF/bds8EQE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwSAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABMAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwBvO1E0NQB+GPSAAGORvpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAFUgbBPg+CjXCwqDCbry4IkVAYr6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSAtEB2zwWAAJwl8CVZA=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initBeacon_init_args({ $$type: 'Beacon_init_args', master, owner })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Beacon_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 4429: { message: `Invalid sender` }, - 16059: { message: `Invalid value` }, - 48401: { message: `Invalid signature` }, - 62972: { message: `Invalid balance` }, -} - -const Beacon_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"CanPayout","header":3289991647,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"CanPayoutResponse","header":4293607646,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"address","type":{"kind":"simple","type":"address","optional":false}},{"name":"ok","type":{"kind":"simple","type":"bool","optional":false}}]}, -] - -const Beacon_getters: ABIGetter[] = [ - {"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}, -] - -const Beacon_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"CanPayout"}}, -] - -export class Beacon implements Contract { - - static async init(master: Address, owner: Address) { - return await Beacon_init(master, owner); - } - - static async fromInit(master: Address, owner: Address) { - const init = await Beacon_init(master, owner); - const address = contractAddress(0, init); - return new Beacon(address, init); - } - - static fromAddress(address: Address) { - return new Beacon(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Beacon_types, - getters: Beacon_getters, - receivers: Beacon_receivers, - errors: Beacon_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: CanPayout) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'CanPayout') { - body = beginCell().store(storeCanPayout(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getOwner(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('owner', builder.build())).stack; - let result = source.readAddress(); - return result; - } - -} \ No newline at end of file diff --git a/examples/output/payouts_Payouts.abi b/examples/output/payouts_Payouts.abi deleted file mode 100644 index 51d12b366..000000000 --- a/examples/output/payouts_Payouts.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Payouts","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"CanPayout","header":3289991647,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"CanPayoutResponse","header":4293607646,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"address","type":{"kind":"simple","type":"address","optional":false}},{"name":"ok","type":{"kind":"simple","type":"bool","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text"}},{"receiver":"internal","message":{"kind":"typed","type":"CanPayoutResponse"}},{"receiver":"internal","message":{"kind":"typed","type":"ChangeOwner"}}],"getters":[{"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"4429":{"message":"Invalid sender"},"16059":{"message":"Invalid value"},"48401":{"message":"Invalid signature"},"62972":{"message":"Invalid balance"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0","org.ton.ownable.transferable.v2","org.ton.ownable"]} \ No newline at end of file diff --git a/examples/output/payouts_Payouts.code.boc b/examples/output/payouts_Payouts.code.boc deleted file mode 100644 index c2e71f8e1..000000000 Binary files a/examples/output/payouts_Payouts.code.boc and /dev/null differ diff --git a/examples/output/payouts_Payouts.code.boc.html b/examples/output/payouts_Payouts.code.boc.html deleted file mode 100644 index f30c188f9..000000000 --- a/examples/output/payouts_Payouts.code.boc.html +++ /dev/null @@ -1,912 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC owner;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_1b0a58ac40eae895;
-            ..DECLPROC ?fun_ref_44086a5ce86162fe;
-            ..DECLPROC ?fun_ref_50a2a88ce95e1f87;
-            ..DECLPROC ?fun_ref_55b298e1f9cfa683;
-            ..DECLPROC ?fun_ref_7d7b7a07ccd0560c;
-            ..DECLPROC ?fun_ref_909922a714a696d2;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            ..DECLPROC ?fun_ref_f0da61d556b8b726;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_50a2a88ce95e1f87 INLINECALLDICT
-            ....SWAP2
-            ....?fun_ref_55b298e1f9cfa683 INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....ROTREV
-            ....ROTREV
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....257 PUSHINT
-            ....STIX
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..owner PROC:<{
-            ....?fun_ref_50a2a88ce95e1f87 INLINECALLDICT
-            ....?fun_ref_44086a5ce86162fe INLINECALLDICT
-            ....2 1 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ....322875185039650075936310953974817993034 PUSHINT
-            ....86142586315491086060343270784266291122 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D504C314247336B76753335396172576576637A45364561536A7756524B586476416764356234507A4B6B684E82_} PUSHSLICE
-            ..}>
-            ..?fun_ref_1b0a58ac40eae895 PROCREF:<{
-            ....1 GETGLOBVAR
-            ....4 UNTUPLE
-            ....s0 POP
-            ....16059 PUSHINT
-            ....s3 POP
-            ....1000000000 PUSHINT
-            ....GEQ
-            ....s1 s2 XCHG
-            ....THROWANYIFNOT
-            ....s0 s1 XCHG
-            ....?fun_ref_7d7b7a07ccd0560c INLINECALLDICT
-            ....LDGRAMS
-            ....9 PUSHPOW2
-            ....LDSLICEX
-            ....s0 POP
-            ....NEWC
-            ....s3 PUSH
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....s2 PUSH
-            ....STGRAMS
-            ....ENDC
-            ....HASHCU
-            ....48401 PUSHINT
-            ....s2 s5 XCPU
-            ....CHKSIGNU
-            ....THROWANYIFNOT
-            ....3 GETGLOBVAR
-            ....MYADDR
-            ....1 3 BLKSWAP
-            ....?fun_ref_f0da61d556b8b726 INLINECALLDICT
-            ....0 PUSHINT
-            ....ROTREV
-            ....NEWC
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....3 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STU
-            ....s1 s2 XCHG
-            ....STREF
-            ....STREF
-            ....ENDC
-            ....HASHCU
-            ....NEWC
-            ....2 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STU
-            ....s1 s2 XCHG
-            ....8 STI
-            ....256 STU
-            ....ENDC
-            ....CTOS
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....0 PUSHINT
-            ....66 PUSHINT
-            ....-1 PUSHINT
-            ....s0 s4 XCHG
-            ....NEWC
-            ....s0 s1 XCHG
-            ....3289991647 PUSHINT
-            ....ROT
-            ....32 STU
-            ....257 PUSHINT
-            ....STIX
-            ....ENDC
-            ....s3 s4 XCHG
-            ....s1 s3 s0 XCHG3
-            ....s1 s4 XCHG
-            ....s3 s3 s0 XCHG3
-            ....NULL
-            ....NULL
-            ....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ..}>
-            x5..?fun_ref_44086a5ce86162fe PROCREF:<{
-            18x5....s1 PUSH
-            x5..}>
-            ..?fun_ref_50a2a88ce95e1f87 PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......257 PUSHINT
-            ......LDIX
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ....}> PUSHCONT
-            ....IFJMP
-            ....MYADDR
-            ....11 PLDU
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....137 THROWIFNOT
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s1 XCHG
-            ....257 PUSHINT
-            ....LDIX
-            ....ROTREV
-            ....s0 s2 XCHG
-            ....ENDS
-            ....s0 s1 XCHG
-            ..}>
-            ..?fun_ref_55b298e1f9cfa683 PROCREF:<{
-            ....2 SAVE
-            ....SAMEALTSAVE
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....s0 PUSH
-            ....4293607646 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......4293607646 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......1 LDI
-            ......3 1 BLKSWAP
-            ......1 3 BLKDROP2
-            ......1 GETGLOBVAR
-            ......4 UNTUPLE
-            ......s0 POP
-            ......s2 POP
-            ......3 GETGLOBVAR
-            ......MYADDR
-            ......s5 PUSH
-            ......?fun_ref_f0da61d556b8b726 INLINECALLDICT
-            ......0 PUSHINT
-            ......ROTREV
-            ......NEWC
-            ......0 PUSHINT
-            ......s0 s1 XCHG
-            ......2 STU
-            ......3 PUSHINT
-            ......s0 s1 XCHG
-            ......2 STU
-            ......0 PUSHINT
-            ......s0 s1 XCHG
-            ......1 STU
-            ......s1 s2 XCHG
-            ......STREF
-            ......STREF
-            ......ENDC
-            ......HASHCU
-            ......NEWC
-            ......2 PUSHINT
-            ......s0 s1 XCHG
-            ......2 STU
-            ......0 PUSHINT
-            ......s0 s1 XCHG
-            ......1 STU
-            ......s1 s2 XCHG
-            ......8 STI
-            ......256 STU
-            ......ENDC
-            ......CTOS
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......4429 PUSHINT
-            ......s0 s2 XCHG
-            ......SDEQ
-            ......THROWANYIFNOT
-            ......s0 s1 XCHG
-            ......<{
-            ........62972 PUSHINT
-            ........BALANCE
-            ........0 INDEX
-            ........ROT
-            ........SUB
-            ........1000000000 PUSHINT
-            ........SUB
-            ........s3 PUSH
-            ........SUB
-            ........0 GTINT
-            ........THROWANYIFNOT
-            ........66 PUSHINT
-            ........0 PUSHINT
-            ........x{0000000053756363657373} PUSHREF
-            ........s3 s4 XCHG
-            ........s1 s4 XCHG
-            ........s3 s3 s0 XCHG3
-            ........NULL
-            ........NULL
-            ........?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ......}> IFREFELSEREF
-            ......-1 PUSHINT
-            ......s0 POP
-            ......s1 POP
-            ......0 PUSHINT
-            ......66 PUSHINT
-            ......0 PUSHINT
-            ......x{00000000416C72656164792070616964} PUSHREF
-            ......s1 s4 XCHG
-            ......s3 s3 s0 XCHG3
-            ......NULL
-            ......NULL
-            ......?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....2174598809 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2174598809 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......64 LDU
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s1 s2 XCHG
-            ......1 2 BLKDROP2
-            ......SWAP2
-            ......?fun_ref_909922a714a696d2 INLINECALLDICT
-            ......s1 POP
-            ......s2 s1 XCPU
-            ......NEWC
-            ......ROTREV
-            ......846932810 PUSHINT
-            ......s0 s3 XCHG2
-            ......32 STU
-            ......64 STU
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......STSLICER
-            ......ENDC
-            ......s1 s2 XCHG
-            ......2 GETGLOBVAR
-            ......s0 s1 XCHG
-            ......-1 PUSHINT
-            ......NULL
-            ......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....0 EQINT
-            ....<{
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......s0 PUSH
-            ......SBITS
-            ......31 GTINT
-            ......<{
-            ........32 PUSHINT
-            ........SDSKIPFIRST
-            ........?fun_ref_1b0a58ac40eae895 INLINECALLDICT
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ......s0 POP
-            ....}> IFREFELSE
-            ....0 PUSHINT
-            ..}>
-            x5..?fun_ref_7d7b7a07ccd0560c PROCREF:<{
-            18x5....s0 PUSH
-            26x5....SBITS
-            26x5....3 RSHIFT
-            18x5....NEWC
-            18x5....s0 s1 XCHG
-            26x5....<{
-            18x172......s0 s1 XCHG
-            26x172......8 LDU
-            18x172......s1 PUSH
-            26x172......64 GTINT
-            18x172......<{
-            18x134........s1 PUSH
-            26x134........91 LESSINT
-            18x172......}> PUSHCONT
-            18x172......<{
-            18x38........0 PUSHINT
-            18x172......}> PUSHCONT
-            18x172......IFELSE
-            18x172......<{
-            18x69........s0 s1 XCHG
-            26x69........-65 ADD
-            18x69........ROT
-            26x69........6 STU
-            18x172......}> PUSHCONT
-            26x172......<{
-            18x103........s1 PUSH
-            26x103........96 GTINT
-            18x103........<{
-            18x65..........s1 PUSH
-            26x65..........123 LESSINT
-            18x103........}> PUSHCONT
-            18x103........<{
-            18x38..........0 PUSHINT
-            18x103........}> PUSHCONT
-            18x103........IFELSE
-            18x103........<{
-            18x65..........s0 s1 XCHG
-            26x65..........-71 ADD
-            18x65..........ROT
-            26x65..........6 STU
-            18x103........}> PUSHCONT
-            26x103........<{
-            18x38..........s1 PUSH
-            26x38..........47 GTINT
-            18x38..........<{
-            18x36............s1 PUSH
-            26x36............58 LESSINT
-            18x38..........}> PUSHCONT
-            18x38..........<{
-            18x2............0 PUSHINT
-            18x38..........}> PUSHCONT
-            18x38..........IFELSE
-            18x38..........<{
-            18x30............s0 s1 XCHG
-            26x30............4 ADD
-            18x30............ROT
-            26x30............6 STU
-            18x38..........}> PUSHCONT
-            26x38..........<{
-            18x8............s1 PUSH
-            26x8............45 EQINT
-            18x8............<{
-            ..............-1 PUSHINT
-            18x8............}> PUSHCONT
-            18x8............<{
-            18x8..............s1 PUSH
-            26x8..............43 EQINT
-            18x8............}> PUSHCONT
-            18x8............IFELSE
-            18x8............<{
-            26x1..............62 PUSHINT
-            18x1..............s2 POP
-            18x1..............s0 s2 XCHG
-            26x1..............6 STU
-            18x8............}> PUSHCONT
-            26x8............<{
-            18x7..............s1 PUSH
-            26x7..............95 EQINT
-            18x7..............<{
-            ................-1 PUSHINT
-            18x7..............}> PUSHCONT
-            18x7..............<{
-            18x7................s1 PUSH
-            26x7................47 EQINT
-            18x7..............}> PUSHCONT
-            18x7..............IFELSE
-            18x7..............<{
-            26x1................63 PUSHINT
-            18x1................s2 POP
-            18x1................s0 s2 XCHG
-            26x1................6 STU
-            18x7..............}> PUSHCONT
-            18x7..............<{
-            18x6................s0 s1 XCHG
-            26x6................61 EQINT
-            18x6................<{
-            ..................134 THROW
-            18x6................}> PUSHCONT
-            18x6................IFNOT
-            18x6................s0 s1 XCHG
-            18x7..............}> PUSHCONT
-            18x7..............IFELSE
-            26x8............}> PUSHCONT
-            18x8............IFELSE
-            26x38..........}> PUSHCONT
-            18x38..........IFELSE
-            26x103........}> PUSHCONT
-            18x103........IFELSE
-            26x172......}> PUSHCONT
-            18x172......IFELSE
-            26x5....}> PUSHCONT
-            18x5....REPEAT
-            18x5....s1 POP
-            18x5....s0 PUSH
-            26x5....BBITS
-            18x5....s0 PUSH
-            34x5....false 1 true 2 0 DIV
-            ....s0 s2 XCHG
-            18x5....s0 PUSH
-            26x5....0 NEQINT
-            18x5....<{
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            118x4......CTOS
-            18x4......s0 s2 XCHG
-            18x4......SUB
-            26x4......LDSLICEX
-            18x4......s0 POP
-            18x5....}> PUSHCONT
-            18x5....IFJMP
-            18x1....DROP2
-            518x1....ENDC
-            118x1....CTOS
-            x5..}>
-            ..?fun_ref_909922a714a696d2 PROCREF:<{
-            ....2 GETGLOBVAR
-            ....s2 s1 PUXC
-            ....SDEQ
-            ....132 THROWIFNOT
-            ..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            ..?fun_ref_f0da61d556b8b726 PROCREF:<{
-            ....s0 s2 XCHG
-            ....CTOS
-            ....LDDICT
-            ....s0 POP
-            ....NULL
-            ....s0 s1 XCHG
-            ....41210 PUSHINT
-            ....s0 s1 XCHG
-            ....16 PUSHINT
-            ....DICTUGETREF
-            ....NULLSWAPIFNOT
-            ....135 THROWIFNOT
-            ....s0 s1 XCHG
-            ....41210 PUSHINT
-            ....s2 PUSH
-            ....s0 s2 XCHG
-            ....16 PUSHINT
-            ....DICTUSETREF
-            ....NEWC
-            ....s0 s1 XCHG
-            ....NEWC
-            ....STDICT
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....s0 s0 s3 XCHG3
-            ....ROTREV
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....ENDC
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/payouts_Payouts.code.fc b/examples/output/payouts_Payouts.code.fc deleted file mode 100644 index 65f2e6e9c..000000000 --- a/examples/output/payouts_Payouts.code.fc +++ /dev/null @@ -1,171 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "payouts_Payouts.headers.fc"; -#include "payouts_Payouts.stdlib.fc"; -#include "payouts_Payouts.constants.fc"; -#include "payouts_Payouts.storage.fc"; - -;; -;; Contract Payouts functions -;; - -(slice, int) $Payouts$_contract_init(slice $owner, int $publicKey) impure inline_ref { - var (($self'owner, $self'publicKey)) = (null(), null()); - $self'owner = $owner; - $self'publicKey = $publicKey; - return ($self'owner, $self'publicKey); -} - -((slice, int), ()) $Payouts$_fun_requireOwner((slice, int) $self) impure inline_ref { - var (($self'owner, $self'publicKey)) = $self; - throw_unless(132, ( __tact_slice_eq_bits($self'owner, __tact_context_get_sender()) )); - return (($self'owner, $self'publicKey), ()); -} - -((slice, int), slice) $Payouts$_fun_owner((slice, int) $self) impure inline_ref { - var (($self'owner, $self'publicKey)) = $self; - return (($self'owner, $self'publicKey), $self'owner); -} - -;; -;; Receivers of a Contract Payouts -;; - -((slice, int), ()) $Payouts$_internal_any_text((slice, int) $self, slice $msg) impure inline { - var ($self'owner, $self'publicKey) = $self; - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - throw_unless(16059, ($ctx'value >= 1000000000)); - slice $data = $String$_fun_fromBase64($msg); - int $amount = $data~load_coins(); - slice $signature = $data~load_bits(512); - builder $dataToSign = begin_cell(); - $dataToSign = __tact_store_address($dataToSign, $ctx'sender); - $dataToSign = store_coins($dataToSign, $amount); - int $hash = cell_hash($Builder$_fun_asCell($dataToSign)); - throw_unless(48401, check_signature($hash, $signature, $self'publicKey)); - var ($init'code, $init'data) = $Beacon$_init_child(__tact_context_sys, my_address(), $ctx'sender); - slice $address = $global_contractAddress(($init'code, $init'data)); - $global_send($SendParameters$_constructor_to_value_mode_bounce_body($address, 0, (64 + 2), true, $CanPayout$_store_cell($CanPayout$_constructor_amount($amount)))); - return (($self'owner, $self'publicKey), ()); -} - -(((slice, int)), ()) $Payouts$_internal_binary_CanPayoutResponse((slice, int) $self, (int, slice, int) $msg) impure inline { - var ($self'owner, $self'publicKey) = $self; - var ($msg'amount, $msg'address, $msg'ok) = $msg; - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - var ($init'code, $init'data) = $Beacon$_init_child(__tact_context_sys, my_address(), $msg'address); - slice $address = $global_contractAddress(($init'code, $init'data)); - throw_unless(4429, ( __tact_slice_eq_bits($address, $ctx'sender) )); - if ($msg'ok) { - throw_unless(62972, ((((__tact_my_balance() - $ctx'value) - 1000000000) - $msg'amount) > 0)); - $global_send($SendParameters$_constructor_to_value_mode_bounce_body($msg'address, $msg'amount, (64 + 2), false, __gen_cell_comment_37e90db9d1f7725dc0128ee6bad2035fb50479e09a488a29257bed01a23050a0())); - } else { - $global_send($SendParameters$_constructor_to_value_mode_bounce_body($msg'address, 0, (64 + 2), false, __gen_cell_comment_51a60a895442bd331fe75161305b2afbe04d33f1cd6cf8a1649e028f992eb33c())); - } - return (($self'owner, $self'publicKey), ()); -} - -(((slice, int)), ()) $Payouts$_internal_binary_ChangeOwner((slice, int) $self, (int, slice) $msg) impure inline { - var ($self'owner, $self'publicKey) = $self; - var ($msg'queryId, $msg'newOwner) = $msg; - ($self'owner, $self'publicKey)~$Payouts$_fun_requireOwner(); - $self'owner = $msg'newOwner; - ($self'owner, $self'publicKey)~$Payouts$_fun_reply($ChangeOwnerOk$_store_cell($ChangeOwnerOk$_constructor_queryId_newOwner($msg'queryId, $msg'newOwner))); - return (($self'owner, $self'publicKey), ()); -} - -;; -;; Get methods of a Contract Payouts -;; - -_ %owner() method_id(83229) { - var self = $Payouts$_contract_load(); - var res = self~$Payouts$_fun_owner(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128, - "org.ton.ownable.transferable.v2"H >> 128, - "org.ton.ownable"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmPL1BG3kvu359arWevczE6EaSjwVRKXdvAgd5b4PzKkhN"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Payouts -;; - -((slice, int), int) $Payouts$_contract_router_internal((slice, int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive CanPayoutResponse message - if (op == 4293607646) { - var msg = in_msg~$CanPayoutResponse$_load(); - self~$Payouts$_internal_binary_CanPayoutResponse(msg); - return (self, true); - } - - ;; Receive ChangeOwner message - if (op == 2174598809) { - var msg = in_msg~$ChangeOwner$_load(); - self~$Payouts$_internal_binary_ChangeOwner(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - if (slice_bits(in_msg) >= 32) { - self~$Payouts$_internal_any_text(in_msg.skip_bits(32)); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Payouts$_contract_load(); - - ;; Handle operation - int handled = self~$Payouts$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Payouts$_contract_store(self); -} diff --git a/examples/output/payouts_Payouts.code.fif b/examples/output/payouts_Payouts.code.fif deleted file mode 100644 index b22f3a7d0..000000000 --- a/examples/output/payouts_Payouts.code.fif +++ /dev/null @@ -1,768 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_create_address - DECLPROC __tact_compute_contract_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC __tact_slice_eq_bits - DECLPROC __tact_dict_set_code - DECLPROC __tact_dict_get_code - DECLPROC $ChangeOwner$_load - DECLPROC $ChangeOwnerOk$_store - DECLPROC $ChangeOwnerOk$_store_cell - DECLPROC $CanPayout$_store - DECLPROC $CanPayout$_store_cell - DECLPROC $CanPayoutResponse$_load - DECLPROC $Payouts$_store - DECLPROC $Payouts$_load - DECLPROC $StateInit$_not_null - DECLPROC $Beacon$init$_store - DECLPROC $Payouts$init$_load - DECLPROC $Payouts$_contract_init - DECLPROC $Payouts$_contract_load - DECLPROC $Payouts$_contract_store - DECLPROC $global_contractAddress - DECLPROC $global_send - DECLPROC $Builder$_fun_asSlice - DECLPROC $Builder$_fun_asCell - DECLPROC $Slice$_fun_fromBase64 - DECLPROC $String$_fun_fromBase64 - DECLPROC $Beacon$_init_child - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $Payouts$_fun_forward - DECLPROC $Payouts$_fun_reply - DECLPROC $Payouts$_fun_requireOwner - DECLPROC $Payouts$_fun_owner - DECLPROC $SendParameters$_constructor_to_value_mode_bounce_body - DECLPROC $CanPayout$_constructor_amount - DECLPROC $ChangeOwnerOk$_constructor_queryId_newOwner - DECLPROC $Payouts$_internal_any_text - DECLPROC $Payouts$_internal_binary_CanPayoutResponse - DECLPROC $Payouts$_internal_binary_ChangeOwner - 83229 DECLMETHOD %owner - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Payouts$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_create_address PROCINLINE:<{ - NEWC - 2 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - __tact_verify_address INLINECALLDICT - }> - __tact_compute_contract_address PROCINLINE:<{ - NEWC - 0 PUSHINT - SWAP - 2 STU - 3 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - __tact_create_address INLINECALLDICT - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_slice_eq_bits PROCINLINE:<{ - SDEQ - }> - __tact_dict_set_code PROCINLINE:<{ - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - }> - __tact_dict_get_code PROCINLINE:<{ - SWAP - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - }> - $ChangeOwner$_load PROCINLINE:<{ - 32 LDU - SWAP - 2174598809 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - __tact_load_address INLINECALLDICT - s1 s2 XCHG - }> - $ChangeOwnerOk$_store PROCINLINE:<{ - 846932810 PUSHINT - s0 s3 XCHG2 - 32 STU - 64 STU - SWAP - __tact_store_address INLINECALLDICT - }> - $ChangeOwnerOk$_store_cell PROCINLINE:<{ - NEWC - -ROT - $ChangeOwnerOk$_store INLINECALLDICT - ENDC - }> - $CanPayout$_store PROCINLINE:<{ - 3289991647 PUSHINT - ROT - 32 STU - 257 PUSHINT - STIX - }> - $CanPayout$_store_cell PROCINLINE:<{ - NEWC - SWAP - $CanPayout$_store INLINECALLDICT - ENDC - }> - $CanPayoutResponse$_load PROCINLINE:<{ - 32 LDU - SWAP - 4293607646 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - 3 -ROLL - }> - $Payouts$_store PROCINLINE:<{ - -ROT - __tact_store_address INLINECALLDICT - 257 PUSHINT - STIX - }> - $Payouts$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - SWAP - 257 PUSHINT - LDIX - -ROT - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $Beacon$init$_store PROCINLINE:<{ - -ROT - __tact_store_address INLINECALLDICT - SWAP - __tact_store_address INLINECALLDICT - }> - $Payouts$init$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - SWAP - 257 PUSHINT - LDIX - -ROT - }> - $Payouts$_contract_init PROCREF:<{ - }> - $Payouts$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Payouts$_load INLINECALLDICT - 1 2 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Payouts$init$_load INLINECALLDICT - s0 s2 XCHG - ENDS - SWAP - $Payouts$_contract_init INLINECALLDICT - }> - $Payouts$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - -ROT - $Payouts$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_contractAddress PROCINLINE:<{ - 0 PUSHINT - -ROT - __tact_compute_contract_address INLINECALLDICT - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $Builder$_fun_asSlice PROCINLINE:<{ - ENDC - CTOS - }> - $Builder$_fun_asCell PROCINLINE:<{ - ENDC - }> - $Slice$_fun_fromBase64 PROCREF:<{ - DUP - SBITS - 3 RSHIFT# - NEWC - SWAP - REPEAT:<{ - SWAP - 8 LDU - OVER - 64 GTINT - IF:<{ - OVER - 91 LESSINT - }>ELSE<{ - FALSE - }> - IF:<{ - SWAP - -65 ADDCONST - ROT - 6 STU - }>ELSE<{ - OVER - 96 GTINT - IF:<{ - OVER - 123 LESSINT - }>ELSE<{ - FALSE - }> - IF:<{ - SWAP - -71 ADDCONST - ROT - 6 STU - }>ELSE<{ - OVER - 47 GTINT - IF:<{ - OVER - 58 LESSINT - }>ELSE<{ - FALSE - }> - IF:<{ - SWAP - 4 ADDCONST - ROT - 6 STU - }>ELSE<{ - OVER - 45 EQINT - IF:<{ - TRUE - }>ELSE<{ - OVER - 43 EQINT - }> - IF:<{ - 62 PUSHINT - s2 POP - s0 s2 XCHG - 6 STU - }>ELSE<{ - OVER - 95 EQINT - IF:<{ - TRUE - }>ELSE<{ - OVER - 47 EQINT - }> - IF:<{ - 63 PUSHINT - s2 POP - s0 s2 XCHG - 6 STU - }>ELSE<{ - SWAP - 61 EQINT - IFNOT:<{ - 134 THROW - }> - SWAP - }> - }> - }> - }> - }> - }> - NIP - DUP - BBITS - DUP - 3 MODPOW2# - DUP - 0 NEQINT - IFJMP:<{ - s0 s2 XCHG - $Builder$_fun_asSlice INLINECALLDICT - s0 s2 XCHG - SUB - LDSLICEX - DROP - }> - 2DROP - $Builder$_fun_asSlice INLINECALLDICT - }> - $String$_fun_fromBase64 PROCINLINE:<{ - $Slice$_fun_fromBase64 INLINECALLDICT - }> - $Beacon$_init_child PROCREF:<{ - s0 s2 XCHG - CTOS - LDDICT - DROP - NEWDICT - SWAP - 41210 PUSHINT - __tact_dict_get_code INLINECALLDICT - SWAP - 41210 PUSHINT - s2 PUSH - __tact_dict_set_code INLINECALLDICT - NEWC - SWAP - NEWC - STDICT - ENDC - SWAP - STREF - FALSE - SWAP - 1 STI - s0 s0 s3 XCHG3 - $Beacon$init$_store INLINECALLDICT - ENDC - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $Payouts$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $Payouts$_fun_reply PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - TRUE - PUSHNULL - $Payouts$_fun_forward INLINECALLDICT - }> - $Payouts$_fun_requireOwner PROCREF:<{ - __tact_context_get_sender INLINECALLDICT - s2 s(-1) PUXC - __tact_slice_eq_bits INLINECALLDICT - 132 THROWIFNOT - }> - $Payouts$_fun_owner PROCREF:<{ - OVER - }> - $SendParameters$_constructor_to_value_mode_bounce_body PROCINLINE:<{ - s1 s4 XCHG - s3 s3 s0 XCHG3 - PUSHNULL - PUSHNULL - }> - $CanPayout$_constructor_amount PROCINLINE:<{ - }> - $ChangeOwnerOk$_constructor_queryId_newOwner PROCINLINE:<{ - }> - $Payouts$_internal_any_text PROCINLINE:<{ - __tact_context_get INLINECALLDICT - DROP - 16059 PUSHINT - s3 POP - 1000000000 PUSHINT - GEQ - s1 s2 XCHG - THROWANYIFNOT - SWAP - $String$_fun_fromBase64 INLINECALLDICT - LDGRAMS - 9 PUSHPOW2 - LDSLICEX - DROP - NEWC - s3 PUSH - __tact_store_address INLINECALLDICT - s2 PUSH - STGRAMS - $Builder$_fun_asCell INLINECALLDICT - HASHCU - 48401 PUSHINT - s2 s5 XCPU - CHKSIGNU - THROWANYIFNOT - __tact_context_sys GETGLOB - MYADDR - 3 ROLL - $Beacon$_init_child INLINECALLDICT - $global_contractAddress INLINECALLDICT - 0 PUSHINT - 66 PUSHINT - TRUE - s0 s4 XCHG - $CanPayout$_constructor_amount INLINECALLDICT - $CanPayout$_store_cell INLINECALLDICT - s3 s4 XCHG - s1 s3 s0 XCHG3 - $SendParameters$_constructor_to_value_mode_bounce_body INLINECALLDICT - $global_send INLINECALLDICT - }> - $Payouts$_internal_binary_CanPayoutResponse PROCINLINE:<{ - __tact_context_get INLINECALLDICT - DROP - s2 POP - __tact_context_sys GETGLOB - MYADDR - s5 PUSH - $Beacon$_init_child INLINECALLDICT - $global_contractAddress INLINECALLDICT - 4429 PUSHINT - s0 s2 XCHG - __tact_slice_eq_bits INLINECALLDICT - THROWANYIFNOT - SWAP - IF:<{ - 62972 PUSHINT - __tact_my_balance INLINECALLDICT - ROT - SUB - 1000000000 PUSHINT - SUB - s3 PUSH - SUB - 0 GTINT - THROWANYIFNOT - 66 PUSHINT - FALSE - B{b5ee9c7241010101000d00001600000000537563636573738a3a2a2a} B>boc PUSHREF - s3 s4 XCHG - $SendParameters$_constructor_to_value_mode_bounce_body INLINECALLDICT - $global_send INLINECALLDICT - }>ELSE<{ - DROP - NIP - 0 PUSHINT - 66 PUSHINT - FALSE - B{b5ee9c7241010101001200002000000000416c72656164792070616964feced6d9} B>boc PUSHREF - $SendParameters$_constructor_to_value_mode_bounce_body INLINECALLDICT - $global_send INLINECALLDICT - }> - }> - $Payouts$_internal_binary_ChangeOwner PROCINLINE:<{ - 2SWAP - $Payouts$_fun_requireOwner INLINECALLDICT - NIP - s2 s1 XCPU - $ChangeOwnerOk$_constructor_queryId_newOwner INLINECALLDICT - $ChangeOwnerOk$_store_cell INLINECALLDICT - s1 s2 XCHG - $Payouts$_fun_reply INLINECALLDICT - }> - %owner PROC:<{ - $Payouts$_contract_load INLINECALLDICT - $Payouts$_fun_owner INLINECALLDICT - 2 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 322875185039650075936310953974817993034 PUSHINT - 86142586315491086060343270784266291122 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d504c314247336b76753335396172576576637a45364561536a7756524b586476416764356234507a4b6b684e} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Payouts$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 4293607646 PUSHINT - EQUAL - IFJMP:<{ - DROP - $CanPayoutResponse$_load INLINECALLDICT - 1 3 BLKDROP2 - $Payouts$_internal_binary_CanPayoutResponse INLINECALLDICT - TRUE - }> - DUP - 2174598809 PUSHINT - EQUAL - IFJMP:<{ - DROP - $ChangeOwner$_load INLINECALLDICT - 1 2 BLKDROP2 - $Payouts$_internal_binary_ChangeOwner INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - DUP - SBITS - 31 GTINT - IFJMP:<{ - 32 PUSHINT - SDSKIPFIRST - $Payouts$_internal_any_text INLINECALLDICT - TRUE - RETALT - }> - DROP - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Payouts$_contract_load INLINECALLDICT - 2SWAP - $Payouts$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Payouts$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/payouts_Payouts.code.rev.fif b/examples/output/payouts_Payouts.code.rev.fif deleted file mode 100644 index 4af576b9f..000000000 --- a/examples/output/payouts_Payouts.code.rev.fif +++ /dev/null @@ -1,876 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC owner; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_1b0a58ac40eae895; - DECLPROC ?fun_ref_44086a5ce86162fe; - DECLPROC ?fun_ref_50a2a88ce95e1f87; - DECLPROC ?fun_ref_55b298e1f9cfa683; - DECLPROC ?fun_ref_7d7b7a07ccd0560c; - DECLPROC ?fun_ref_909922a714a696d2; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_e31d986f279fa0fb; - DECLPROC ?fun_ref_f0da61d556b8b726; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_50a2a88ce95e1f87 INLINECALLDICT - SWAP2 - ?fun_ref_55b298e1f9cfa683 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ROTREV - ROTREV - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - 257 PUSHINT - STIX - ENDC - c4 POP - }> - owner PROC:<{ - ?fun_ref_50a2a88ce95e1f87 INLINECALLDICT - ?fun_ref_44086a5ce86162fe INLINECALLDICT - 2 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 322875185039650075936310953974817993034 PUSHINT - 86142586315491086060343270784266291122 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D504C314247336B76753335396172576576637A45364561536A7756524B586476416764356234507A4B6B684E82_} PUSHSLICE - }> - ?fun_ref_1b0a58ac40eae895 PROCREF:<{ - 1 GETGLOBVAR - 4 UNTUPLE - s0 POP - 16059 PUSHINT - s3 POP - 1000000000 PUSHINT - GEQ - s1 s2 XCHG - THROWANYIFNOT - s0 s1 XCHG - ?fun_ref_7d7b7a07ccd0560c INLINECALLDICT - LDGRAMS - 9 PUSHPOW2 - LDSLICEX - s0 POP - NEWC - s3 PUSH - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s2 PUSH - STGRAMS - ENDC - HASHCU - 48401 PUSHINT - s2 s5 XCPU - CHKSIGNU - THROWANYIFNOT - 3 GETGLOBVAR - MYADDR - 1 3 BLKSWAP - ?fun_ref_f0da61d556b8b726 INLINECALLDICT - 0 PUSHINT - ROTREV - NEWC - 0 PUSHINT - s0 s1 XCHG - 2 STU - 3 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - 0 PUSHINT - 66 PUSHINT - -1 PUSHINT - s0 s4 XCHG - NEWC - s0 s1 XCHG - 3289991647 PUSHINT - ROT - 32 STU - 257 PUSHINT - STIX - ENDC - s3 s4 XCHG - s1 s3 s0 XCHG3 - s1 s4 XCHG - s3 s3 s0 XCHG3 - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_44086a5ce86162fe PROCREF:<{ - s1 PUSH - }> - ?fun_ref_50a2a88ce95e1f87 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 257 PUSHINT - LDIX - ROTREV - 1 2 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 257 PUSHINT - LDIX - ROTREV - s0 s2 XCHG - ENDS - s0 s1 XCHG - }> - ?fun_ref_55b298e1f9cfa683 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 4293607646 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 4293607646 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - 3 1 BLKSWAP - 1 3 BLKDROP2 - 1 GETGLOBVAR - 4 UNTUPLE - s0 POP - s2 POP - 3 GETGLOBVAR - MYADDR - s5 PUSH - ?fun_ref_f0da61d556b8b726 INLINECALLDICT - 0 PUSHINT - ROTREV - NEWC - 0 PUSHINT - s0 s1 XCHG - 2 STU - 3 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - 4429 PUSHINT - s0 s2 XCHG - SDEQ - THROWANYIFNOT - s0 s1 XCHG - <{ - 62972 PUSHINT - BALANCE - 0 INDEX - ROT - SUB - 1000000000 PUSHINT - SUB - s3 PUSH - SUB - 0 GTINT - THROWANYIFNOT - 66 PUSHINT - 0 PUSHINT - x{0000000053756363657373} PUSHREF - s3 s4 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> IFREFELSEREF - -1 PUSHINT - s0 POP - s1 POP - 0 PUSHINT - 66 PUSHINT - 0 PUSHINT - x{00000000416C72656164792070616964} PUSHREF - s1 s4 XCHG - s3 s3 s0 XCHG3 - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> PUSHCONT - IFJMP - s0 PUSH - 2174598809 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2174598809 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 s2 XCHG - 1 2 BLKDROP2 - SWAP2 - ?fun_ref_909922a714a696d2 INLINECALLDICT - s1 POP - s2 s1 XCPU - NEWC - ROTREV - 846932810 PUSHINT - s0 s3 XCHG2 - 32 STU - 64 STU - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - s1 s2 XCHG - 2 GETGLOBVAR - s0 s1 XCHG - -1 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> IFJMPREF - 0 EQINT - <{ - s0 POP - }> PUSHCONT - <{ - s0 PUSH - SBITS - 31 GTINT - <{ - 32 PUSHINT - SDSKIPFIRST - ?fun_ref_1b0a58ac40eae895 INLINECALLDICT - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - s0 POP - }> IFREFELSE - 0 PUSHINT - }> - ?fun_ref_7d7b7a07ccd0560c PROCREF:<{ - s0 PUSH - SBITS - 3 RSHIFT - NEWC - s0 s1 XCHG - <{ - s0 s1 XCHG - 8 LDU - s1 PUSH - 64 GTINT - <{ - s1 PUSH - 91 LESSINT - }> PUSHCONT - <{ - 0 PUSHINT - }> PUSHCONT - IFELSE - <{ - s0 s1 XCHG - -65 ADD - ROT - 6 STU - }> PUSHCONT - <{ - s1 PUSH - 96 GTINT - <{ - s1 PUSH - 123 LESSINT - }> PUSHCONT - <{ - 0 PUSHINT - }> PUSHCONT - IFELSE - <{ - s0 s1 XCHG - -71 ADD - ROT - 6 STU - }> PUSHCONT - <{ - s1 PUSH - 47 GTINT - <{ - s1 PUSH - 58 LESSINT - }> PUSHCONT - <{ - 0 PUSHINT - }> PUSHCONT - IFELSE - <{ - s0 s1 XCHG - 4 ADD - ROT - 6 STU - }> PUSHCONT - <{ - s1 PUSH - 45 EQINT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s1 PUSH - 43 EQINT - }> PUSHCONT - IFELSE - <{ - 62 PUSHINT - s2 POP - s0 s2 XCHG - 6 STU - }> PUSHCONT - <{ - s1 PUSH - 95 EQINT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s1 PUSH - 47 EQINT - }> PUSHCONT - IFELSE - <{ - 63 PUSHINT - s2 POP - s0 s2 XCHG - 6 STU - }> PUSHCONT - <{ - s0 s1 XCHG - 61 EQINT - <{ - 134 THROW - }> PUSHCONT - IFNOT - s0 s1 XCHG - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> PUSHCONT - REPEAT - s1 POP - s0 PUSH - BBITS - s0 PUSH - false 1 true 2 0 DIV - s0 s2 XCHG - s0 PUSH - 0 NEQINT - <{ - s0 s2 XCHG - ENDC - CTOS - s0 s2 XCHG - SUB - LDSLICEX - s0 POP - }> PUSHCONT - IFJMP - DROP2 - ENDC - CTOS - }> - ?fun_ref_909922a714a696d2 PROCREF:<{ - 2 GETGLOBVAR - s2 s1 PUXC - SDEQ - 132 THROWIFNOT - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_f0da61d556b8b726 PROCREF:<{ - s0 s2 XCHG - CTOS - LDDICT - s0 POP - NULL - s0 s1 XCHG - 41210 PUSHINT - s0 s1 XCHG - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - s0 s1 XCHG - 41210 PUSHINT - s2 PUSH - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - NEWC - s0 s1 XCHG - NEWC - STDICT - ENDC - s0 s1 XCHG - STREF - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s0 s3 XCHG3 - ROTREV - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - }> -}END>c \ No newline at end of file diff --git a/examples/output/payouts_Payouts.constants.fc b/examples/output/payouts_Payouts.constants.fc deleted file mode 100644 index 228b1c379..000000000 --- a/examples/output/payouts_Payouts.constants.fc +++ /dev/null @@ -1,5 +0,0 @@ -;; Comment "Success" -cell __gen_cell_comment_37e90db9d1f7725dc0128ee6bad2035fb50479e09a488a29257bed01a23050a0() asm "B{b5ee9c7241010101000d00001600000000537563636573738a3a2a2a} B>boc PUSHREF"; - -;; Comment "Already paid" -cell __gen_cell_comment_51a60a895442bd331fe75161305b2afbe04d33f1cd6cf8a1649e028f992eb33c() asm "B{b5ee9c7241010101001200002000000000416c72656164792070616964feced6d9} B>boc PUSHREF"; \ No newline at end of file diff --git a/examples/output/payouts_Payouts.headers.fc b/examples/output/payouts_Payouts.headers.fc deleted file mode 100644 index ce6772c15..000000000 --- a/examples/output/payouts_Payouts.headers.fc +++ /dev/null @@ -1,130 +0,0 @@ -;; -;; Header files for Payouts -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_create_address -slice __tact_create_address(int chain, int hash) inline; - -;; __tact_compute_contract_address -slice __tact_compute_contract_address(int chain, cell code, cell data) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_slice_eq_bits -int __tact_slice_eq_bits(slice a, slice b) inline; - -;; __tact_dict_set_code -cell __tact_dict_set_code(cell dict, int id, cell code) inline; - -;; __tact_dict_get_code -cell __tact_dict_get_code(cell dict, int id) inline; - -;; $ChangeOwner$_load -(slice, ((int, slice))) $ChangeOwner$_load(slice sc_0) inline; - -;; $ChangeOwnerOk$_store -builder $ChangeOwnerOk$_store(builder build_0, (int, slice) v) inline; - -;; $ChangeOwnerOk$_store_cell -cell $ChangeOwnerOk$_store_cell((int, slice) v) inline; - -;; $CanPayout$_store -builder $CanPayout$_store(builder build_0, (int) v) inline; - -;; $CanPayout$_store_cell -cell $CanPayout$_store_cell((int) v) inline; - -;; $CanPayoutResponse$_load -(slice, ((int, slice, int))) $CanPayoutResponse$_load(slice sc_0) inline; - -;; $Payouts$_store -builder $Payouts$_store(builder build_0, (slice, int) v) inline; - -;; $Payouts$_load -(slice, ((slice, int))) $Payouts$_load(slice sc_0) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $Beacon$init$_store -builder $Beacon$init$_store(builder build_0, (slice, slice) v) inline; - -;; $Payouts$init$_load -(slice, ((slice, int))) $Payouts$init$_load(slice sc_0) inline; - -;; $Payouts$_contract_init -(slice, int) $Payouts$_contract_init(slice $owner, int $publicKey) impure inline_ref; - -;; $Payouts$_contract_load -(slice, int) $Payouts$_contract_load() impure inline_ref; - -;; $Payouts$_contract_store -() $Payouts$_contract_store((slice, int) v) impure inline; - -;; $global_contractAddress -slice $global_contractAddress((cell, cell) $s) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $Builder$_fun_asSlice -slice $Builder$_fun_asSlice(builder $self) impure inline; - -;; $Builder$_fun_asCell -cell $Builder$_fun_asCell(builder $self) impure inline; - -;; $Slice$_fun_fromBase64 -slice $Slice$_fun_fromBase64(slice $self) impure inline_ref; - -;; $String$_fun_fromBase64 -slice $String$_fun_fromBase64(slice $self) impure inline; - -;; $Beacon$_init_child -(cell, cell) $Beacon$_init_child(cell sys', slice $master, slice $owner) inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $Payouts$_fun_forward -((slice, int), ()) $Payouts$_fun_forward((slice, int) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $Payouts$_fun_reply -((slice, int), ()) $Payouts$_fun_reply((slice, int) $self, cell $body) impure inline; - -;; $Payouts$_fun_requireOwner -((slice, int), ()) $Payouts$_fun_requireOwner((slice, int) $self) impure inline_ref; - -;; $Payouts$_fun_owner -((slice, int), slice) $Payouts$_fun_owner((slice, int) $self) impure inline_ref; - -;; $SendParameters$_constructor_to_value_mode_bounce_body -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_mode_bounce_body(slice to, int value, int mode, int bounce, cell body) inline; - -;; $CanPayout$_constructor_amount -((int)) $CanPayout$_constructor_amount(int amount) inline; - -;; $ChangeOwnerOk$_constructor_queryId_newOwner -((int, slice)) $ChangeOwnerOk$_constructor_queryId_newOwner(int queryId, slice newOwner) inline; diff --git a/examples/output/payouts_Payouts.md b/examples/output/payouts_Payouts.md deleted file mode 100644 index 6f932a9b2..000000000 --- a/examples/output/payouts_Payouts.md +++ /dev/null @@ -1,69 +0,0 @@ -# TACT Compilation Report -Contract: Payouts -BOC Size: 1575 bytes - -# Types -Total Types: 7 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## ChangeOwner -TLB: `change_owner#819dbe99 queryId:uint64 newOwner:address = ChangeOwner` -Signature: `ChangeOwner{queryId:uint64,newOwner:address}` - -## ChangeOwnerOk -TLB: `change_owner_ok#327b2b4a queryId:uint64 newOwner:address = ChangeOwnerOk` -Signature: `ChangeOwnerOk{queryId:uint64,newOwner:address}` - -## CanPayout -TLB: `can_payout#c41949df amount:int257 = CanPayout` -Signature: `CanPayout{amount:int257}` - -## CanPayoutResponse -TLB: `can_payout_response#ffeb40de amount:int257 address:address ok:bool = CanPayoutResponse` -Signature: `CanPayoutResponse{amount:int257,address:address,ok:bool}` - -# Get Methods -Total Get Methods: 1 - -## owner - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -4429: Invalid sender -16059: Invalid value -48401: Invalid signature -62972: Invalid balance \ No newline at end of file diff --git a/examples/output/payouts_Payouts.pkg b/examples/output/payouts_Payouts.pkg deleted file mode 100644 index 36fd1e62a..000000000 --- a/examples/output/payouts_Payouts.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Payouts","code":"te6ccgECHQEABhsAART/APSkE/S88sgLAQIBYgIDAtrQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxa2zzy4ILI+EMBzH8BygBZWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFoEBAc8Aye1UFwQCASAVFgPW7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEP/rQN66jrkw0x8BghD/60DeuvLggYEBAdcA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAFUgbBPgIIIQgZ2+mbrjAsAAkTDjDXAFBgcDtPhBbyQwMvhD+Cgl2zxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiIERTQLHBfL0AeMPfxAICQLeMNMfAYIQgZ2+mbry4IHTP/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSbBJa2zwxUSHIWYIQMnsrSlADyx/LPwEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJEvhCAX9t2zx/DA0BJCDXScIfjomAINch2zx/2zHgMA4CSIIA9fz4J28QWKGCEDuaygChI6HCAPL0gEJwiBA0FEMwbW3bPAoTAhwwMXCAQnCIFEMwbW3bPAsTABYAAAAAU3VjY2VzcwAgAAAAAEFscmVhZHkgcGFpZAAS+EJSIMcF8uCEATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPBMDqvhBbyQwgT67M4IQO5rKAL4S8vQB2zz6AIMI1xgwyCMg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYi+gLJ+QCCAL0RUSX5EPL0+EP4KFUC2zwPEBEB9iDXSasCyAGObwHTByHCQJMhwVuRcOKWAaa/WMsFjlghwmCTIcF7kXDilgGmuVjLBY5EIcIvkyHBOpFw4pYBpgRYywWOMCHALZF/kyHAK+KWgD4yAssFjhwhwF+Rf5MhwC/iloA/MgLLBZkBwD2T8sCG3wHi4uLi4uQxIBIA2gLQ9AQwbQGCAKD6AYAQ9A9vofLghwGCAKD6IgKAEPQXyAHI9ADJAcxwAcoAQANZINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFskBxHBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIcIBCfwTIAYIQxBlJ31jLH4EBAc8AyRA0QTAUQzBtbds8EwAszzEgqTgCIMMAmALJ0AKh1xgw4FvJ0AHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAUAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAhG+KO7Z5tnjYQwXGAIBIBkaANLtRNDUAfhj0gABjij6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAYEBAdcAWWwS4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAGBAQHXAFkC0QEAAiEA3bu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSCcPLnf6vmhegs5FqtCrsFsUqCcEDOdWnnFfnSULAdYW4mR7KAIBSBscABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVBMMUJHM2t2dTM1OWFyV2V2Y3pFNkVhU2p3VlJLWGR2QWdkNWI0UHpLa2hOgg","abi":"{\"name\":\"Payouts\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"ChangeOwner\",\"header\":2174598809,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"ChangeOwnerOk\",\"header\":846932810,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"CanPayout\",\"header\":3289991647,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"CanPayoutResponse\",\"header\":4293607646,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"address\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"ok\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"CanPayoutResponse\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"ChangeOwner\"}}],\"getters\":[{\"name\":\"owner\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"4429\":{\"message\":\"Invalid sender\"},\"16059\":{\"message\":\"Invalid value\"},\"48401\":{\"message\":\"Invalid signature\"},\"62972\":{\"message\":\"Invalid balance\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\",\"org.ton.ownable.transferable.v2\",\"org.ton.ownable\"]}","init":{"kind":"direct","args":[{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"publicKey","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECMQEACRoAAQHAAQIBIBMCAQW9B9QDART/APSkE/S88sgLBAIBYgsFAgEgCgYCASAJBwIBSBoIAHWybuNDVpcGZzOi8vUW1aTEhDbkZvWFpRTTFBNmU0dnpmaFA5c0JvUUNyY0JTUm5FQnlOZVg4cnVIboIAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJwQM51aecV+dJQsB1hbiZHsoAhG+KO7Z5tnjYYwQHQN60AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRLbPPLgghANDACcyPhDAcx/AcoAVSBaINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WWCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsoAye1UAUQBl4Ag1yFbcH/gcCHXScIflTAg1wsf3oIQxBlJ37rjAjBwDgLo0x8BghDEGUnfuvLggYEBAdcAATH4QW8kECNfAySBEU0CxwXy9IIQBfXhAHD7AiGOwHBRE1jIVSCCEP/rQN5QBMsfEoEBAc8AASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsoAyfhCAX9t2zzjDX8mDwGEMX9/WCNYyFUgghD/60DeUATLHxKBAQHPAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbKAMn4QgF/bds8JgG87UTQ1AH4Y9IAAY5G+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAVSBsE+D4KNcLCoMJuvLgiREBivpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBIC0QHbPBIAAnABBb+LxBQBFP8A9KQT9LzyyAsVAgFiHhYCASAcFwIBIBsYAgFIGhkAdbJu40NWlwZnM6Ly9RbVBMMUJHM2t2dTM1OWFyV2V2Y3pFNkVhU2p3VlJLWGR2QWdkNWI0UHpLa2hOggABGwr7tRNDSAAGAA3bu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSCcPLnf6vmhegs5FqtCrsFsUqCcEDOdWnnFfnSULAdYW4mR7KAIRviju2ebZ42EMMB0AAiEC2tAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFrbPPLggsj4QwHMfwHKAFlZINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WgQEBzwDJ7VQwHwPW7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEP/rQN66jrkw0x8BghD/60DeuvLggYEBAdcA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAFUgbBPgIIIQgZ2+mbrjAsAAkTDjDXAoJSABJCDXScIfjomAINch2zx/2zHgMCEDqvhBbyQwgT67M4IQO5rKAL4S8vQB2zz6AIMI1xgwyCMg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYi+gLJ+QCCAL0RUSX5EPL0+EP4KFUC2zwjLyIBxHBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIcIBCfwTIAYIQxBlJ31jLH4EBAc8AyRA0QTAUQzBtbds8LAH2INdJqwLIAY5vAdMHIcJAkyHBW5Fw4pYBpr9YywWOWCHCYJMhwXuRcOKWAaa5WMsFjkQhwi+TIcE6kXDilgGmBFjLBY4wIcAtkX+TIcAr4paAPjICywWOHCHAX5F/kyHAL+KWgD8yAssFmQHAPZPywIbfAeLi4uLi5DEgJAAszzEgqTgCIMMAmALJ0AKh1xgw4FvJ0ALeMNMfAYIQgZ2+mbry4IHTP/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSbBJa2zwxUSHIWYIQMnsrSlADyx/LPwEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJEvhCAX9t2zx/JyYBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8LAAS+EJSIMcF8uCEA7T4QW8kMDL4Q/goJds8cFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IiBEU0CxwXy9AHjD38vKykCHDAxcIBCcIgUQzBtbds8KiwAIAAAAABBbHJlYWR5IHBhaWQCSIIA9fz4J28QWKGCEDuaygChI6HCAPL0gEJwiBA0FEMwbW3bPC4sAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AC0AmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAFgAAAABTdWNjZXNzANoC0PQEMG0BggCg+gGAEPQPb6Hy4IcBggCg+iICgBD0F8gByPQAyQHMcAHKAEADWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJANLtRNDUAfhj0gABjij6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAYEBAdcAWWwS4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAGBAQHXAFkC0QEIONig"}},"sources":{"examples\\payouts.tact":"aW1wb3J0ICJAc3RkbGliL293bmFibGUiOw0KDQptZXNzYWdlIENhblBheW91dCB7DQogICAgYW1vdW50OiBJbnQ7DQp9DQoNCm1lc3NhZ2UgQ2FuUGF5b3V0UmVzcG9uc2Ugew0KICAgIGFtb3VudDogSW50Ow0KICAgIGFkZHJlc3M6IEFkZHJlc3M7DQogICAgb2s6IEJvb2w7DQp9DQoNCmNvbnRyYWN0IEJlYWNvbiB3aXRoIE93bmFibGUgew0KDQogICAgbWFzdGVyOiBBZGRyZXNzOw0KICAgIG93bmVyOiBBZGRyZXNzOw0KICAgIGNvbXBsZXRlZDogQm9vbDsNCg0KICAgIGluaXQobWFzdGVyOiBBZGRyZXNzLCBvd25lcjogQWRkcmVzcykgew0KICAgICAgICBzZWxmLm1hc3RlciA9IG1hc3RlcjsNCiAgICAgICAgc2VsZi5vd25lciA9IG93bmVyOw0KICAgICAgICBzZWxmLmNvbXBsZXRlZCA9IGZhbHNlOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBDYW5QYXlvdXQpIHsNCg0KICAgICAgICAvLyBDaGVjayBjb250ZXh0DQogICAgICAgIGxldCBjdHg6IENvbnRleHQgPSBjb250ZXh0KCk7DQogICAgICAgIHJlcXVpcmUoY3R4LnNlbmRlciA9PSBzZWxmLm1hc3RlciwgIkludmFsaWQgc2VuZGVyIik7DQoNCiAgICAgICAgLy8gUmVzZXJ2ZSBmdW5kcw0KICAgICAgICBuYXRpdmVSZXNlcnZlKHRvbigiMC4xIiksIDApOw0KDQogICAgICAgIC8vIFNlbmQgcmVzcG9uc2UNCiAgICAgICAgaWYgKHNlbGYuY29tcGxldGVkKSB7DQogICAgICAgICAgICBzZWxmLmNvbXBsZXRlZCA9IHRydWU7ICAgIA0KICAgICAgICAgICAgc2VsZi5yZXBseShDYW5QYXlvdXRSZXNwb25zZXtvazogdHJ1ZSwgYW1vdW50OiBtc2cuYW1vdW50LCBhZGRyZXNzOiBzZWxmLm93bmVyfS50b0NlbGwoKSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBzZWxmLnJlcGx5KENhblBheW91dFJlc3BvbnNle29rOiBmYWxzZSwgYW1vdW50OiBtc2cuYW1vdW50LCBhZGRyZXNzOiBzZWxmLm93bmVyfS50b0NlbGwoKSk7DQogICAgICAgIH0gICAgICAgIA0KICAgIH0NCg0KICAgIGJvdW5jZWQobXNnOiBTbGljZSkgew0KICAgICAgICAvLyBSZXNldCBjb21wbGV0ZWQgZmxhZyBpcyBvdXIgbWVzc2FnZSBib3VuY2VkDQogICAgICAgIHNlbGYuY29tcGxldGVkID0gZmFsc2U7DQogICAgfQ0KfQ0KDQpjb250cmFjdCBQYXlvdXRzIHdpdGggT3duYWJsZVRyYW5zZmVyYWJsZSB7DQogICAgb3duZXI6IEFkZHJlc3M7DQogICAgcHVibGljS2V5OiBJbnQ7DQoNCiAgICBpbml0KG93bmVyOiBBZGRyZXNzLCBwdWJsaWNLZXk6IEludCkgew0KICAgICAgICBzZWxmLm93bmVyID0gb3duZXI7DQogICAgICAgIHNlbGYucHVibGljS2V5ID0gcHVibGljS2V5Ow0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBTdHJpbmcpIHsNCg0KICAgICAgICAvLyBDaGVjayBjb250ZXh0DQogICAgICAgIGxldCBjdHg6IENvbnRleHQgPSBjb250ZXh0KCk7DQogICAgICAgIHJlcXVpcmUoY3R4LnZhbHVlID49IHRvbigiMSIpLCAiSW52YWxpZCB2YWx1ZSIpOw0KDQogICAgICAgIC8vIFBhcnNlIG1lc3NhZ2UNCiAgICAgICAgbGV0IGRhdGE6IFNsaWNlID0gbXNnLmZyb21CYXNlNjQoKTsNCiAgICAgICAgbGV0IGFtb3VudDogSW50ID0gZGF0YS5sb2FkQ29pbnMoKTsNCiAgICAgICAgbGV0IHNpZ25hdHVyZTogU2xpY2UgPSBkYXRhLmxvYWRCaXRzKDUxMik7DQogICAgICAgIA0KICAgICAgICAvLyBWZXJpZnkgc2lnbmF0dXJlDQogICAgICAgIGxldCBkYXRhVG9TaWduOiBCdWlsZGVyID0gYmVnaW5DZWxsKCk7DQogICAgICAgIGRhdGFUb1NpZ24gPSBkYXRhVG9TaWduLnN0b3JlQWRkcmVzcyhjdHguc2VuZGVyKTsNCiAgICAgICAgZGF0YVRvU2lnbiA9IGRhdGFUb1NpZ24uc3RvcmVDb2lucyhhbW91bnQpOw0KICAgICAgICBsZXQgaGFzaDogSW50ID0gZGF0YVRvU2lnbi5hc0NlbGwoKS5oYXNoKCk7DQogICAgICAgIHJlcXVpcmUoY2hlY2tTaWduYXR1cmUoaGFzaCwgc2lnbmF0dXJlLCBzZWxmLnB1YmxpY0tleSksICJJbnZhbGlkIHNpZ25hdHVyZSIpOw0KDQogICAgICAgIC8vIFJlcXVlc3QgZnVuZHMgdHJhbnNmZXINCiAgICAgICAgbGV0IGluaXQ6IFN0YXRlSW5pdCA9IGluaXRPZiBCZWFjb24obXlBZGRyZXNzKCksIGN0eC5zZW5kZXIpOw0KICAgICAgICBsZXQgYWRkcmVzczogQWRkcmVzcyA9IGNvbnRyYWN0QWRkcmVzcyhpbml0KTsNCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgIHRvOiBhZGRyZXNzLCANCiAgICAgICAgICAgIHZhbHVlOiAwLCANCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSArIFNlbmRJZ25vcmVFcnJvcnMsIA0KICAgICAgICAgICAgYm91bmNlOiB0cnVlLCANCiAgICAgICAgICAgIGJvZHk6IENhblBheW91dHthbW91bnQ6IGFtb3VudH0udG9DZWxsKCkNCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgcmVjZWl2ZShtc2c6IENhblBheW91dFJlc3BvbnNlKSB7DQoNCiAgICAgICAgLy8gQ2hlY2sgY29udGV4dA0KICAgICAgICBsZXQgY3R4OiBDb250ZXh0ID0gY29udGV4dCgpOw0KICAgICAgICBsZXQgaW5pdDogU3RhdGVJbml0ID0gaW5pdE9mIEJlYWNvbihteUFkZHJlc3MoKSwgbXNnLmFkZHJlc3MpOw0KICAgICAgICBsZXQgYWRkcmVzczogQWRkcmVzcyA9IGNvbnRyYWN0QWRkcmVzcyhpbml0KTsNCiAgICAgICAgcmVxdWlyZShjdHguc2VuZGVyID09IGFkZHJlc3MsICJJbnZhbGlkIHNlbmRlciIpOw0KDQogICAgICAgIGlmIChtc2cub2spIHsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB3ZSBoYXZlIGVub3VnaCBmdW5kcw0KICAgICAgICAgICAgcmVxdWlyZShteUJhbGFuY2UoKSAtIGN0eC52YWx1ZSAtIHRvbigiMSIpIC0gbXNnLmFtb3VudCA+IDAsICJJbnZhbGlkIGJhbGFuY2UiKTsNCg0KICAgICAgICAgICAgLy8gU2VuZCByZXNwb25zZQ0KICAgICAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgICAgICB0bzogbXNnLmFkZHJlc3MsIA0KICAgICAgICAgICAgICAgIHZhbHVlOiBtc2cuYW1vdW50LCANCiAgICAgICAgICAgICAgICBtb2RlOiBTZW5kUmVtYWluaW5nVmFsdWUgKyBTZW5kSWdub3JlRXJyb3JzLCANCiAgICAgICAgICAgICAgICBib3VuY2U6IGZhbHNlLCANCiAgICAgICAgICAgICAgICBib2R5OiAiU3VjY2VzcyIuYXNDb21tZW50KCkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgICAgICB0bzogbXNnLmFkZHJlc3MsIA0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLCANCiAgICAgICAgICAgICAgICBtb2RlOiBTZW5kUmVtYWluaW5nVmFsdWUgKyBTZW5kSWdub3JlRXJyb3JzLCANCiAgICAgICAgICAgICAgICBib3VuY2U6IGZhbHNlLCANCiAgICAgICAgICAgICAgICBib2R5OiAiQWxyZWFkeSBwYWlkIi5hc0NvbW1lbnQoKQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQp9"},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/payouts.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/payouts_Payouts.stdlib.fc b/examples/output/payouts_Payouts.stdlib.fc deleted file mode 100644 index d927e0b91..000000000 --- a/examples/output/payouts_Payouts.stdlib.fc +++ /dev/null @@ -1,202 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -slice __tact_create_address(int chain, int hash) inline { - var b = begin_cell(); - b = b.store_uint(2, 2); - b = b.store_uint(0, 1); - b = b.store_int(chain, 8); - b = b.store_uint(hash, 256); - var addr = b.end_cell().begin_parse(); - return __tact_verify_address(addr); -} - -slice __tact_compute_contract_address(int chain, cell code, cell data) inline { - var b = begin_cell(); - b = b.store_uint(0, 2); - b = b.store_uint(3, 2); - b = b.store_uint(0, 1); - b = b.store_ref(code); - b = b.store_ref(data); - var hash = cell_hash(b.end_cell()); - return __tact_create_address(chain, hash); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -int __tact_slice_eq_bits(slice a, slice b) inline { - return equal_slice_bits(a, b); -} - -cell __tact_dict_set_code(cell dict, int id, cell code) inline { - return udict_set_ref(dict, 16, id, code); -} - -cell __tact_dict_get_code(cell dict, int id) inline { - var (data, ok) = udict_get_ref?(dict, 16, id); - throw_unless(135, ok); - return data; -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -slice $global_contractAddress((cell, cell) $s) impure inline { - var (($s'code, $s'data)) = $s; - return __tact_compute_contract_address(0, $s'code, $s'data); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -slice $Builder$_fun_asSlice(builder $self) impure inline { - var ($self) = $self; - return begin_parse(end_cell($self)); -} - -cell $Builder$_fun_asCell(builder $self) impure inline { - var ($self) = $self; - return end_cell($self); -} - -slice $Slice$_fun_fromBase64(slice $self) impure inline_ref { - var ($self) = $self; - int $size = (slice_bits($self) / 8); - builder $result = begin_cell(); - repeat ($size) { - int $code = $self~load_uint(8); - if (( (($code >= 65)) ? (($code <= 90)) : (false) )) { - $result = store_uint($result, ($code - 65), 6); - } elseif (( (($code >= 97)) ? (($code <= 122)) : (false) )) { - $result = store_uint($result, ($code - (97 - 26)), 6); - } elseif (( (($code >= 48)) ? (($code <= 57)) : (false) )) { - $result = store_uint($result, ($code + (52 - 48)), 6); - } elseif (( (($code == 45)) ? (true) : (($code == 43)) )) { - $result = store_uint($result, 62, 6); - } elseif (( (($code == 95)) ? (true) : (($code == 47)) )) { - $result = store_uint($result, 63, 6); - } elseif (($code == 61)) { - } else { - throw(134); - } - } - int $total = builder_bits($result); - int $padding = ($total % 8); - if (($padding != 0)) { - slice $s = $Builder$_fun_asSlice($result); - return $s~load_bits(($total - $padding)); - } else { - return $Builder$_fun_asSlice($result); - } -} - -slice $String$_fun_fromBase64(slice $self) impure inline { - var ($self) = $self; - return $Slice$_fun_fromBase64(__tact_str_to_slice($self)); -} - -((slice, int), ()) $Payouts$_fun_forward((slice, int) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var (($self'owner, $self'publicKey)) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return (($self'owner, $self'publicKey), ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return (($self'owner, $self'publicKey), ()); -} - -((slice, int), ()) $Payouts$_fun_reply((slice, int) $self, cell $body) impure inline { - var (($self'owner, $self'publicKey)) = $self; - ($self'owner, $self'publicKey)~$Payouts$_fun_forward(__tact_context_get_sender(), $body, true, null()); - return (($self'owner, $self'publicKey), ()); -} \ No newline at end of file diff --git a/examples/output/payouts_Payouts.storage.fc b/examples/output/payouts_Payouts.storage.fc deleted file mode 100644 index c206ff044..000000000 --- a/examples/output/payouts_Payouts.storage.fc +++ /dev/null @@ -1,167 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_mode_bounce_body(slice to, int value, int mode, int bounce, cell body) inline { - return (bounce, to, value, mode, body, null(), null()); -} - -;; -;; Type: ChangeOwner -;; Header: 0x819dbe99 -;; TLB: change_owner#819dbe99 queryId:uint64 newOwner:address = ChangeOwner -;; - -(slice, ((int, slice))) $ChangeOwner$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2174598809); - var v'queryId = sc_0~load_uint(64); - var v'newOwner = sc_0~__tact_load_address(); - return (sc_0, (v'queryId, v'newOwner)); -} - -;; -;; Type: ChangeOwnerOk -;; Header: 0x327b2b4a -;; TLB: change_owner_ok#327b2b4a queryId:uint64 newOwner:address = ChangeOwnerOk -;; - -builder $ChangeOwnerOk$_store(builder build_0, (int, slice) v) inline { - var (v'queryId, v'newOwner) = v; - build_0 = store_uint(build_0, 846932810, 32); - build_0 = build_0.store_uint(v'queryId, 64); - build_0 = __tact_store_address(build_0, v'newOwner); - return build_0; -} - -cell $ChangeOwnerOk$_store_cell((int, slice) v) inline { - return $ChangeOwnerOk$_store(begin_cell(), v).end_cell(); -} - -((int, slice)) $ChangeOwnerOk$_constructor_queryId_newOwner(int queryId, slice newOwner) inline { - return (queryId, newOwner); -} - -;; -;; Type: CanPayout -;; Header: 0xc41949df -;; TLB: can_payout#c41949df amount:int257 = CanPayout -;; - -builder $CanPayout$_store(builder build_0, (int) v) inline { - var (v'amount) = v; - build_0 = store_uint(build_0, 3289991647, 32); - build_0 = build_0.store_int(v'amount, 257); - return build_0; -} - -cell $CanPayout$_store_cell((int) v) inline { - return $CanPayout$_store(begin_cell(), v).end_cell(); -} - -((int)) $CanPayout$_constructor_amount(int amount) inline { - return (amount); -} - -;; -;; Type: CanPayoutResponse -;; Header: 0xffeb40de -;; TLB: can_payout_response#ffeb40de amount:int257 address:address ok:bool = CanPayoutResponse -;; - -(slice, ((int, slice, int))) $CanPayoutResponse$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 4293607646); - var v'amount = sc_0~load_int(257); - var v'address = sc_0~__tact_load_address(); - var v'ok = sc_0~load_int(1); - return (sc_0, (v'amount, v'address, v'ok)); -} - -;; -;; Type: Beacon -;; - -builder $Beacon$init$_store(builder build_0, (slice, slice) v) inline { - var (v'master, v'owner) = v; - build_0 = __tact_store_address(build_0, v'master); - build_0 = __tact_store_address(build_0, v'owner); - return build_0; -} - -(cell, cell) $Beacon$_init_child(cell sys', slice $master, slice $owner) inline_ref { - slice sc' = sys'.begin_parse(); - cell source = sc'~load_dict(); - cell contracts = new_dict(); - - ;; Contract Code: Beacon - cell mine = __tact_dict_get_code(source, 41210); - contracts = __tact_dict_set_code(contracts, 41210, mine); - - ;; Build cell - builder b = begin_cell(); - b = b.store_ref(begin_cell().store_dict(contracts).end_cell()); - b = b.store_int(false, 1); - b = $Beacon$init$_store(b, ($master, $owner)); - return (mine, b.end_cell()); -} - -;; -;; Type: Payouts -;; - -builder $Payouts$_store(builder build_0, (slice, int) v) inline { - var (v'owner, v'publicKey) = v; - build_0 = __tact_store_address(build_0, v'owner); - build_0 = build_0.store_int(v'publicKey, 257); - return build_0; -} - -(slice, ((slice, int))) $Payouts$_load(slice sc_0) inline { - var v'owner = sc_0~__tact_load_address(); - var v'publicKey = sc_0~load_int(257); - return (sc_0, (v'owner, v'publicKey)); -} - -(slice, ((slice, int))) $Payouts$init$_load(slice sc_0) inline { - var v'owner = sc_0~__tact_load_address(); - var v'publicKey = sc_0~load_int(257); - return (sc_0, (v'owner, v'publicKey)); -} - -(slice, int) $Payouts$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$Payouts$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (slice owner, int publicKey) = $sc~$Payouts$init$_load(); - $sc.end_parse(); - return $Payouts$_contract_init(owner, publicKey); - } -} - -() $Payouts$_contract_store((slice, int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $Payouts$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/payouts_Payouts.ts b/examples/output/payouts_Payouts.ts deleted file mode 100644 index 3e2706ea0..000000000 --- a/examples/output/payouts_Payouts.ts +++ /dev/null @@ -1,512 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwner = { - $$type: 'ChangeOwner'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwner(src: ChangeOwner) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2174598809, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwner(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2174598809) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwner(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwner(source: ChangeOwner) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwner(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwner(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwner(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwnerOk = { - $$type: 'ChangeOwnerOk'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwnerOk(src: ChangeOwnerOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(846932810, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwnerOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 846932810) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwnerOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwnerOk(source: ChangeOwnerOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwnerOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwnerOk(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwnerOk(src.loadRef().beginParse()); - } - } -} - -export type CanPayout = { - $$type: 'CanPayout'; - amount: bigint; -} - -export function storeCanPayout(src: CanPayout) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3289991647, 32); - b_0.storeInt(src.amount, 257); - }; -} - -export function loadCanPayout(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3289991647) { throw Error('Invalid prefix'); } - let _amount = sc_0.loadIntBig(257); - return { $$type: 'CanPayout' as const, amount: _amount }; -} - -function loadTupleCanPayout(source: TupleReader) { - let _amount = source.readBigNumber(); - return { $$type: 'CanPayout' as const, amount: _amount }; -} - -function storeTupleCanPayout(source: CanPayout) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - return builder.build(); -} - -function dictValueParserCanPayout(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeCanPayout(src)).endCell()); - }, - parse: (src) => { - return loadCanPayout(src.loadRef().beginParse()); - } - } -} - -export type CanPayoutResponse = { - $$type: 'CanPayoutResponse'; - amount: bigint; - address: Address; - ok: boolean; -} - -export function storeCanPayoutResponse(src: CanPayoutResponse) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(4293607646, 32); - b_0.storeInt(src.amount, 257); - b_0.storeAddress(src.address); - b_0.storeBit(src.ok); - }; -} - -export function loadCanPayoutResponse(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 4293607646) { throw Error('Invalid prefix'); } - let _amount = sc_0.loadIntBig(257); - let _address = sc_0.loadAddress(); - let _ok = sc_0.loadBit(); - return { $$type: 'CanPayoutResponse' as const, amount: _amount, address: _address, ok: _ok }; -} - -function loadTupleCanPayoutResponse(source: TupleReader) { - let _amount = source.readBigNumber(); - let _address = source.readAddress(); - let _ok = source.readBoolean(); - return { $$type: 'CanPayoutResponse' as const, amount: _amount, address: _address, ok: _ok }; -} - -function storeTupleCanPayoutResponse(source: CanPayoutResponse) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - builder.writeAddress(source.address); - builder.writeBoolean(source.ok); - return builder.build(); -} - -function dictValueParserCanPayoutResponse(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeCanPayoutResponse(src)).endCell()); - }, - parse: (src) => { - return loadCanPayoutResponse(src.loadRef().beginParse()); - } - } -} - - type Payouts_init_args = { - $$type: 'Payouts_init_args'; - owner: Address; - publicKey: bigint; -} - -function initPayouts_init_args(src: Payouts_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeAddress(src.owner); - b_0.storeInt(src.publicKey, 257); - }; -} - -async function Payouts_init(owner: Address, publicKey: bigint) { - const __code = Cell.fromBase64('te6ccgECHQEABhsAART/APSkE/S88sgLAQIBYgIDAtrQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxa2zzy4ILI+EMBzH8BygBZWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFoEBAc8Aye1UFwQCASAVFgPW7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEP/rQN66jrkw0x8BghD/60DeuvLggYEBAdcA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAFUgbBPgIIIQgZ2+mbrjAsAAkTDjDXAFBgcDtPhBbyQwMvhD+Cgl2zxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiIERTQLHBfL0AeMPfxAICQLeMNMfAYIQgZ2+mbry4IHTP/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSbBJa2zwxUSHIWYIQMnsrSlADyx/LPwEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJEvhCAX9t2zx/DA0BJCDXScIfjomAINch2zx/2zHgMA4CSIIA9fz4J28QWKGCEDuaygChI6HCAPL0gEJwiBA0FEMwbW3bPAoTAhwwMXCAQnCIFEMwbW3bPAsTABYAAAAAU3VjY2VzcwAgAAAAAEFscmVhZHkgcGFpZAAS+EJSIMcF8uCEATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPBMDqvhBbyQwgT67M4IQO5rKAL4S8vQB2zz6AIMI1xgwyCMg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYi+gLJ+QCCAL0RUSX5EPL0+EP4KFUC2zwPEBEB9iDXSasCyAGObwHTByHCQJMhwVuRcOKWAaa/WMsFjlghwmCTIcF7kXDilgGmuVjLBY5EIcIvkyHBOpFw4pYBpgRYywWOMCHALZF/kyHAK+KWgD4yAssFjhwhwF+Rf5MhwC/iloA/MgLLBZkBwD2T8sCG3wHi4uLi4uQxIBIA2gLQ9AQwbQGCAKD6AYAQ9A9vofLghwGCAKD6IgKAEPQXyAHI9ADJAcxwAcoAQANZINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFskBxHBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIcIBCfwTIAYIQxBlJ31jLH4EBAc8AyRA0QTAUQzBtbds8EwAszzEgqTgCIMMAmALJ0AKh1xgw4FvJ0AHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAUAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAhG+KO7Z5tnjYQwXGAIBIBkaANLtRNDUAfhj0gABjij6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAYEBAdcAWWwS4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAGBAQHXAFkC0QEAAiEA3bu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSCcPLnf6vmhegs5FqtCrsFsUqCcEDOdWnnFfnSULAdYW4mR7KAIBSBscABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVBMMUJHM2t2dTM1OWFyV2V2Y3pFNkVhU2p3VlJLWGR2QWdkNWI0UHpLa2hOgg'); - const __system = Cell.fromBase64('te6cckECMQEACRoAAQHAAQIBIBMCAQW9B9QDART/APSkE/S88sgLBAIBYgsFAgEgCgYCASAJBwIBSBoIAHWybuNDVpcGZzOi8vUW1aTEhDbkZvWFpRTTFBNmU0dnpmaFA5c0JvUUNyY0JTUm5FQnlOZVg4cnVIboIAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJwQM51aecV+dJQsB1hbiZHsoAhG+KO7Z5tnjYYwQHQN60AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRLbPPLgghANDACcyPhDAcx/AcoAVSBaINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WWCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsoAye1UAUQBl4Ag1yFbcH/gcCHXScIflTAg1wsf3oIQxBlJ37rjAjBwDgLo0x8BghDEGUnfuvLggYEBAdcAATH4QW8kECNfAySBEU0CxwXy9IIQBfXhAHD7AiGOwHBRE1jIVSCCEP/rQN5QBMsfEoEBAc8AASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsoAyfhCAX9t2zzjDX8mDwGEMX9/WCNYyFUgghD/60DeUATLHxKBAQHPAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbKAMn4QgF/bds8JgG87UTQ1AH4Y9IAAY5G+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAVSBsE+D4KNcLCoMJuvLgiREBivpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBIC0QHbPBIAAnABBb+LxBQBFP8A9KQT9LzyyAsVAgFiHhYCASAcFwIBIBsYAgFIGhkAdbJu40NWlwZnM6Ly9RbVBMMUJHM2t2dTM1OWFyV2V2Y3pFNkVhU2p3VlJLWGR2QWdkNWI0UHpLa2hOggABGwr7tRNDSAAGAA3bu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSCcPLnf6vmhegs5FqtCrsFsUqCcEDOdWnnFfnSULAdYW4mR7KAIRviju2ebZ42EMMB0AAiEC2tAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFrbPPLggsj4QwHMfwHKAFlZINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WgQEBzwDJ7VQwHwPW7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEP/rQN66jrkw0x8BghD/60DeuvLggYEBAdcA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAFUgbBPgIIIQgZ2+mbrjAsAAkTDjDXAoJSABJCDXScIfjomAINch2zx/2zHgMCEDqvhBbyQwgT67M4IQO5rKAL4S8vQB2zz6AIMI1xgwyCMg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYi+gLJ+QCCAL0RUSX5EPL0+EP4KFUC2zwjLyIBxHBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIcIBCfwTIAYIQxBlJ31jLH4EBAc8AyRA0QTAUQzBtbds8LAH2INdJqwLIAY5vAdMHIcJAkyHBW5Fw4pYBpr9YywWOWCHCYJMhwXuRcOKWAaa5WMsFjkQhwi+TIcE6kXDilgGmBFjLBY4wIcAtkX+TIcAr4paAPjICywWOHCHAX5F/kyHAL+KWgD8yAssFmQHAPZPywIbfAeLi4uLi5DEgJAAszzEgqTgCIMMAmALJ0AKh1xgw4FvJ0ALeMNMfAYIQgZ2+mbry4IHTP/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSbBJa2zwxUSHIWYIQMnsrSlADyx/LPwEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJEvhCAX9t2zx/JyYBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8LAAS+EJSIMcF8uCEA7T4QW8kMDL4Q/goJds8cFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IiBEU0CxwXy9AHjD38vKykCHDAxcIBCcIgUQzBtbds8KiwAIAAAAABBbHJlYWR5IHBhaWQCSIIA9fz4J28QWKGCEDuaygChI6HCAPL0gEJwiBA0FEMwbW3bPC4sAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AC0AmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAFgAAAABTdWNjZXNzANoC0PQEMG0BggCg+gGAEPQPb6Hy4IcBggCg+iICgBD0F8gByPQAyQHMcAHKAEADWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJANLtRNDUAfhj0gABjij6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAYEBAdcAWWwS4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAGBAQHXAFkC0QEIONig'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initPayouts_init_args({ $$type: 'Payouts_init_args', owner, publicKey })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Payouts_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 4429: { message: `Invalid sender` }, - 16059: { message: `Invalid value` }, - 48401: { message: `Invalid signature` }, - 62972: { message: `Invalid balance` }, -} - -const Payouts_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"CanPayout","header":3289991647,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"CanPayoutResponse","header":4293607646,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"address","type":{"kind":"simple","type":"address","optional":false}},{"name":"ok","type":{"kind":"simple","type":"bool","optional":false}}]}, -] - -const Payouts_getters: ABIGetter[] = [ - {"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}, -] - -const Payouts_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text"}}, - {"receiver":"internal","message":{"kind":"typed","type":"CanPayoutResponse"}}, - {"receiver":"internal","message":{"kind":"typed","type":"ChangeOwner"}}, -] - -export class Payouts implements Contract { - - static async init(owner: Address, publicKey: bigint) { - return await Payouts_init(owner, publicKey); - } - - static async fromInit(owner: Address, publicKey: bigint) { - const init = await Payouts_init(owner, publicKey); - const address = contractAddress(0, init); - return new Payouts(address, init); - } - - static fromAddress(address: Address) { - return new Payouts(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Payouts_types, - getters: Payouts_getters, - receivers: Payouts_receivers, - errors: Payouts_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: string | CanPayoutResponse | ChangeOwner) { - - let body: Cell | null = null; - if (typeof message === 'string') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'CanPayoutResponse') { - body = beginCell().store(storeCanPayoutResponse(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'ChangeOwner') { - body = beginCell().store(storeChangeOwner(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getOwner(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('owner', builder.build())).stack; - let result = source.readAddress(); - return result; - } - -} \ No newline at end of file diff --git a/examples/output/rugpull_RugPull.abi b/examples/output/rugpull_RugPull.abi deleted file mode 100644 index 9724bcdc9..000000000 --- a/examples/output/rugpull_RugPull.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"RugPull","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"RugParams","header":null,"fields":[{"name":"investment","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"returns","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"fee","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}},{"receiver":"internal","message":{"kind":"text","text":"withdraw"}},{"receiver":"internal","message":{"kind":"text","text":"rugpull"}},{"receiver":"internal","message":{"kind":"typed","type":"ChangeOwner"}},{"receiver":"internal","message":{"kind":"text","text":"Stop"}}],"getters":[{"name":"params","arguments":[],"returnType":{"kind":"simple","type":"RugParams","optional":false}},{"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}},{"name":"stopped","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"16059":{"message":"Invalid value"},"40368":{"message":"Contract stopped"},"53296":{"message":"Contract not stopped"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0","org.ton.ownable.transferable.v2","org.ton.ownable","org.ton.stoppable"]} \ No newline at end of file diff --git a/examples/output/rugpull_RugPull.code.boc b/examples/output/rugpull_RugPull.code.boc deleted file mode 100644 index c49c1a02a..000000000 Binary files a/examples/output/rugpull_RugPull.code.boc and /dev/null differ diff --git a/examples/output/rugpull_RugPull.code.boc.html b/examples/output/rugpull_RugPull.code.boc.html deleted file mode 100644 index 0c98159bf..000000000 --- a/examples/output/rugpull_RugPull.code.boc.html +++ /dev/null @@ -1,749 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_74107;
-            ..DECLPROC owner;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC ?fun_116437;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_02d8e69f5d80533a;
-            ..DECLPROC ?fun_ref_10c319ce0484d846;
-            ..DECLPROC ?fun_ref_124befad50dbffd4;
-            ..DECLPROC ?fun_ref_35af19566d399dc8;
-            ..DECLPROC ?fun_ref_79fc0b30055595d5;
-            ..DECLPROC ?fun_ref_819d22b1a4399a8e;
-            ..DECLPROC ?fun_ref_86e3d4b3ab12772d;
-            ..DECLPROC ?fun_ref_92a14dd4ce561b44;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_d9e1b9d1e5ec3b45;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            ..DECLPROC ?fun_ref_eceefc8eefa1c6b7;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_79fc0b30055595d5 INLINECALLDICT
-            ....2 10 BLKSWAP
-            ....?fun_ref_86e3d4b3ab12772d INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....10 1 BLKSWAP
-            ....s10 s9 XCHG2
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....s1 s7 XCHG
-            ....257 PUSHINT
-            ....STIX
-            ....s1 s5 XCHG
-            ....257 PUSHINT
-            ....STIX
-            ....s0 s3 XCHG
-            ....NEWC
-            ....257 PUSHINT
-            ....STIX
-            ....s1 s2 XCHG
-            ....257 PUSHINT
-            ....STIX
-            ....1 STI
-            ....s1 s2 XCHG
-            ....1 STI
-            ....s1 s2 XCHG
-            ....257 PUSHINT
-            ....STIX
-            ....s0 s3 XCHG
-            ....NEWC
-            ....257 PUSHINT
-            ....STIX
-            ....s1 s2 XCHG
-            ....STDICT
-            ....ENDC
-            ....ROT
-            ....STREF
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..?fun_74107 PROC:<{
-            ....?fun_ref_79fc0b30055595d5 INLINECALLDICT
-            ....?fun_ref_10c319ce0484d846 INLINECALLDICT
-            ....10 1 BLKDROP2
-            ..}>
-            ..owner PROC:<{
-            ....?fun_ref_79fc0b30055595d5 INLINECALLDICT
-            ....?fun_ref_d9e1b9d1e5ec3b45 INLINECALLDICT
-            ....10 1 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ....322875185039650075936310953974817993034 PUSHINT
-            ....86142586315491086060343270784266291122 PUSHINT
-            ....192989407141549587419771644724066226057 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..?fun_116437 PROC:<{
-            ....?fun_ref_79fc0b30055595d5 INLINECALLDICT
-            ....?fun_ref_124befad50dbffd4 INLINECALLDICT
-            ....10 3 BLKDROP2
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D6262647A7735644B575465696678637245326A5A35426B4E4B4471534472377A7053564339576D62566F456782_} PUSHSLICE
-            ..}>
-            ..?fun_ref_02d8e69f5d80533a PROCREF:<{
-            ....NULL
-            ....0 PUSHINT
-            ....0 PUSHINT
-            ....s0 s1 s6 PU2XC
-            ....0 PUSHINT
-            ....3 1 BLKSWAP
-            ..}>
-            x2..?fun_ref_10c319ce0484d846 PROCREF:<{
-            18x2....s3 PUSH
-            x2..}>
-            ..?fun_ref_124befad50dbffd4 PROCREF:<{
-            ....s8 s7 s6 PUSH3
-            ..}>
-            ..?fun_ref_35af19566d399dc8 PROCREF:<{
-            ....2 GETGLOBVAR
-            ....s10 s1 PUXC
-            ....SDEQ
-            ....132 THROWIFNOT
-            ..}>
-            ..?fun_ref_79fc0b30055595d5 PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......1 LDI
-            ......257 PUSHINT
-            ......LDIX
-            ......LDREF
-            ......s0 POP
-            ......CTOS
-            ......257 PUSHINT
-            ......LDIX
-            ......LDDICT
-            ......s0 POP
-            ......s7 s10 XCHG
-            ......s7 s9 XCHG
-            ......s7 s8 XCHG
-            ......1 10 BLKDROP2
-            ....}> PUSHCONT
-            ....IFJMP
-            ....MYADDR
-            ....11 PLDU
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....137 THROWIFNOT
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s1 XCHG
-            ....257 PUSHINT
-            ....LDIX
-            ....257 PUSHINT
-            ....LDIX
-            ....LDREF
-            ....s0 s1 XCHG
-            ....CTOS
-            ....257 PUSHINT
-            ....LDIX
-            ....s0 POP
-            ....s1 s4 XCHG
-            ....s3 s3 s0 XCHG3
-            ....s0 s4 XCHG
-            ....ENDS
-            ....1 3 BLKSWAP
-            ....?fun_ref_02d8e69f5d80533a INLINECALLDICT
-            ..}>
-            ..?fun_ref_819d22b1a4399a8e PROCREF:<{
-            ....s0 s1 XCHG
-            ....2 PUSHINT
-            ....-1 PUSHINT
-            ....s3 s3 XCHG2
-            ....NULL
-            ....NULL
-            ....NULL
-            ....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ..}>
-            ..?fun_ref_86e3d4b3ab12772d PROCREF:<{
-            ....2 SAVE
-            ....SAMEALTSAVE
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....s0 PUSH
-            ....0 EQINT
-            ....s2 PUSH
-            ....SBITS
-            ....33 LESSINT
-            ....AND
-            ....<{
-            ......DROP2
-            ......?fun_ref_92a14dd4ce561b44 INLINECALLDICT
-            ......s4 PUSH
-            ......<{
-            ........0 PUSHINT
-            ........s10 PUSH
-            ........7 PUSHPOW2
-            ........-1 PUSHINT
-            ........s3 s3 XCHG2
-            ........NULL
-            ........NULL
-            ........NULL
-            ........?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ......}> PUSHCONT
-            ......<{
-            ........1 GETGLOBVAR
-            ........4 UNTUPLE
-            ........s0 POP
-            ........s2 POP
-            ........16059 PUSHINT
-            ........s11 s9 PUSH2
-            ........ADD
-            ........s1 s3 XCHG
-            ........GEQ
-            ........s1 s2 XCHG
-            ........THROWANYIFNOT
-            ........257 PUSHINT
-            ........s3 s3 PUXC
-            ........s0 PUSH
-            ........ISNULL
-            ........<{
-            ..........s0 POP
-            ..........ROTREV
-            ..........DICTIDEL
-            ..........s0 POP
-            ........}> PUSHCONT
-            ........<{
-            ..........s1 s3 s3 XCHG3
-            ..........DICTISET
-            ........}> PUSHCONT
-            ........IFELSE
-            ........s0 s1 XCHG
-            ........INC
-            ........s5 s8 XCPU
-            ........ADD
-            ........<{
-            ..........s0 s7 PUSH2
-            ..........GREATER
-            ..........<{
-            ............s5 s2 PUSH2
-            ............SUB
-            ............0 GTINT
-            ..........}> PUSHCONT
-            ..........<{
-            ............0 PUSHINT
-            ..........}> PUSHCONT
-            ..........IFELSE
-            ........}> PUSHCONT
-            ........<{
-            ..........s1 PUSH
-            ..........257 PUSHINT
-            ..........s4 PUSH
-            ..........ROTREV
-            ..........DICTIGET
-            ..........NULLSWAPIFNOT
-            ..........<{
-            ............s0 POP
-            ............NULL
-            ..........}> PUSHCONT
-            ..........IFNOT
-            ..........s0 PUSH
-            ..........ISNULL
-            ..........128 THROWIF
-            ..........s1 s8 XCPU
-            ..........SUB
-            ..........s0 s3 XCHG
-            ..........INC
-            ..........s3 s8 XCPU
-            ..........s1 s7 XCHG
-            ..........s3 s3 s0 XCHG3
-            ..........?fun_ref_819d22b1a4399a8e INLINECALLDICT
-            ..........s0 s5 XCHG2
-            ........}> PUSHCONT
-            ........WHILE
-            ........s5 s5 XCHG2
-            ......}> PUSHCONT
-            ......IFELSE
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....2174598809 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2174598809 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......64 LDU
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s1 s2 XCHG
-            ......1 2 BLKDROP2
-            ......10 2 BLKSWAP
-            ......?fun_ref_35af19566d399dc8 INLINECALLDICT
-            ......s9 POP
-            ......s10 s9 XCPU
-            ......NEWC
-            ......ROTREV
-            ......846932810 PUSHINT
-            ......s0 s3 XCHG2
-            ......32 STU
-            ......64 STU
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......STSLICER
-            ......ENDC
-            ......s9 s10 XCHG
-            ......s7 s9 XCHG
-            ......s6 s8 XCHG
-            ......s5 s7 XCHG
-            ......s4 s6 XCHG
-            ......s3 s5 XCHG
-            ......s4 s3 s0 XCHG3
-            ......s1 s2 XCHG
-            ......2 GETGLOBVAR
-            ......s0 s1 XCHG
-            ......-1 PUSHINT
-            ......NULL
-            ......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....0 EQINT
-            ....<{
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......HASHSU
-            ......s0 PUSH
-            ......4214924782860224305093503934954653493962198591343413308822612294567774196964 PUSHINT
-            ......EQUAL
-            ......<{
-            ........s0 POP
-            ........?fun_ref_35af19566d399dc8 INLINECALLDICT
-            ........s4 PUSH
-            ........NOT
-            ........<{
-            ..........s5 PUSH
-            ..........0 PUSHINT
-            ..........RAWRESERVE
-            ........}> PUSHCONT
-            ........IF
-            ........0 PUSHINT
-            ........s10 PUSH
-            ........7 PUSHPOW2
-            ........-1 PUSHINT
-            ........s3 s3 XCHG2
-            ........NULL
-            ........NULL
-            ........NULL
-            ........?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ......s0 PUSH
-            ......93123902270892132095354917739784821433563747504193043765606083110690163107050 PUSHINT
-            ......EQUAL
-            ......<{
-            ........s0 POP
-            ........s4 POP
-            ........-1 PUSHINT
-            ........0 PUSHINT
-            ........s10 PUSH
-            ........7 PUSHPOW2
-            ........-1 PUSHINT
-            ........s3 s3 XCHG2
-            ........NULL
-            ........NULL
-            ........NULL
-            ........?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ........s0 s4 XCHG
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ......85478235227686204299312064008631277118150318603456584517510472216578858763521 PUSHINT
-            ......EQUAL
-            ......<{
-            ........?fun_ref_eceefc8eefa1c6b7 INLINECALLDICT
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ....}> IFREFELSE
-            ....0 PUSHINT
-            ..}>
-            ..?fun_ref_92a14dd4ce561b44 PROCREF:<{
-            ....40368 PUSHINT
-            ....s4 PUSH
-            ....NOT
-            ....THROWANYIFNOT
-            ..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            ..?fun_ref_d9e1b9d1e5ec3b45 PROCREF:<{
-            ....s9 PUSH
-            ..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            ..?fun_ref_eceefc8eefa1c6b7 PROCREF:<{
-            ....?fun_ref_35af19566d399dc8 INLINECALLDICT
-            ....?fun_ref_92a14dd4ce561b44 INLINECALLDICT
-            ....s3 POP
-            ....-1 PUSHINT
-            ....x{0000000053746F70706564} PUSHREF
-            ....s1 s4 XCHG
-            ....2 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....-1 PUSHINT
-            ....NULL
-            ....?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/rugpull_RugPull.code.fc b/examples/output/rugpull_RugPull.code.fc deleted file mode 100644 index d53a619c8..000000000 --- a/examples/output/rugpull_RugPull.code.fc +++ /dev/null @@ -1,240 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "rugpull_RugPull.headers.fc"; -#include "rugpull_RugPull.stdlib.fc"; -#include "rugpull_RugPull.constants.fc"; -#include "rugpull_RugPull.storage.fc"; - -;; -;; Contract RugPull functions -;; - -(slice, int, int, int, int, int, int, int, int, cell) $RugPull$_contract_init(slice $owner, int $investment, int $returns, int $fee) impure inline_ref { - var (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)) = (null(), null(), null(), null(), null(), null(), null(), null(), null(), null()); - $self'owner = $owner; - $self'rugpulled = false; - $self'queueStart = 0; - $self'queueEnd = 0; - $self'balance = 0; - $self'investment = $investment; - $self'returns = $returns; - $self'fee = $fee; - $self'stopped = false; - return ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue); -} - -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_fun_sendPayout((slice, int, int, int, int, int, int, int, int, cell) $self, slice $to, int $value) impure inline_ref { - var (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)) = $self; - $global_send($SendParameters$_constructor_value_to_mode($value, $to, 2)); - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), ()); -} - -((slice, int, int, int, int, int, int, int, int, cell), (int, int, int)) $RugPull$_fun_params((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline_ref { - var (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)) = $self; - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), $RugParams$_constructor_investment_returns_fee($self'investment, $self'returns, $self'fee)); -} - -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_fun_requireOwner((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline_ref { - var (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)) = $self; - throw_unless(132, ( __tact_slice_eq_bits($self'owner, __tact_context_get_sender()) )); - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), ()); -} - -((slice, int, int, int, int, int, int, int, int, cell), slice) $RugPull$_fun_owner((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline_ref { - var (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)) = $self; - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), $self'owner); -} - -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_fun_requireNotStopped((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline_ref { - var (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)) = $self; - throw_unless(40368, (~ $self'stopped)); - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), ()); -} - -((slice, int, int, int, int, int, int, int, int, cell), int) $RugPull$_fun_stopped((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline_ref { - var (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)) = $self; - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), $self'stopped); -} - -;; -;; Receivers of a Contract RugPull -;; - -(((slice, int, int, int, int, int, int, int, int, cell)), ()) %$RugPull$_internal_empty((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline { - var ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue) = $self; - ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)~$RugPull$_fun_requireNotStopped(); - if ($self'rugpulled) { - $global_send($SendParameters$_constructor_value_to_mode(0, $self'owner, 128)); - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), ()); - } - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - throw_unless(16059, ($ctx'value >= ($self'investment + $self'fee))); - $self'queue~__tact_dict_set_int_slice(257, $self'queueEnd, $ctx'sender); - $self'queueEnd = ($self'queueEnd + 1); - $self'balance = ($self'balance + $self'investment); - while (( (($self'balance > $self'returns)) ? ((($self'queueEnd - $self'queueStart) > 0)) : (false) )) { - slice $investor = __tact_not_null(__tact_dict_get_int_slice($self'queue, 257, $self'queueStart)); - $self'balance = ($self'balance - $self'returns); - $self'queueStart = ($self'queueStart + 1); - ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)~$RugPull$_fun_sendPayout($investor, $self'returns); - } - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), ()); -} - -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_internal_text_095190194aee611ce895c5503adf85fd864de7905746142f608d3eb2faad14e4((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline { - var ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue) = $self; - ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)~$RugPull$_fun_requireOwner(); - if ((~ $self'rugpulled)) { - raw_reserve($self'balance, 0); - } - $global_send($SendParameters$_constructor_value_to_mode(0, $self'owner, 128)); - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), ()); -} - -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_internal_text_cde242c6cac560a99ff2d2683ee0fb1629a818aec0f1166511cd822cf20da4ea((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline { - var ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue) = $self; - $self'rugpulled = true; - $global_send($SendParameters$_constructor_value_to_mode(0, $self'owner, 128)); - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), ()); -} - -(((slice, int, int, int, int, int, int, int, int, cell)), ()) $RugPull$_internal_binary_ChangeOwner((slice, int, int, int, int, int, int, int, int, cell) $self, (int, slice) $msg) impure inline { - var ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue) = $self; - var ($msg'queryId, $msg'newOwner) = $msg; - ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)~$RugPull$_fun_requireOwner(); - $self'owner = $msg'newOwner; - ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)~$RugPull$_fun_reply($ChangeOwnerOk$_store_cell($ChangeOwnerOk$_constructor_queryId_newOwner($msg'queryId, $msg'newOwner))); - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), ()); -} - -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_internal_text_bcfaf776907c719cc8d379d8f194aaaa27e8ca2871cd591781721f215a454501((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline { - var ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue) = $self; - ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)~$RugPull$_fun_requireOwner(); - ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)~$RugPull$_fun_requireNotStopped(); - $self'stopped = true; - ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)~$RugPull$_fun_reply(__gen_cell_comment_8f4b6a166554b4f282855d0333c627d5b58d281ea4ba11e4def91a1053193b2d()); - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), ()); -} - -;; -;; Get methods of a Contract RugPull -;; - -_ %params() method_id(116437) { - var self = $RugPull$_contract_load(); - var res = self~$RugPull$_fun_params(); - return $RugParams$_to_external(res); -} - -_ %owner() method_id(83229) { - var self = $RugPull$_contract_load(); - var res = self~$RugPull$_fun_owner(); - return res; -} - -_ %stopped() method_id(74107) { - var self = $RugPull$_contract_load(); - var res = self~$RugPull$_fun_stopped(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128, - "org.ton.ownable.transferable.v2"H >> 128, - "org.ton.ownable"H >> 128, - "org.ton.stoppable"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://Qmbbdzw5dKWTeifxcrE2jZ5BkNKDqSDr7zpSVC9WmbVoEg"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract RugPull -;; - -((slice, int, int, int, int, int, int, int, int, cell), int) $RugPull$_contract_router_internal((slice, int, int, int, int, int, int, int, int, cell) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$RugPull$_internal_empty(); - return (self, true); - } - - ;; Receive ChangeOwner message - if (op == 2174598809) { - var msg = in_msg~$ChangeOwner$_load(); - self~$RugPull$_internal_binary_ChangeOwner(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "withdraw" message - if (text_op == 0x095190194aee611ce895c5503adf85fd864de7905746142f608d3eb2faad14e4) { - self~$RugPull$_internal_text_095190194aee611ce895c5503adf85fd864de7905746142f608d3eb2faad14e4(); - return (self, true); - } - - ;; Receive "rugpull" message - if (text_op == 0xcde242c6cac560a99ff2d2683ee0fb1629a818aec0f1166511cd822cf20da4ea) { - self~$RugPull$_internal_text_cde242c6cac560a99ff2d2683ee0fb1629a818aec0f1166511cd822cf20da4ea(); - return (self, true); - } - - ;; Receive "Stop" message - if (text_op == 0xbcfaf776907c719cc8d379d8f194aaaa27e8ca2871cd591781721f215a454501) { - self~$RugPull$_internal_text_bcfaf776907c719cc8d379d8f194aaaa27e8ca2871cd591781721f215a454501(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $RugPull$_contract_load(); - - ;; Handle operation - int handled = self~$RugPull$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $RugPull$_contract_store(self); -} diff --git a/examples/output/rugpull_RugPull.code.fif b/examples/output/rugpull_RugPull.code.fif deleted file mode 100644 index 9685549ec..000000000 --- a/examples/output/rugpull_RugPull.code.fif +++ /dev/null @@ -1,689 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC __tact_dict_set_int_slice - DECLPROC __tact_dict_get_int_slice - DECLPROC __tact_slice_eq_bits - DECLPROC $ChangeOwner$_load - DECLPROC $ChangeOwnerOk$_store - DECLPROC $ChangeOwnerOk$_store_cell - DECLPROC $RugPull$_store - DECLPROC $RugPull$_load - DECLPROC $StateInit$_not_null - DECLPROC $RugParams$_to_external - DECLPROC $RugPull$init$_load - DECLPROC $RugPull$_contract_init - DECLPROC $RugPull$_contract_load - DECLPROC $RugPull$_contract_store - DECLPROC $global_send - DECLPROC $SendParameters$_constructor_value_to_mode - DECLPROC $RugPull$_fun_sendPayout - DECLPROC $RugParams$_constructor_investment_returns_fee - DECLPROC $RugPull$_fun_params - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $RugPull$_fun_forward - DECLPROC $RugPull$_fun_reply - DECLPROC $RugPull$_fun_requireOwner - DECLPROC $RugPull$_fun_owner - DECLPROC $RugPull$_fun_requireNotStopped - DECLPROC $RugPull$_fun_stopped - DECLPROC $ChangeOwnerOk$_constructor_queryId_newOwner - DECLPROC %$RugPull$_internal_empty - DECLPROC $RugPull$_internal_text_095190194aee611ce895c5503adf85fd864de7905746142f608d3eb2faad14e4 - DECLPROC $RugPull$_internal_text_cde242c6cac560a99ff2d2683ee0fb1629a818aec0f1166511cd822cf20da4ea - DECLPROC $RugPull$_internal_binary_ChangeOwner - DECLPROC $RugPull$_internal_text_bcfaf776907c719cc8d379d8f194aaaa27e8ca2871cd591781721f215a454501 - 116437 DECLMETHOD %params - 83229 DECLMETHOD %owner - 74107 DECLMETHOD %stopped - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $RugPull$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_dict_set_int_slice PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTISET - }> - }> - __tact_dict_get_int_slice PROCINLINE:<{ - -ROT - DICTIGET - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> - }> - __tact_slice_eq_bits PROCINLINE:<{ - SDEQ - }> - $ChangeOwner$_load PROCINLINE:<{ - 32 LDU - SWAP - 2174598809 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - __tact_load_address INLINECALLDICT - s1 s2 XCHG - }> - $ChangeOwnerOk$_store PROCINLINE:<{ - 846932810 PUSHINT - s0 s3 XCHG2 - 32 STU - 64 STU - SWAP - __tact_store_address INLINECALLDICT - }> - $ChangeOwnerOk$_store_cell PROCINLINE:<{ - NEWC - -ROT - $ChangeOwnerOk$_store INLINECALLDICT - ENDC - }> - $RugPull$_store PROCINLINE:<{ - s10 s9 XCHG2 - __tact_store_address INLINECALLDICT - s1 s7 XCHG - 257 PUSHINT - STIX - s1 s5 XCHG - 257 PUSHINT - STIX - s0 s3 XCHG - NEWC - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - 1 STI - s1 s2 XCHG - 1 STI - s1 s2 XCHG - 257 PUSHINT - STIX - s0 s3 XCHG - NEWC - 257 PUSHINT - STIX - s1 s2 XCHG - STDICT - ENDC - ROT - STREF - ENDC - SWAP - STREF - }> - $RugPull$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - SWAP - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - SWAP - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 1 LDI - 1 LDI - 257 PUSHINT - LDIX - LDREF - DROP - CTOS - 257 PUSHINT - LDIX - LDDICT - DROP - s7 s10 XCHG - s7 s9 XCHG - s7 s8 XCHG - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $RugParams$_to_external PROCINLINE:<{ - }> - $RugPull$init$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - SWAP - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - SWAP - CTOS - 257 PUSHINT - LDIX - DROP - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - $RugPull$_contract_init PROCREF:<{ - PUSHNULL - FALSE - 0 PUSHINT - s0 s(-1) s2 PU2XC - FALSE - 3 -ROLL - }> - $RugPull$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $RugPull$_load INLINECALLDICT - 1 10 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $RugPull$init$_load INLINECALLDICT - s0 s4 XCHG - ENDS - 3 ROLL - $RugPull$_contract_init INLINECALLDICT - }> - $RugPull$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 10 -ROLL - $RugPull$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $SendParameters$_constructor_value_to_mode PROCINLINE:<{ - TRUE - s3 s3 XCHG2 - PUSHNULL - PUSHNULL - PUSHNULL - }> - $RugPull$_fun_sendPayout PROCREF:<{ - SWAP - 2 PUSHINT - $SendParameters$_constructor_value_to_mode INLINECALLDICT - $global_send INLINECALLDICT - }> - $RugParams$_constructor_investment_returns_fee PROCINLINE:<{ - }> - $RugPull$_fun_params PROCREF:<{ - s8 s7 s6 PUSH3 - $RugParams$_constructor_investment_returns_fee INLINECALLDICT - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $RugPull$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $RugPull$_fun_reply PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - TRUE - PUSHNULL - $RugPull$_fun_forward INLINECALLDICT - }> - $RugPull$_fun_requireOwner PROCREF:<{ - __tact_context_get_sender INLINECALLDICT - s10 s(-1) PUXC - __tact_slice_eq_bits INLINECALLDICT - 132 THROWIFNOT - }> - $RugPull$_fun_owner PROCREF:<{ - s9 PUSH - }> - $RugPull$_fun_requireNotStopped PROCREF:<{ - 40368 PUSHINT - s4 PUSH - NOT - THROWANYIFNOT - }> - $RugPull$_fun_stopped PROCREF:<{ - s3 PUSH - }> - $ChangeOwnerOk$_constructor_queryId_newOwner PROCINLINE:<{ - }> - %$RugPull$_internal_empty PROCINLINE:<{ - $RugPull$_fun_requireNotStopped INLINECALLDICT - s4 PUSH - IF:<{ - 0 PUSHINT - s10 PUSH - 7 PUSHPOW2 - $SendParameters$_constructor_value_to_mode INLINECALLDICT - $global_send INLINECALLDICT - }>ELSE<{ - __tact_context_get INLINECALLDICT - DROP - s2 POP - 16059 PUSHINT - s11 s9 PUSH2 - ADD - s1 s3 XCHG - GEQ - s1 s2 XCHG - THROWANYIFNOT - 257 PUSHINT - s3 s1 PUXC - __tact_dict_set_int_slice INLINECALLDICT - SWAP - INC - s5 s8 XCPU - ADD - WHILE:<{ - s0 s7 PUSH2 - GREATER - IF:<{ - s5 s2 PUSH2 - SUB - 0 GTINT - }>ELSE<{ - FALSE - }> - }>DO<{ - OVER - 257 PUSHINT - s4 PUSH - __tact_dict_get_int_slice INLINECALLDICT - __tact_not_null INLINECALLDICT - s1 s8 XCPU - SUB - s0 s3 XCHG - INC - s3 s8 XCPU - s1 s7 XCHG - s3 s3 s0 XCHG3 - $RugPull$_fun_sendPayout INLINECALLDICT - s0 s5 XCHG2 - }> - s5 s5 XCHG2 - }> - }> - $RugPull$_internal_text_095190194aee611ce895c5503adf85fd864de7905746142f608d3eb2faad14e4 PROCINLINE:<{ - $RugPull$_fun_requireOwner INLINECALLDICT - s4 PUSH - NOT - IF:<{ - s5 PUSH - 0 PUSHINT - RAWRESERVE - }> - 0 PUSHINT - s10 PUSH - 7 PUSHPOW2 - $SendParameters$_constructor_value_to_mode INLINECALLDICT - $global_send INLINECALLDICT - }> - $RugPull$_internal_text_cde242c6cac560a99ff2d2683ee0fb1629a818aec0f1166511cd822cf20da4ea PROCINLINE:<{ - s4 POP - TRUE - 0 PUSHINT - s10 PUSH - 7 PUSHPOW2 - $SendParameters$_constructor_value_to_mode INLINECALLDICT - $global_send INLINECALLDICT - s0 s4 XCHG - }> - $RugPull$_internal_binary_ChangeOwner PROCINLINE:<{ - 10 2 BLKSWAP - $RugPull$_fun_requireOwner INLINECALLDICT - s9 POP - s10 s9 XCPU - $ChangeOwnerOk$_constructor_queryId_newOwner INLINECALLDICT - $ChangeOwnerOk$_store_cell INLINECALLDICT - s9 s10 XCHG - s7 s9 XCHG - s6 s8 XCHG - s5 s7 XCHG - s4 s6 XCHG - s3 s5 XCHG - s4 s3 s0 XCHG3 - s1 s2 XCHG - $RugPull$_fun_reply INLINECALLDICT - }> - $RugPull$_internal_text_bcfaf776907c719cc8d379d8f194aaaa27e8ca2871cd591781721f215a454501 PROCINLINE:<{ - $RugPull$_fun_requireOwner INLINECALLDICT - $RugPull$_fun_requireNotStopped INLINECALLDICT - s3 POP - TRUE - B{b5ee9c7241010101000d0000160000000053746f707065646f94ddb2} B>boc PUSHREF - s1 s4 XCHG - $RugPull$_fun_reply INLINECALLDICT - }> - %params PROC:<{ - $RugPull$_contract_load INLINECALLDICT - $RugPull$_fun_params INLINECALLDICT - 10 3 BLKDROP2 - $RugParams$_to_external INLINECALLDICT - }> - %owner PROC:<{ - $RugPull$_contract_load INLINECALLDICT - $RugPull$_fun_owner INLINECALLDICT - 10 1 BLKDROP2 - }> - %stopped PROC:<{ - $RugPull$_contract_load INLINECALLDICT - $RugPull$_fun_stopped INLINECALLDICT - 10 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 322875185039650075936310953974817993034 PUSHINT - 86142586315491086060343270784266291122 PUSHINT - 192989407141549587419771644724066226057 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d6262647a7735644b575465696678637245326a5a35426b4e4b4471534472377a7053564339576d62566f4567} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $RugPull$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - IFJMP:<{ - 2DROP - %$RugPull$_internal_empty INLINECALLDICT - TRUE - }> - DUP - 2174598809 PUSHINT - EQUAL - IFJMP:<{ - DROP - $ChangeOwner$_load INLINECALLDICT - 1 2 BLKDROP2 - $RugPull$_internal_binary_ChangeOwner INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - DUP - 4214924782860224305093503934954653493962198591343413308822612294567774196964 PUSHINT - EQUAL - IFJMP:<{ - DROP - $RugPull$_internal_text_095190194aee611ce895c5503adf85fd864de7905746142f608d3eb2faad14e4 INLINECALLDICT - TRUE - RETALT - }> - DUP - 93123902270892132095354917739784821433563747504193043765606083110690163107050 PUSHINT - EQUAL - IFJMP:<{ - DROP - $RugPull$_internal_text_cde242c6cac560a99ff2d2683ee0fb1629a818aec0f1166511cd822cf20da4ea INLINECALLDICT - TRUE - RETALT - }> - 85478235227686204299312064008631277118150318603456584517510472216578858763521 PUSHINT - EQUAL - IFJMP:<{ - $RugPull$_internal_text_bcfaf776907c719cc8d379d8f194aaaa27e8ca2871cd591781721f215a454501 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $RugPull$_contract_load INLINECALLDICT - 2 10 BLKSWAP - $RugPull$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $RugPull$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/rugpull_RugPull.code.rev.fif b/examples/output/rugpull_RugPull.code.rev.fif deleted file mode 100644 index 7825178a9..000000000 --- a/examples/output/rugpull_RugPull.code.rev.fif +++ /dev/null @@ -1,713 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_74107; - DECLPROC owner; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC ?fun_116437; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_02d8e69f5d80533a; - DECLPROC ?fun_ref_10c319ce0484d846; - DECLPROC ?fun_ref_124befad50dbffd4; - DECLPROC ?fun_ref_35af19566d399dc8; - DECLPROC ?fun_ref_79fc0b30055595d5; - DECLPROC ?fun_ref_819d22b1a4399a8e; - DECLPROC ?fun_ref_86e3d4b3ab12772d; - DECLPROC ?fun_ref_92a14dd4ce561b44; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_d9e1b9d1e5ec3b45; - DECLPROC ?fun_ref_e31d986f279fa0fb; - DECLPROC ?fun_ref_eceefc8eefa1c6b7; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_79fc0b30055595d5 INLINECALLDICT - 2 10 BLKSWAP - ?fun_ref_86e3d4b3ab12772d INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 10 1 BLKSWAP - s10 s9 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s1 s7 XCHG - 257 PUSHINT - STIX - s1 s5 XCHG - 257 PUSHINT - STIX - s0 s3 XCHG - NEWC - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - 1 STI - s1 s2 XCHG - 1 STI - s1 s2 XCHG - 257 PUSHINT - STIX - s0 s3 XCHG - NEWC - 257 PUSHINT - STIX - s1 s2 XCHG - STDICT - ENDC - ROT - STREF - ENDC - s0 s1 XCHG - STREF - ENDC - c4 POP - }> - ?fun_74107 PROC:<{ - ?fun_ref_79fc0b30055595d5 INLINECALLDICT - ?fun_ref_10c319ce0484d846 INLINECALLDICT - 10 1 BLKDROP2 - }> - owner PROC:<{ - ?fun_ref_79fc0b30055595d5 INLINECALLDICT - ?fun_ref_d9e1b9d1e5ec3b45 INLINECALLDICT - 10 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 322875185039650075936310953974817993034 PUSHINT - 86142586315491086060343270784266291122 PUSHINT - 192989407141549587419771644724066226057 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - ?fun_116437 PROC:<{ - ?fun_ref_79fc0b30055595d5 INLINECALLDICT - ?fun_ref_124befad50dbffd4 INLINECALLDICT - 10 3 BLKDROP2 - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D6262647A7735644B575465696678637245326A5A35426B4E4B4471534472377A7053564339576D62566F456782_} PUSHSLICE - }> - ?fun_ref_02d8e69f5d80533a PROCREF:<{ - NULL - 0 PUSHINT - 0 PUSHINT - s0 s1 s6 PU2XC - 0 PUSHINT - 3 1 BLKSWAP - }> - ?fun_ref_10c319ce0484d846 PROCREF:<{ - s3 PUSH - }> - ?fun_ref_124befad50dbffd4 PROCREF:<{ - s8 s7 s6 PUSH3 - }> - ?fun_ref_35af19566d399dc8 PROCREF:<{ - 2 GETGLOBVAR - s10 s1 PUXC - SDEQ - 132 THROWIFNOT - }> - ?fun_ref_79fc0b30055595d5 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 1 LDI - 1 LDI - 257 PUSHINT - LDIX - LDREF - s0 POP - CTOS - 257 PUSHINT - LDIX - LDDICT - s0 POP - s7 s10 XCHG - s7 s9 XCHG - s7 s8 XCHG - 1 10 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - s0 POP - s1 s4 XCHG - s3 s3 s0 XCHG3 - s0 s4 XCHG - ENDS - 1 3 BLKSWAP - ?fun_ref_02d8e69f5d80533a INLINECALLDICT - }> - ?fun_ref_819d22b1a4399a8e PROCREF:<{ - s0 s1 XCHG - 2 PUSHINT - -1 PUSHINT - s3 s3 XCHG2 - NULL - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_86e3d4b3ab12772d PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - <{ - DROP2 - ?fun_ref_92a14dd4ce561b44 INLINECALLDICT - s4 PUSH - <{ - 0 PUSHINT - s10 PUSH - 7 PUSHPOW2 - -1 PUSHINT - s3 s3 XCHG2 - NULL - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> PUSHCONT - <{ - 1 GETGLOBVAR - 4 UNTUPLE - s0 POP - s2 POP - 16059 PUSHINT - s11 s9 PUSH2 - ADD - s1 s3 XCHG - GEQ - s1 s2 XCHG - THROWANYIFNOT - 257 PUSHINT - s3 s3 PUXC - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISET - }> PUSHCONT - IFELSE - s0 s1 XCHG - INC - s5 s8 XCPU - ADD - <{ - s0 s7 PUSH2 - GREATER - <{ - s5 s2 PUSH2 - SUB - 0 GTINT - }> PUSHCONT - <{ - 0 PUSHINT - }> PUSHCONT - IFELSE - }> PUSHCONT - <{ - s1 PUSH - 257 PUSHINT - s4 PUSH - ROTREV - DICTIGET - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - s0 PUSH - ISNULL - 128 THROWIF - s1 s8 XCPU - SUB - s0 s3 XCHG - INC - s3 s8 XCPU - s1 s7 XCHG - s3 s3 s0 XCHG3 - ?fun_ref_819d22b1a4399a8e INLINECALLDICT - s0 s5 XCHG2 - }> PUSHCONT - WHILE - s5 s5 XCHG2 - }> PUSHCONT - IFELSE - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 2174598809 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2174598809 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 s2 XCHG - 1 2 BLKDROP2 - 10 2 BLKSWAP - ?fun_ref_35af19566d399dc8 INLINECALLDICT - s9 POP - s10 s9 XCPU - NEWC - ROTREV - 846932810 PUSHINT - s0 s3 XCHG2 - 32 STU - 64 STU - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - s9 s10 XCHG - s7 s9 XCHG - s6 s8 XCHG - s5 s7 XCHG - s4 s6 XCHG - s3 s5 XCHG - s4 s3 s0 XCHG3 - s1 s2 XCHG - 2 GETGLOBVAR - s0 s1 XCHG - -1 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> IFJMPREF - 0 EQINT - <{ - s0 POP - }> PUSHCONT - <{ - HASHSU - s0 PUSH - 4214924782860224305093503934954653493962198591343413308822612294567774196964 PUSHINT - EQUAL - <{ - s0 POP - ?fun_ref_35af19566d399dc8 INLINECALLDICT - s4 PUSH - NOT - <{ - s5 PUSH - 0 PUSHINT - RAWRESERVE - }> PUSHCONT - IF - 0 PUSHINT - s10 PUSH - 7 PUSHPOW2 - -1 PUSHINT - s3 s3 XCHG2 - NULL - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - s0 PUSH - 93123902270892132095354917739784821433563747504193043765606083110690163107050 PUSHINT - EQUAL - <{ - s0 POP - s4 POP - -1 PUSHINT - 0 PUSHINT - s10 PUSH - 7 PUSHPOW2 - -1 PUSHINT - s3 s3 XCHG2 - NULL - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - s0 s4 XCHG - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - 85478235227686204299312064008631277118150318603456584517510472216578858763521 PUSHINT - EQUAL - <{ - ?fun_ref_eceefc8eefa1c6b7 INLINECALLDICT - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> IFREFELSE - 0 PUSHINT - }> - ?fun_ref_92a14dd4ce561b44 PROCREF:<{ - 40368 PUSHINT - s4 PUSH - NOT - THROWANYIFNOT - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_d9e1b9d1e5ec3b45 PROCREF:<{ - s9 PUSH - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_eceefc8eefa1c6b7 PROCREF:<{ - ?fun_ref_35af19566d399dc8 INLINECALLDICT - ?fun_ref_92a14dd4ce561b44 INLINECALLDICT - s3 POP - -1 PUSHINT - x{0000000053746F70706564} PUSHREF - s1 s4 XCHG - 2 GETGLOBVAR - s0 s1 XCHG - -1 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - }> -}END>c \ No newline at end of file diff --git a/examples/output/rugpull_RugPull.constants.fc b/examples/output/rugpull_RugPull.constants.fc deleted file mode 100644 index 81427952b..000000000 --- a/examples/output/rugpull_RugPull.constants.fc +++ /dev/null @@ -1,2 +0,0 @@ -;; Comment "Stopped" -cell __gen_cell_comment_8f4b6a166554b4f282855d0333c627d5b58d281ea4ba11e4def91a1053193b2d() asm "B{b5ee9c7241010101000d0000160000000053746f707065646f94ddb2} B>boc PUSHREF"; \ No newline at end of file diff --git a/examples/output/rugpull_RugPull.headers.fc b/examples/output/rugpull_RugPull.headers.fc deleted file mode 100644 index 96a8b68ef..000000000 --- a/examples/output/rugpull_RugPull.headers.fc +++ /dev/null @@ -1,109 +0,0 @@ -;; -;; Header files for RugPull -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_dict_set_int_slice -(cell, ()) __tact_dict_set_int_slice(cell d, int kl, int k, slice v) inline; - -;; __tact_dict_get_int_slice -slice __tact_dict_get_int_slice(cell d, int kl, int k) inline; - -;; __tact_slice_eq_bits -int __tact_slice_eq_bits(slice a, slice b) inline; - -;; $ChangeOwner$_load -(slice, ((int, slice))) $ChangeOwner$_load(slice sc_0) inline; - -;; $ChangeOwnerOk$_store -builder $ChangeOwnerOk$_store(builder build_0, (int, slice) v) inline; - -;; $ChangeOwnerOk$_store_cell -cell $ChangeOwnerOk$_store_cell((int, slice) v) inline; - -;; $RugPull$_store -builder $RugPull$_store(builder build_0, (slice, int, int, int, int, int, int, int, int, cell) v) inline; - -;; $RugPull$_load -(slice, ((slice, int, int, int, int, int, int, int, int, cell))) $RugPull$_load(slice sc_0) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $RugParams$_to_external -(int, int, int) $RugParams$_to_external(((int, int, int)) v) inline; - -;; $RugPull$init$_load -(slice, ((slice, int, int, int))) $RugPull$init$_load(slice sc_0) inline; - -;; $RugPull$_contract_init -(slice, int, int, int, int, int, int, int, int, cell) $RugPull$_contract_init(slice $owner, int $investment, int $returns, int $fee) impure inline_ref; - -;; $RugPull$_contract_load -(slice, int, int, int, int, int, int, int, int, cell) $RugPull$_contract_load() impure inline_ref; - -;; $RugPull$_contract_store -() $RugPull$_contract_store((slice, int, int, int, int, int, int, int, int, cell) v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $SendParameters$_constructor_value_to_mode -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode(int value, slice to, int mode) inline; - -;; $RugPull$_fun_sendPayout -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_fun_sendPayout((slice, int, int, int, int, int, int, int, int, cell) $self, slice $to, int $value) impure inline_ref; - -;; $RugParams$_constructor_investment_returns_fee -((int, int, int)) $RugParams$_constructor_investment_returns_fee(int investment, int returns, int fee) inline; - -;; $RugPull$_fun_params -((slice, int, int, int, int, int, int, int, int, cell), (int, int, int)) $RugPull$_fun_params((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $RugPull$_fun_forward -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_fun_forward((slice, int, int, int, int, int, int, int, int, cell) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $RugPull$_fun_reply -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_fun_reply((slice, int, int, int, int, int, int, int, int, cell) $self, cell $body) impure inline; - -;; $RugPull$_fun_requireOwner -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_fun_requireOwner((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline_ref; - -;; $RugPull$_fun_owner -((slice, int, int, int, int, int, int, int, int, cell), slice) $RugPull$_fun_owner((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline_ref; - -;; $RugPull$_fun_requireNotStopped -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_fun_requireNotStopped((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline_ref; - -;; $RugPull$_fun_stopped -((slice, int, int, int, int, int, int, int, int, cell), int) $RugPull$_fun_stopped((slice, int, int, int, int, int, int, int, int, cell) $self) impure inline_ref; - -;; $ChangeOwnerOk$_constructor_queryId_newOwner -((int, slice)) $ChangeOwnerOk$_constructor_queryId_newOwner(int queryId, slice newOwner) inline; diff --git a/examples/output/rugpull_RugPull.md b/examples/output/rugpull_RugPull.md deleted file mode 100644 index e5ba876ca..000000000 --- a/examples/output/rugpull_RugPull.md +++ /dev/null @@ -1,68 +0,0 @@ -# TACT Compilation Report -Contract: RugPull -BOC Size: 1425 bytes - -# Types -Total Types: 6 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## ChangeOwner -TLB: `change_owner#819dbe99 queryId:uint64 newOwner:address = ChangeOwner` -Signature: `ChangeOwner{queryId:uint64,newOwner:address}` - -## ChangeOwnerOk -TLB: `change_owner_ok#327b2b4a queryId:uint64 newOwner:address = ChangeOwnerOk` -Signature: `ChangeOwnerOk{queryId:uint64,newOwner:address}` - -## RugParams -TLB: `_ investment:int257 returns:int257 fee:int257 = RugParams` -Signature: `RugParams{investment:int257,returns:int257,fee:int257}` - -# Get Methods -Total Get Methods: 3 - -## params - -## owner - -## stopped - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -16059: Invalid value -40368: Contract stopped -53296: Contract not stopped \ No newline at end of file diff --git a/examples/output/rugpull_RugPull.pkg b/examples/output/rugpull_RugPull.pkg deleted file mode 100644 index 2d6541b26..000000000 --- a/examples/output/rugpull_RugPull.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"RugPull","code":"te6ccgECJAEABYUAART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVGds88uCCIAQFAgEgExQDZO2i7fsBkjB/4HAh10nCH5UwINcLH94gwAAi10nBIbDjAiCCEIGdvpm64wLAAJEw4w1wBgcIAMTI+EMBzH8BygBVkFCpINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WF4EBAc8AFYEBAc8AA8iBAQHPABKBAQHPAMoAEsoAEoEBAc8AA8iBAQHPABL0AMlYzMkBzMntVAPkW9s8JI6McCqDBn9QM21tbds8jtz4QW8kMDKBPrtTuaATvhLy9IEBAVIyIG6VMFn0WjCUQTP0FOIBpFFYoJxTB7yVU1KhwgCRcOKOoSGBAQEkWfQMb6GSMG3fIG7y0IBRGKEDpFE4F0Mw2zxQBehQVeJ/DREJAvww0x8BghCBnb6ZuvLggdM/+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBJsElWR2zw5UanIWYIQMnsrSlADyx/LPwEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJEJoQeRBoEFcQRhA1RDAS+EIBf23bPH8MEAT6+QEggvAJUZAZSu5hHOiVxVA634X9hk3nkFdGFC9gjT6y+q0U5LqPGjDbPCSzlCVw+wLecCqDBn9QM21tbds8f9sx4CCC8M3iQsbKxWCpn/LSaD7g+xYpqBiuwPEWZRHNgizyDaTquo6TMDR/cCqDBn9QM21tbds8BH/bMeAMEREKARQBcn9QM21tbds8EQFWgvC8+vd2kHxxnMjTedjxlKqqJ+jKKHHNWReBch8hWkVFAbqOhds8f9sx4AsEENs82zwzf4gUDA0ODwAS+EJSoMcF8uCEABCCAJ2wJLPy9AAWAAAAAFN0b3BwZWQBDvhCAX9t2zwQATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPBEByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsAEgCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAIBIBUWAgEgGRoCEboXvbPNs8bKGCAXAhG4Ud2zzbPGyhggGAACIwACKQHdu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJw8ud/q+aF6CzkWq0KuwWxSoJwQM51aecV+dJQsB1hbiZHsoGwIBSBwdACSCcJEwaGam6KQ2fuBHvgVRj4kCAUgeHwB1sm7jQ1aXBmczovL1FtYmJkenc1ZEtXVGVpZnhjckUyalo1QmtOS0RxU0RyN3pwU1ZDOVdtYlZvRWeCAAEKq+7UTQ0gABAhCq1ds82zxsoyAhAdbtRNDUAfhj0gABjlP6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAYEBAdcAgQEB1wDUAdCBAQHXAIEBAdcA0gDSAIEBAdcA1DDQgQEB1wD0BDAQehB5EHhsGuD4KNcLCoMJuvLgiSIABlR4dgF4+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAGBAQHXAIEBAdcA1AHQgQEB1wAwFEMwBNFVAts8IwASbXBwVGAEcFUg","abi":"{\"name\":\"RugPull\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"ChangeOwner\",\"header\":2174598809,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"ChangeOwnerOk\",\"header\":846932810,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"RugParams\",\"header\":null,\"fields\":[{\"name\":\"investment\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"returns\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"fee\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"withdraw\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"rugpull\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"ChangeOwner\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Stop\"}}],\"getters\":[{\"name\":\"params\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"RugParams\",\"optional\":false}},{\"name\":\"owner\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"stopped\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"16059\":{\"message\":\"Invalid value\"},\"40368\":{\"message\":\"Contract stopped\"},\"53296\":{\"message\":\"Contract not stopped\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\",\"org.ton.ownable.transferable.v2\",\"org.ton.ownable\",\"org.ton.stoppable\"]}","init":{"kind":"direct","args":[{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"investment","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"returns","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"fee","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECJgEABY8AAQHAAQEFoK6fAgEU/wD0pBP0vPLICwMCAWITBAIBIA4FAgEgDAYCAUgIBwB1sm7jQ1aXBmczovL1FtYmJkenc1ZEtXVGVpZnhjckUyalo1QmtOS0RxU0RyN3pwU1ZDOVdtYlZvRWeCACAUgLCQIQqtXbPNs8bKMjCgAGVHh2ABCqvu1E0NIAAQHdu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJw8ud/q+aF6CzkWq0KuwWxSoJwQM51aecV+dJQsB1hbiZHsoDQAkgnCRMGhmpuikNn7gR74FUY+JAgEgEQ8CEbhR3bPNs8bKGCMQAAIpAhG6F72zzbPGyhgjEgACIwN60AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRnbPPLggiMVFADEyPhDAcx/AcoAVZBQqSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFheBAQHPABWBAQHPAAPIgQEBzwASgQEBzwDKABLKABKBAQHPAAPIgQEBzwAS9ADJWMzJAczJ7VQDZO2i7fsBkjB/4HAh10nCH5UwINcLH94gwAAi10nBIbDjAiCCEIGdvpm64wLAAJEw4w1wHhsWBPr5ASCC8AlRkBlK7mEc6JXFUDrfhf2GTeeQV0YUL2CNPrL6rRTkuo8aMNs8JLOUJXD7At5wKoMGf1AzbW1t2zx/2zHgIILwzeJCxsrFYKmf8tJoPuD7FimoGK7A8RZlEc2CLPINpOq6jpMwNH9wKoMGf1AzbW1t2zwEf9sx4B0gIBcBVoLwvPr3dpB8cZzI03nY8ZSqqifoyihxzVkXgXIfIVpFRQG6joXbPH/bMeAYBBDbPNs8M3+IFB0iGhkBDvhCAX9t2zwcABYAAAAAU3RvcHBlZAL8MNMfAYIQgZ2+mbry4IHTP/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSbBJVkds8OVGpyFmCEDJ7K0pQA8sfyz8BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WyRCaEHkQaBBXEEYQNUQwEvhCAX9t2zx/HRwBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8IAAS+EJSoMcF8uCEA+Rb2zwkjoxwKoMGf1AzbW1t2zyO3PhBbyQwMoE+u1O5oBO+EvL0gQEBUjIgbpUwWfRaMJRBM/QU4gGkUVignFMHvJVTUqHCAJFw4o6hIYEBASRZ9AxvoZIwbd8gbvLQgFEYoQOkUTgXQzDbPFAF6FBV4n8iIB8BFAFyf1AzbW1t2zwgAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ACEAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAEIIAnbAks/L0AdbtRNDUAfhj0gABjlP6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAYEBAdcAgQEB1wDUAdCBAQHXAIEBAdcA0gDSAIEBAdcA1DDQgQEB1wD0BDAQehB5EHhsGuD4KNcLCoMJuvLgiSQBePpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgBgQEB1wCBAQHXANQB0IEBAdcAMBRDMATRVQLbPCUAEm1wcFRgBHBVIEtCxkk="}},"sources":{"examples\\rugpull.tact":"aW1wb3J0ICJAc3RkbGliL293bmFibGUiOw0KaW1wb3J0ICJAc3RkbGliL3N0b3BwYWJsZSI7DQoNCnN0cnVjdCBSdWdQYXJhbXMgew0KICAgIGludmVzdG1lbnQ6IEludDsNCiAgICByZXR1cm5zOiBJbnQ7DQogICAgZmVlOiBJbnQ7DQp9DQoNCmNvbnRyYWN0IFJ1Z1B1bGwgd2l0aCBPd25hYmxlVHJhbnNmZXJhYmxlLCBTdG9wcGFibGUgew0KDQogICAgLy8gUGFyYW1ldGVycw0KICAgIG93bmVyOiBBZGRyZXNzOw0KICAgIGludmVzdG1lbnQ6IEludDsNCiAgICByZXR1cm5zOiBJbnQ7DQogICAgZmVlOiBJbnQ7DQogICAgYmFsYW5jZTogSW50Ow0KICAgIHJ1Z3B1bGxlZDogQm9vbDsNCiAgICBzdG9wcGVkOiBCb29sOw0KDQogICAgLy8gUXVldWUNCiAgICBxdWV1ZVN0YXJ0OiBJbnQ7DQogICAgcXVldWVFbmQ6IEludDsNCiAgICBxdWV1ZTogbWFwPEludCwgQWRkcmVzcz47DQogICAgDQogICAgaW5pdChvd25lcjogQWRkcmVzcywgaW52ZXN0bWVudDogSW50LCByZXR1cm5zOiBJbnQsIGZlZTogSW50KSB7DQogICAgICAgIHNlbGYub3duZXIgPSBvd25lcjsNCiAgICAgICAgc2VsZi5ydWdwdWxsZWQgPSBmYWxzZTsNCiAgICAgICAgc2VsZi5xdWV1ZVN0YXJ0ID0gMDsNCiAgICAgICAgc2VsZi5xdWV1ZUVuZCA9IDA7DQogICAgICAgIHNlbGYuYmFsYW5jZSA9IDA7DQogICAgICAgIHNlbGYuaW52ZXN0bWVudCA9IGludmVzdG1lbnQ7DQogICAgICAgIHNlbGYucmV0dXJucyA9IHJldHVybnM7DQogICAgICAgIHNlbGYuZmVlID0gZmVlOw0KICAgICAgICBzZWxmLnN0b3BwZWQgPSBmYWxzZTsNCiAgICB9DQoNCiAgICByZWNlaXZlKCkgew0KDQogICAgICAgIC8vIE11c3Qgbm90IGJlIHN0b3BwZWQgc3RvcA0KICAgICAgICBzZWxmLnJlcXVpcmVOb3RTdG9wcGVkKCk7DQoNCiAgICAgICAgLy8gRm93cmFkIGV2ZXJ5dGhpbmcgdG8gb3duZXIgaWYgcnVncHVsbGVkDQogICAgICAgIGlmIChzZWxmLnJ1Z3B1bGxlZCkgew0KICAgICAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3t2YWx1ZTogMCwgdG86IHNlbGYub3duZXIsIG1vZGU6IFNlbmRSZW1haW5pbmdCYWxhbmNlIH0pOw0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gQ2hlY2sgaWYgdmFsdWUgb2sNCiAgICAgICAgbGV0IGN0eDogQ29udGV4dCA9IGNvbnRleHQoKTsNCiAgICAgICAgcmVxdWlyZShjdHgudmFsdWUgPj0gKHNlbGYuaW52ZXN0bWVudCArIHNlbGYuZmVlKSwgIkludmFsaWQgdmFsdWUiKTsNCg0KICAgICAgICAvLyBBZGQgdG8gcXVldWUNCiAgICAgICAgc2VsZi5xdWV1ZS5zZXQoc2VsZi5xdWV1ZUVuZCwgY3R4LnNlbmRlcik7DQogICAgICAgIHNlbGYucXVldWVFbmQgPSBzZWxmLnF1ZXVlRW5kICsgMTsNCiAgICAgICAgc2VsZi5iYWxhbmNlID0gc2VsZi5iYWxhbmNlICsgc2VsZi5pbnZlc3RtZW50Ow0KDQogICAgICAgIC8vIFBlcmZvcm0gcGF5b3V0cw0KICAgICAgICB3aGlsZSgoc2VsZi5iYWxhbmNlID4gc2VsZi5yZXR1cm5zKSAmJiAoc2VsZi5xdWV1ZUVuZCAtIHNlbGYucXVldWVTdGFydCA+IDApKSB7DQogICAgICAgICAgICBsZXQgaW52ZXN0b3I6IEFkZHJlc3MgPSBzZWxmLnF1ZXVlLmdldChzZWxmLnF1ZXVlU3RhcnQpISE7DQogICAgICAgICAgICBzZWxmLmJhbGFuY2UgPSBzZWxmLmJhbGFuY2UgLSBzZWxmLnJldHVybnM7DQogICAgICAgICAgICBzZWxmLnF1ZXVlU3RhcnQgPSBzZWxmLnF1ZXVlU3RhcnQgKyAxOw0KICAgICAgICAgICAgc2VsZi5zZW5kUGF5b3V0KGludmVzdG9yLCBzZWxmLnJldHVybnMpOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgcmVjZWl2ZSgid2l0aGRyYXciKSB7DQogICAgICAgIHNlbGYucmVxdWlyZU93bmVyKCk7DQogICAgICAgIGlmICghc2VsZi5ydWdwdWxsZWQpIHsNCiAgICAgICAgICAgIG5hdGl2ZVJlc2VydmUoc2VsZi5iYWxhbmNlLCAwKTsNCiAgICAgICAgfQ0KICAgICAgICBzZW5kKFNlbmRQYXJhbWV0ZXJze3ZhbHVlOiAwLCB0bzogc2VsZi5vd25lciwgbW9kZTogU2VuZFJlbWFpbmluZ0JhbGFuY2UgfSk7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgicnVncHVsbCIpIHsNCiAgICAgICAgc2VsZi5ydWdwdWxsZWQgPSB0cnVlOw0KICAgICAgICBzZW5kKFNlbmRQYXJhbWV0ZXJze3ZhbHVlOiAwLCB0bzogc2VsZi5vd25lciwgbW9kZTogU2VuZFJlbWFpbmluZ0JhbGFuY2UgfSk7DQogICAgfSANCg0KICAgIGZ1biBzZW5kUGF5b3V0KHRvOiBBZGRyZXNzLCB2YWx1ZTogSW50KSB7DQogICAgICAgIHNlbmQoU2VuZFBhcmFtZXRlcnN7dmFsdWU6IHZhbHVlLCB0bzogdG8sIG1vZGU6IFNlbmRJZ25vcmVFcnJvcnMgfSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBwYXJhbXMoKTogUnVnUGFyYW1zIHsNCiAgICAgICAgcmV0dXJuIFJ1Z1BhcmFtc3tpbnZlc3RtZW50OiBzZWxmLmludmVzdG1lbnQsIHJldHVybnM6IHNlbGYucmV0dXJucywgZmVlOiBzZWxmLmZlZX07DQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/rugpull.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/rugpull_RugPull.stdlib.fc b/examples/output/rugpull_RugPull.stdlib.fc deleted file mode 100644 index e65e2060b..000000000 --- a/examples/output/rugpull_RugPull.stdlib.fc +++ /dev/null @@ -1,138 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -(cell, ()) __tact_dict_set_int_slice(cell d, int kl, int k, slice v) inline { - if (null?(v)) { - var (r, ok) = idict_delete?(d, kl, k); - return (r, ()); - } else { - return (idict_set(d, kl, k, v), ()); - } -} - -slice __tact_dict_get_int_slice(cell d, int kl, int k) inline { - var (r, ok) = idict_get?(d, kl, k); - if (ok) { - return r; - } else { - return null(); - } -} - -int __tact_slice_eq_bits(slice a, slice b) inline { - return equal_slice_bits(a, b); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_fun_forward((slice, int, int, int, int, int, int, int, int, cell) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), ()); -} - -((slice, int, int, int, int, int, int, int, int, cell), ()) $RugPull$_fun_reply((slice, int, int, int, int, int, int, int, int, cell) $self, cell $body) impure inline { - var (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)) = $self; - ($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue)~$RugPull$_fun_forward(__tact_context_get_sender(), $body, true, null()); - return (($self'owner, $self'investment, $self'returns, $self'fee, $self'balance, $self'rugpulled, $self'stopped, $self'queueStart, $self'queueEnd, $self'queue), ()); -} \ No newline at end of file diff --git a/examples/output/rugpull_RugPull.storage.fc b/examples/output/rugpull_RugPull.storage.fc deleted file mode 100644 index 62d96d700..000000000 --- a/examples/output/rugpull_RugPull.storage.fc +++ /dev/null @@ -1,143 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode(int value, slice to, int mode) inline { - return (true, to, value, mode, null(), null(), null()); -} - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: ChangeOwner -;; Header: 0x819dbe99 -;; TLB: change_owner#819dbe99 queryId:uint64 newOwner:address = ChangeOwner -;; - -(slice, ((int, slice))) $ChangeOwner$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2174598809); - var v'queryId = sc_0~load_uint(64); - var v'newOwner = sc_0~__tact_load_address(); - return (sc_0, (v'queryId, v'newOwner)); -} - -;; -;; Type: ChangeOwnerOk -;; Header: 0x327b2b4a -;; TLB: change_owner_ok#327b2b4a queryId:uint64 newOwner:address = ChangeOwnerOk -;; - -builder $ChangeOwnerOk$_store(builder build_0, (int, slice) v) inline { - var (v'queryId, v'newOwner) = v; - build_0 = store_uint(build_0, 846932810, 32); - build_0 = build_0.store_uint(v'queryId, 64); - build_0 = __tact_store_address(build_0, v'newOwner); - return build_0; -} - -cell $ChangeOwnerOk$_store_cell((int, slice) v) inline { - return $ChangeOwnerOk$_store(begin_cell(), v).end_cell(); -} - -((int, slice)) $ChangeOwnerOk$_constructor_queryId_newOwner(int queryId, slice newOwner) inline { - return (queryId, newOwner); -} - -;; -;; Type: RugParams -;; TLB: _ investment:int257 returns:int257 fee:int257 = RugParams -;; - -(int, int, int) $RugParams$_to_external(((int, int, int)) v) inline { - var (v'investment, v'returns, v'fee) = v; - return (v'investment, v'returns, v'fee); -} - -((int, int, int)) $RugParams$_constructor_investment_returns_fee(int investment, int returns, int fee) inline { - return (investment, returns, fee); -} - -;; -;; Type: RugPull -;; - -builder $RugPull$_store(builder build_0, (slice, int, int, int, int, int, int, int, int, cell) v) inline { - var (v'owner, v'investment, v'returns, v'fee, v'balance, v'rugpulled, v'stopped, v'queueStart, v'queueEnd, v'queue) = v; - build_0 = __tact_store_address(build_0, v'owner); - build_0 = build_0.store_int(v'investment, 257); - build_0 = build_0.store_int(v'returns, 257); - var build_1 = begin_cell(); - build_1 = build_1.store_int(v'fee, 257); - build_1 = build_1.store_int(v'balance, 257); - build_1 = build_1.store_int(v'rugpulled, 1); - build_1 = build_1.store_int(v'stopped, 1); - build_1 = build_1.store_int(v'queueStart, 257); - var build_2 = begin_cell(); - build_2 = build_2.store_int(v'queueEnd, 257); - build_2 = build_2.store_dict(v'queue); - build_1 = store_ref(build_1, build_2.end_cell()); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((slice, int, int, int, int, int, int, int, int, cell))) $RugPull$_load(slice sc_0) inline { - var v'owner = sc_0~__tact_load_address(); - var v'investment = sc_0~load_int(257); - var v'returns = sc_0~load_int(257); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'fee = sc_1~load_int(257); - var v'balance = sc_1~load_int(257); - var v'rugpulled = sc_1~load_int(1); - var v'stopped = sc_1~load_int(1); - var v'queueStart = sc_1~load_int(257); - slice sc_2 = sc_1~load_ref().begin_parse(); - var v'queueEnd = sc_2~load_int(257); - var v'queue = sc_2~load_dict(); - return (sc_0, (v'owner, v'investment, v'returns, v'fee, v'balance, v'rugpulled, v'stopped, v'queueStart, v'queueEnd, v'queue)); -} - -(slice, ((slice, int, int, int))) $RugPull$init$_load(slice sc_0) inline { - var v'owner = sc_0~__tact_load_address(); - var v'investment = sc_0~load_int(257); - var v'returns = sc_0~load_int(257); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'fee = sc_1~load_int(257); - return (sc_0, (v'owner, v'investment, v'returns, v'fee)); -} - -(slice, int, int, int, int, int, int, int, int, cell) $RugPull$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$RugPull$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (slice owner, int investment, int returns, int fee) = $sc~$RugPull$init$_load(); - $sc.end_parse(); - return $RugPull$_contract_init(owner, investment, returns, fee); - } -} - -() $RugPull$_contract_store((slice, int, int, int, int, int, int, int, int, cell) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $RugPull$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/rugpull_RugPull.ts b/examples/output/rugpull_RugPull.ts deleted file mode 100644 index 6a8233151..000000000 --- a/examples/output/rugpull_RugPull.ts +++ /dev/null @@ -1,496 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwner = { - $$type: 'ChangeOwner'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwner(src: ChangeOwner) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2174598809, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwner(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2174598809) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwner(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwner(source: ChangeOwner) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwner(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwner(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwner(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwnerOk = { - $$type: 'ChangeOwnerOk'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwnerOk(src: ChangeOwnerOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(846932810, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwnerOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 846932810) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwnerOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwnerOk(source: ChangeOwnerOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwnerOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwnerOk(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwnerOk(src.loadRef().beginParse()); - } - } -} - -export type RugParams = { - $$type: 'RugParams'; - investment: bigint; - returns: bigint; - fee: bigint; -} - -export function storeRugParams(src: RugParams) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.investment, 257); - b_0.storeInt(src.returns, 257); - b_0.storeInt(src.fee, 257); - }; -} - -export function loadRugParams(slice: Slice) { - let sc_0 = slice; - let _investment = sc_0.loadIntBig(257); - let _returns = sc_0.loadIntBig(257); - let _fee = sc_0.loadIntBig(257); - return { $$type: 'RugParams' as const, investment: _investment, returns: _returns, fee: _fee }; -} - -function loadTupleRugParams(source: TupleReader) { - let _investment = source.readBigNumber(); - let _returns = source.readBigNumber(); - let _fee = source.readBigNumber(); - return { $$type: 'RugParams' as const, investment: _investment, returns: _returns, fee: _fee }; -} - -function storeTupleRugParams(source: RugParams) { - let builder = new TupleBuilder(); - builder.writeNumber(source.investment); - builder.writeNumber(source.returns); - builder.writeNumber(source.fee); - return builder.build(); -} - -function dictValueParserRugParams(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeRugParams(src)).endCell()); - }, - parse: (src) => { - return loadRugParams(src.loadRef().beginParse()); - } - } -} - - type RugPull_init_args = { - $$type: 'RugPull_init_args'; - owner: Address; - investment: bigint; - returns: bigint; - fee: bigint; -} - -function initRugPull_init_args(src: RugPull_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeAddress(src.owner); - b_0.storeInt(src.investment, 257); - b_0.storeInt(src.returns, 257); - let b_1 = new Builder(); - b_1.storeInt(src.fee, 257); - b_0.storeRef(b_1.endCell()); - }; -} - -async function RugPull_init(owner: Address, investment: bigint, returns: bigint, fee: bigint) { - const __code = Cell.fromBase64('te6ccgECJAEABYUAART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVGds88uCCIAQFAgEgExQDZO2i7fsBkjB/4HAh10nCH5UwINcLH94gwAAi10nBIbDjAiCCEIGdvpm64wLAAJEw4w1wBgcIAMTI+EMBzH8BygBVkFCpINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WF4EBAc8AFYEBAc8AA8iBAQHPABKBAQHPAMoAEsoAEoEBAc8AA8iBAQHPABL0AMlYzMkBzMntVAPkW9s8JI6McCqDBn9QM21tbds8jtz4QW8kMDKBPrtTuaATvhLy9IEBAVIyIG6VMFn0WjCUQTP0FOIBpFFYoJxTB7yVU1KhwgCRcOKOoSGBAQEkWfQMb6GSMG3fIG7y0IBRGKEDpFE4F0Mw2zxQBehQVeJ/DREJAvww0x8BghCBnb6ZuvLggdM/+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBJsElWR2zw5UanIWYIQMnsrSlADyx/LPwEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJEJoQeRBoEFcQRhA1RDAS+EIBf23bPH8MEAT6+QEggvAJUZAZSu5hHOiVxVA634X9hk3nkFdGFC9gjT6y+q0U5LqPGjDbPCSzlCVw+wLecCqDBn9QM21tbds8f9sx4CCC8M3iQsbKxWCpn/LSaD7g+xYpqBiuwPEWZRHNgizyDaTquo6TMDR/cCqDBn9QM21tbds8BH/bMeAMEREKARQBcn9QM21tbds8EQFWgvC8+vd2kHxxnMjTedjxlKqqJ+jKKHHNWReBch8hWkVFAbqOhds8f9sx4AsEENs82zwzf4gUDA0ODwAS+EJSoMcF8uCEABCCAJ2wJLPy9AAWAAAAAFN0b3BwZWQBDvhCAX9t2zwQATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPBEByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsAEgCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAIBIBUWAgEgGRoCEboXvbPNs8bKGCAXAhG4Ud2zzbPGyhggGAACIwACKQHdu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJw8ud/q+aF6CzkWq0KuwWxSoJwQM51aecV+dJQsB1hbiZHsoGwIBSBwdACSCcJEwaGam6KQ2fuBHvgVRj4kCAUgeHwB1sm7jQ1aXBmczovL1FtYmJkenc1ZEtXVGVpZnhjckUyalo1QmtOS0RxU0RyN3pwU1ZDOVdtYlZvRWeCAAEKq+7UTQ0gABAhCq1ds82zxsoyAhAdbtRNDUAfhj0gABjlP6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAYEBAdcAgQEB1wDUAdCBAQHXAIEBAdcA0gDSAIEBAdcA1DDQgQEB1wD0BDAQehB5EHhsGuD4KNcLCoMJuvLgiSIABlR4dgF4+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAGBAQHXAIEBAdcA1AHQgQEB1wAwFEMwBNFVAts8IwASbXBwVGAEcFUg'); - const __system = Cell.fromBase64('te6cckECJgEABY8AAQHAAQEFoK6fAgEU/wD0pBP0vPLICwMCAWITBAIBIA4FAgEgDAYCAUgIBwB1sm7jQ1aXBmczovL1FtYmJkenc1ZEtXVGVpZnhjckUyalo1QmtOS0RxU0RyN3pwU1ZDOVdtYlZvRWeCACAUgLCQIQqtXbPNs8bKMjCgAGVHh2ABCqvu1E0NIAAQHdu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJw8ud/q+aF6CzkWq0KuwWxSoJwQM51aecV+dJQsB1hbiZHsoDQAkgnCRMGhmpuikNn7gR74FUY+JAgEgEQ8CEbhR3bPNs8bKGCMQAAIpAhG6F72zzbPGyhgjEgACIwN60AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRnbPPLggiMVFADEyPhDAcx/AcoAVZBQqSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFheBAQHPABWBAQHPAAPIgQEBzwASgQEBzwDKABLKABKBAQHPAAPIgQEBzwAS9ADJWMzJAczJ7VQDZO2i7fsBkjB/4HAh10nCH5UwINcLH94gwAAi10nBIbDjAiCCEIGdvpm64wLAAJEw4w1wHhsWBPr5ASCC8AlRkBlK7mEc6JXFUDrfhf2GTeeQV0YUL2CNPrL6rRTkuo8aMNs8JLOUJXD7At5wKoMGf1AzbW1t2zx/2zHgIILwzeJCxsrFYKmf8tJoPuD7FimoGK7A8RZlEc2CLPINpOq6jpMwNH9wKoMGf1AzbW1t2zwEf9sx4B0gIBcBVoLwvPr3dpB8cZzI03nY8ZSqqifoyihxzVkXgXIfIVpFRQG6joXbPH/bMeAYBBDbPNs8M3+IFB0iGhkBDvhCAX9t2zwcABYAAAAAU3RvcHBlZAL8MNMfAYIQgZ2+mbry4IHTP/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSbBJVkds8OVGpyFmCEDJ7K0pQA8sfyz8BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WyRCaEHkQaBBXEEYQNUQwEvhCAX9t2zx/HRwBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8IAAS+EJSoMcF8uCEA+Rb2zwkjoxwKoMGf1AzbW1t2zyO3PhBbyQwMoE+u1O5oBO+EvL0gQEBUjIgbpUwWfRaMJRBM/QU4gGkUVignFMHvJVTUqHCAJFw4o6hIYEBASRZ9AxvoZIwbd8gbvLQgFEYoQOkUTgXQzDbPFAF6FBV4n8iIB8BFAFyf1AzbW1t2zwgAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ACEAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAEIIAnbAks/L0AdbtRNDUAfhj0gABjlP6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAYEBAdcAgQEB1wDUAdCBAQHXAIEBAdcA0gDSAIEBAdcA1DDQgQEB1wD0BDAQehB5EHhsGuD4KNcLCoMJuvLgiSQBePpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgBgQEB1wCBAQHXANQB0IEBAdcAMBRDMATRVQLbPCUAEm1wcFRgBHBVIEtCxkk='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initRugPull_init_args({ $$type: 'RugPull_init_args', owner, investment, returns, fee })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const RugPull_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 16059: { message: `Invalid value` }, - 40368: { message: `Contract stopped` }, - 53296: { message: `Contract not stopped` }, -} - -const RugPull_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"RugParams","header":null,"fields":[{"name":"investment","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"returns","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"fee","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const RugPull_getters: ABIGetter[] = [ - {"name":"params","arguments":[],"returnType":{"kind":"simple","type":"RugParams","optional":false}}, - {"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}, - {"name":"stopped","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}}, -] - -const RugPull_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, - {"receiver":"internal","message":{"kind":"text","text":"withdraw"}}, - {"receiver":"internal","message":{"kind":"text","text":"rugpull"}}, - {"receiver":"internal","message":{"kind":"typed","type":"ChangeOwner"}}, - {"receiver":"internal","message":{"kind":"text","text":"Stop"}}, -] - -export class RugPull implements Contract { - - static async init(owner: Address, investment: bigint, returns: bigint, fee: bigint) { - return await RugPull_init(owner, investment, returns, fee); - } - - static async fromInit(owner: Address, investment: bigint, returns: bigint, fee: bigint) { - const init = await RugPull_init(owner, investment, returns, fee); - const address = contractAddress(0, init); - return new RugPull(address, init); - } - - static fromAddress(address: Address) { - return new RugPull(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: RugPull_types, - getters: RugPull_getters, - receivers: RugPull_receivers, - errors: RugPull_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null | 'withdraw' | 'rugpull' | ChangeOwner | 'Stop') { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (message === 'withdraw') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message === 'rugpull') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'ChangeOwner') { - body = beginCell().store(storeChangeOwner(message)).endCell(); - } - if (message === 'Stop') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getParams(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('params', builder.build())).stack; - const result = loadTupleRugParams(source); - return result; - } - - async getOwner(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('owner', builder.build())).stack; - let result = source.readAddress(); - return result; - } - - async getStopped(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('stopped', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - -} \ No newline at end of file diff --git a/examples/output/treasure_Treasure.abi b/examples/output/treasure_Treasure.abi deleted file mode 100644 index 668a7654d..000000000 --- a/examples/output/treasure_Treasure.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Treasure","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"Withdraw","header":1672521544,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"mode","type":{"kind":"simple","type":"uint","optional":false,"format":8}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"Withdraw"}},{"receiver":"internal","message":{"kind":"text","text":"Destroy"}},{"receiver":"internal","message":{"kind":"typed","type":"ChangeOwner"}}],"getters":[{"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0","org.ton.ownable.transferable.v2","org.ton.ownable"]} \ No newline at end of file diff --git a/examples/output/treasure_Treasure.code.boc b/examples/output/treasure_Treasure.code.boc deleted file mode 100644 index d6b1e5cd7..000000000 Binary files a/examples/output/treasure_Treasure.code.boc and /dev/null differ diff --git a/examples/output/treasure_Treasure.code.boc.html b/examples/output/treasure_Treasure.code.boc.html deleted file mode 100644 index 267cad5be..000000000 --- a/examples/output/treasure_Treasure.code.boc.html +++ /dev/null @@ -1,496 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC owner;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_40d98146a47dbe3b;
-            ..DECLPROC ?fun_ref_b2a86599f7ca9aa6;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_d3b57c1b222ed8f3;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            ..DECLPROC ?fun_ref_ed0c6f0c0e19c38a;
-            ..DECLPROC ?fun_ref_f171cd1f30aaaa1c;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT
-            ....ROTREV
-            ....?fun_ref_d3b57c1b222ed8f3 INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..owner PROC:<{
-            ....?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT
-            ....?fun_ref_40d98146a47dbe3b INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ....322875185039650075936310953974817993034 PUSHINT
-            ....86142586315491086060343270784266291122 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D51795A7239745843666D5962386575454A5A475357385A696747757746504854586A546E745072314B41374882_} PUSHSLICE
-            ..}>
-            x7..?fun_ref_40d98146a47dbe3b PROCREF:<{
-            18x7....s0 PUSH
-            x7..}>
-            ..?fun_ref_b2a86599f7ca9aa6 PROCREF:<{
-            ....s0 s2 XCHG
-            ....?fun_ref_f171cd1f30aaaa1c INLINECALLDICT
-            ....NEWC
-            ....ENDC
-            ....s1 s5 s5 PUXC2
-            ....-1 PUSHINT
-            ....s4 s4 s4 XCHG3
-            ....NULL
-            ....NULL
-            ....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            ..?fun_ref_d3b57c1b222ed8f3 PROCREF:<{
-            ....2 SAVE
-            ....SAMEALTSAVE
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....s0 PUSH
-            ....1672521544 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1672521544 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDGRAMS
-            ......8 LDU
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......?fun_ref_b2a86599f7ca9aa6 INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....2174598809 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2174598809 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......64 LDU
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s1 s2 XCHG
-            ......1 2 BLKDROP2
-            ......s0 s2 XCHG
-            ......?fun_ref_f171cd1f30aaaa1c INLINECALLDICT
-            ......s0 POP
-            ......s1 PUSH
-            ......NEWC
-            ......ROTREV
-            ......846932810 PUSHINT
-            ......s0 s3 XCHG2
-            ......32 STU
-            ......64 STU
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......STSLICER
-            ......ENDC
-            ......2 GETGLOBVAR
-            ......s0 s1 XCHG
-            ......-1 PUSHINT
-            ......NULL
-            ......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....0 EQINT
-            ....<{
-            ......HASHSU
-            ......68942673587165287250091431766268285359585855031594722650534428464957340454221 PUSHINT
-            ......EQUAL
-            ......<{
-            ........0 PUSHINT
-            ........160 PUSHINT
-            ........?fun_ref_b2a86599f7ca9aa6 INLINECALLDICT
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ....}> PUSHCONT
-            ....<{
-            ......s0 POP
-            ....}> PUSHCONT
-            ....IFELSE
-            18x3....0 PUSHINT
-            ..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            x6..?fun_ref_ed0c6f0c0e19c38a PROCREF:<{
-            26x6....c4 PUSH
-            118x6....CTOS
-            18x6....LDREF
-            18x6....s0 s1 XCHG
-            30x6....3 SETGLOBVAR
-            26x6....1 LDI
-            18x6....s0 s1 XCHG
-            26x6....<{
-            26x3......LDMSGADDR
-            18x3......s0 s1 XCHG
-            18x3......s0 PUSH
-            26x3......SBITS
-            34x3......267 PUSHINT
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s0 PUSH
-            34x3......11 PLDU
-            18x3......s0 PUSH
-            34x3......1279 PUSHINT
-            18x3......EQUAL
-            34x3......137 THROWIF
-            26x3......10 PUSHPOW2
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s1 POP
-            26x6....}> PUSHCONT
-            18x6....IFJMP
-            26x3....MYADDR
-            34x3....11 PLDU
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....137 THROWIFNOT
-            26x3....LDMSGADDR
-            18x3....s0 s1 XCHG
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 s1 XCHG
-            18x3....ENDS
-            x6..}>
-            ..?fun_ref_f171cd1f30aaaa1c PROCREF:<{
-            ....2 GETGLOBVAR
-            ....s1 s1 PUXC
-            ....SDEQ
-            ....132 THROWIFNOT
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/treasure_Treasure.code.fc b/examples/output/treasure_Treasure.code.fc deleted file mode 100644 index 60b7d2cb3..000000000 --- a/examples/output/treasure_Treasure.code.fc +++ /dev/null @@ -1,158 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "treasure_Treasure.headers.fc"; -#include "treasure_Treasure.stdlib.fc"; -#include "treasure_Treasure.storage.fc"; - -;; -;; Contract Treasure functions -;; - -(slice) $Treasure$_contract_init(slice $owner) impure inline_ref { - var (($self'owner)) = (null()); - $self'owner = $owner; - return ($self'owner); -} - -((slice), ()) $Treasure$_fun_requireOwner((slice) $self) impure inline_ref { - var (($self'owner)) = $self; - throw_unless(132, ( __tact_slice_eq_bits($self'owner, __tact_context_get_sender()) )); - return (($self'owner), ()); -} - -((slice), ()) $Treasure$_fun_doWithdraw((slice) $self, int $amount, int $mode) impure inline_ref { - var (($self'owner)) = $self; - ($self'owner)~$Treasure$_fun_requireOwner(); - $global_send($SendParameters$_constructor_value_to_mode_body($amount, $self'owner, $mode, end_cell(begin_cell()))); - return (($self'owner), ()); -} - -((slice), slice) $Treasure$_fun_owner((slice) $self) impure inline_ref { - var (($self'owner)) = $self; - return (($self'owner), $self'owner); -} - -;; -;; Receivers of a Contract Treasure -;; - -(((slice)), ()) $Treasure$_internal_binary_Withdraw((slice) $self, (int, int) $msg) impure inline { - var ($self'owner) = $self; - var ($msg'amount, $msg'mode) = $msg; - ($self'owner)~$Treasure$_fun_doWithdraw($msg'amount, $msg'mode); - return (($self'owner), ()); -} - -((slice), ()) $Treasure$_internal_text_986c2ba124bb9287eb4a0bd8d3104e1c0067a3c93952d889c74d08185bd30d4d((slice) $self) impure inline { - var ($self'owner) = $self; - ($self'owner)~$Treasure$_fun_doWithdraw(0, (32 + 128)); - return (($self'owner), ()); -} - -(((slice)), ()) $Treasure$_internal_binary_ChangeOwner((slice) $self, (int, slice) $msg) impure inline { - var ($self'owner) = $self; - var ($msg'queryId, $msg'newOwner) = $msg; - ($self'owner)~$Treasure$_fun_requireOwner(); - $self'owner = $msg'newOwner; - ($self'owner)~$Treasure$_fun_reply($ChangeOwnerOk$_store_cell($ChangeOwnerOk$_constructor_queryId_newOwner($msg'queryId, $msg'newOwner))); - return (($self'owner), ()); -} - -;; -;; Get methods of a Contract Treasure -;; - -_ %owner() method_id(83229) { - var self = $Treasure$_contract_load(); - var res = self~$Treasure$_fun_owner(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128, - "org.ton.ownable.transferable.v2"H >> 128, - "org.ton.ownable"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmQyZr9tXCfmYb8euEJZGSW8ZigGuwFPHTXjTntPr1KA7H"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Treasure -;; - -((slice), int) $Treasure$_contract_router_internal((slice) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Withdraw message - if (op == 1672521544) { - var msg = in_msg~$Withdraw$_load(); - self~$Treasure$_internal_binary_Withdraw(msg); - return (self, true); - } - - ;; Receive ChangeOwner message - if (op == 2174598809) { - var msg = in_msg~$ChangeOwner$_load(); - self~$Treasure$_internal_binary_ChangeOwner(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Destroy" message - if (text_op == 0x986c2ba124bb9287eb4a0bd8d3104e1c0067a3c93952d889c74d08185bd30d4d) { - self~$Treasure$_internal_text_986c2ba124bb9287eb4a0bd8d3104e1c0067a3c93952d889c74d08185bd30d4d(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Treasure$_contract_load(); - - ;; Handle operation - int handled = self~$Treasure$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Treasure$_contract_store(self); -} diff --git a/examples/output/treasure_Treasure.code.fif b/examples/output/treasure_Treasure.code.fif deleted file mode 100644 index 6725fd471..000000000 --- a/examples/output/treasure_Treasure.code.fif +++ /dev/null @@ -1,452 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC __tact_slice_eq_bits - DECLPROC $ChangeOwner$_load - DECLPROC $ChangeOwnerOk$_store - DECLPROC $ChangeOwnerOk$_store_cell - DECLPROC $Withdraw$_load - DECLPROC $Treasure$_store - DECLPROC $Treasure$_load - DECLPROC $StateInit$_not_null - DECLPROC $Treasure$init$_load - DECLPROC $Treasure$_contract_init - DECLPROC $Treasure$_contract_load - DECLPROC $Treasure$_contract_store - DECLPROC $global_send - DECLPROC $SendParameters$_constructor_value_to_mode_body - DECLPROC $Treasure$_fun_requireOwner - DECLPROC $Treasure$_fun_doWithdraw - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $Treasure$_fun_forward - DECLPROC $Treasure$_fun_reply - DECLPROC $Treasure$_fun_owner - DECLPROC $ChangeOwnerOk$_constructor_queryId_newOwner - DECLPROC $Treasure$_internal_binary_Withdraw - DECLPROC $Treasure$_internal_text_986c2ba124bb9287eb4a0bd8d3104e1c0067a3c93952d889c74d08185bd30d4d - DECLPROC $Treasure$_internal_binary_ChangeOwner - 83229 DECLMETHOD %owner - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Treasure$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_slice_eq_bits PROCINLINE:<{ - SDEQ - }> - $ChangeOwner$_load PROCINLINE:<{ - 32 LDU - SWAP - 2174598809 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - __tact_load_address INLINECALLDICT - s1 s2 XCHG - }> - $ChangeOwnerOk$_store PROCINLINE:<{ - 846932810 PUSHINT - s0 s3 XCHG2 - 32 STU - 64 STU - SWAP - __tact_store_address INLINECALLDICT - }> - $ChangeOwnerOk$_store_cell PROCINLINE:<{ - NEWC - -ROT - $ChangeOwnerOk$_store INLINECALLDICT - ENDC - }> - $Withdraw$_load PROCINLINE:<{ - 32 LDU - SWAP - 1672521544 PUSHINT - EQUAL - 129 THROWIFNOT - LDGRAMS - 8 LDU - -ROT - }> - $Treasure$_store PROCINLINE:<{ - __tact_store_address INLINECALLDICT - }> - $Treasure$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $Treasure$init$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - }> - $Treasure$_contract_init PROCREF:<{ - }> - $Treasure$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Treasure$_load INLINECALLDICT - NIP - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Treasure$init$_load INLINECALLDICT - SWAP - ENDS - $Treasure$_contract_init INLINECALLDICT - }> - $Treasure$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - SWAP - $Treasure$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $SendParameters$_constructor_value_to_mode_body PROCINLINE:<{ - TRUE - s4 s4 s4 XCHG3 - PUSHNULL - PUSHNULL - }> - $Treasure$_fun_requireOwner PROCREF:<{ - __tact_context_get_sender INLINECALLDICT - s1 s(-1) PUXC - __tact_slice_eq_bits INLINECALLDICT - 132 THROWIFNOT - }> - $Treasure$_fun_doWithdraw PROCREF:<{ - s0 s2 XCHG - $Treasure$_fun_requireOwner INLINECALLDICT - NEWC - ENDC - s1 s3 s3 PUXC2 - $SendParameters$_constructor_value_to_mode_body INLINECALLDICT - $global_send INLINECALLDICT - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $Treasure$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $Treasure$_fun_reply PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - TRUE - PUSHNULL - $Treasure$_fun_forward INLINECALLDICT - }> - $Treasure$_fun_owner PROCREF:<{ - DUP - }> - $ChangeOwnerOk$_constructor_queryId_newOwner PROCINLINE:<{ - }> - $Treasure$_internal_binary_Withdraw PROCINLINE:<{ - $Treasure$_fun_doWithdraw INLINECALLDICT - }> - $Treasure$_internal_text_986c2ba124bb9287eb4a0bd8d3104e1c0067a3c93952d889c74d08185bd30d4d PROCINLINE:<{ - 0 PUSHINT - 160 PUSHINT - $Treasure$_fun_doWithdraw INLINECALLDICT - }> - $Treasure$_internal_binary_ChangeOwner PROCINLINE:<{ - s0 s2 XCHG - $Treasure$_fun_requireOwner INLINECALLDICT - DROP - OVER - $ChangeOwnerOk$_constructor_queryId_newOwner INLINECALLDICT - $ChangeOwnerOk$_store_cell INLINECALLDICT - $Treasure$_fun_reply INLINECALLDICT - }> - %owner PROC:<{ - $Treasure$_contract_load INLINECALLDICT - $Treasure$_fun_owner INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 322875185039650075936310953974817993034 PUSHINT - 86142586315491086060343270784266291122 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d51795a7239745843666d5962386575454a5a475357385a696747757746504854586a546e745072314b413748} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Treasure$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 1672521544 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Withdraw$_load INLINECALLDICT - 1 2 BLKDROP2 - $Treasure$_internal_binary_Withdraw INLINECALLDICT - TRUE - }> - DUP - 2174598809 PUSHINT - EQUAL - IFJMP:<{ - DROP - $ChangeOwner$_load INLINECALLDICT - 1 2 BLKDROP2 - $Treasure$_internal_binary_ChangeOwner INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - 68942673587165287250091431766268285359585855031594722650534428464957340454221 PUSHINT - EQUAL - IFJMP:<{ - $Treasure$_internal_text_986c2ba124bb9287eb4a0bd8d3104e1c0067a3c93952d889c74d08185bd30d4d INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Treasure$_contract_load INLINECALLDICT - -ROT - $Treasure$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Treasure$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/treasure_Treasure.code.rev.fif b/examples/output/treasure_Treasure.code.rev.fif deleted file mode 100644 index f5905f312..000000000 --- a/examples/output/treasure_Treasure.code.rev.fif +++ /dev/null @@ -1,460 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC owner; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_40d98146a47dbe3b; - DECLPROC ?fun_ref_b2a86599f7ca9aa6; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_d3b57c1b222ed8f3; - DECLPROC ?fun_ref_e31d986f279fa0fb; - DECLPROC ?fun_ref_ed0c6f0c0e19c38a; - DECLPROC ?fun_ref_f171cd1f30aaaa1c; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT - ROTREV - ?fun_ref_d3b57c1b222ed8f3 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - c4 POP - }> - owner PROC:<{ - ?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT - ?fun_ref_40d98146a47dbe3b INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 322875185039650075936310953974817993034 PUSHINT - 86142586315491086060343270784266291122 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D51795A7239745843666D5962386575454A5A475357385A696747757746504854586A546E745072314B41374882_} PUSHSLICE - }> - ?fun_ref_40d98146a47dbe3b PROCREF:<{ - s0 PUSH - }> - ?fun_ref_b2a86599f7ca9aa6 PROCREF:<{ - s0 s2 XCHG - ?fun_ref_f171cd1f30aaaa1c INLINECALLDICT - NEWC - ENDC - s1 s5 s5 PUXC2 - -1 PUSHINT - s4 s4 s4 XCHG3 - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_d3b57c1b222ed8f3 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 1672521544 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1672521544 PUSHINT - EQUAL - 129 THROWIFNOT - LDGRAMS - 8 LDU - ROTREV - 1 2 BLKDROP2 - ?fun_ref_b2a86599f7ca9aa6 INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 2174598809 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2174598809 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 s2 XCHG - 1 2 BLKDROP2 - s0 s2 XCHG - ?fun_ref_f171cd1f30aaaa1c INLINECALLDICT - s0 POP - s1 PUSH - NEWC - ROTREV - 846932810 PUSHINT - s0 s3 XCHG2 - 32 STU - 64 STU - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - -1 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> IFJMPREF - 0 EQINT - <{ - HASHSU - 68942673587165287250091431766268285359585855031594722650534428464957340454221 PUSHINT - EQUAL - <{ - 0 PUSHINT - 160 PUSHINT - ?fun_ref_b2a86599f7ca9aa6 INLINECALLDICT - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - 0 PUSHINT - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_ed0c6f0c0e19c38a PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 POP - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - ENDS - }> - ?fun_ref_f171cd1f30aaaa1c PROCREF:<{ - 2 GETGLOBVAR - s1 s1 PUXC - SDEQ - 132 THROWIFNOT - }> -}END>c \ No newline at end of file diff --git a/examples/output/treasure_Treasure.headers.fc b/examples/output/treasure_Treasure.headers.fc deleted file mode 100644 index cc14b31e8..000000000 --- a/examples/output/treasure_Treasure.headers.fc +++ /dev/null @@ -1,91 +0,0 @@ -;; -;; Header files for Treasure -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_slice_eq_bits -int __tact_slice_eq_bits(slice a, slice b) inline; - -;; $ChangeOwner$_load -(slice, ((int, slice))) $ChangeOwner$_load(slice sc_0) inline; - -;; $ChangeOwnerOk$_store -builder $ChangeOwnerOk$_store(builder build_0, (int, slice) v) inline; - -;; $ChangeOwnerOk$_store_cell -cell $ChangeOwnerOk$_store_cell((int, slice) v) inline; - -;; $Withdraw$_load -(slice, ((int, int))) $Withdraw$_load(slice sc_0) inline; - -;; $Treasure$_store -builder $Treasure$_store(builder build_0, (slice) v) inline; - -;; $Treasure$_load -(slice, ((slice))) $Treasure$_load(slice sc_0) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $Treasure$init$_load -(slice, ((slice))) $Treasure$init$_load(slice sc_0) inline; - -;; $Treasure$_contract_init -(slice) $Treasure$_contract_init(slice $owner) impure inline_ref; - -;; $Treasure$_contract_load -(slice) $Treasure$_contract_load() impure inline_ref; - -;; $Treasure$_contract_store -() $Treasure$_contract_store((slice) v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $SendParameters$_constructor_value_to_mode_body -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_body(int value, slice to, int mode, cell body) inline; - -;; $Treasure$_fun_requireOwner -((slice), ()) $Treasure$_fun_requireOwner((slice) $self) impure inline_ref; - -;; $Treasure$_fun_doWithdraw -((slice), ()) $Treasure$_fun_doWithdraw((slice) $self, int $amount, int $mode) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $Treasure$_fun_forward -((slice), ()) $Treasure$_fun_forward((slice) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $Treasure$_fun_reply -((slice), ()) $Treasure$_fun_reply((slice) $self, cell $body) impure inline; - -;; $Treasure$_fun_owner -((slice), slice) $Treasure$_fun_owner((slice) $self) impure inline_ref; - -;; $ChangeOwnerOk$_constructor_queryId_newOwner -((int, slice)) $ChangeOwnerOk$_constructor_queryId_newOwner(int queryId, slice newOwner) inline; diff --git a/examples/output/treasure_Treasure.md b/examples/output/treasure_Treasure.md deleted file mode 100644 index 5a6d9852d..000000000 --- a/examples/output/treasure_Treasure.md +++ /dev/null @@ -1,61 +0,0 @@ -# TACT Compilation Report -Contract: Treasure -BOC Size: 932 bytes - -# Types -Total Types: 6 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## ChangeOwner -TLB: `change_owner#819dbe99 queryId:uint64 newOwner:address = ChangeOwner` -Signature: `ChangeOwner{queryId:uint64,newOwner:address}` - -## ChangeOwnerOk -TLB: `change_owner_ok#327b2b4a queryId:uint64 newOwner:address = ChangeOwnerOk` -Signature: `ChangeOwnerOk{queryId:uint64,newOwner:address}` - -## Withdraw -TLB: `withdraw#63b0a748 amount:coins mode:uint8 = Withdraw` -Signature: `Withdraw{amount:coins,mode:uint8}` - -# Get Methods -Total Get Methods: 1 - -## owner - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/examples/output/treasure_Treasure.pkg b/examples/output/treasure_Treasure.pkg deleted file mode 100644 index e626ebc37..000000000 --- a/examples/output/treasure_Treasure.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Treasure","code":"te6ccgECFAEAA5gAART/APSkE/S88sgLAQIBYgIDAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UDgQCASAMDQT27aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEGOwp0i6jpgw0x8BghBjsKdIuvLggfoA0wdZbBLbPH/gIIIQgZ2+mbrjAsAAjrH5AYLwmGwroSS7kofrSgvY0xBOHABno8k5UtiJx00IGFvTDU26jolwgQCg2zx/2zHgkTDiBgUGBwLaMNMfAYIQgZ2+mbry4IHTP/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSbBIC2zwwIchZghAyeytKUAPLH8s/ASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsn4QgF/bds8fwkIAh4C2zzIyVRBRH9ERG1t2zwJCgACcAE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwKABL4QlIQxwXy4IQByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsACwCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAIPviju2ebZ4YwODwIBIBARALLtRNDUAfhj0gABjiD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIMeD4KNcLCoMJuvLgifpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0QACIADdu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJw8ud/q+aF6CzkWq0KuwWxSoJwQM51aecV+dJQsB1hbiZHsoAgFIEhMAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtUXlacjl0WENmbVliOGV1RUpaR1NXOFppZ0d1d0ZQSFRYalRudFByMUtBN0iCA=","abi":"{\"name\":\"Treasure\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"ChangeOwner\",\"header\":2174598809,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"ChangeOwnerOk\",\"header\":846932810,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"Withdraw\",\"header\":1672521544,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":8}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Withdraw\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Destroy\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"ChangeOwner\"}}],\"getters\":[{\"name\":\"owner\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\",\"org.ton.ownable.transferable.v2\",\"org.ton.ownable\"]}","init":{"kind":"direct","args":[{"name":"owner","type":{"kind":"simple","type":"address","optional":false}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECFgEAA6IAAQHAAQEFoG7tAgEU/wD0pBP0vPLICwMCAWIMBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtUXlacjl0WENmbVliOGV1RUpaR1NXOFppZ0d1d0ZQSFRYalRudFByMUtBN0iCAAEbCvu1E0NIAAYADdu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJw8ud/q+aF6CzkWq0KuwWxSoJwQM51aecV+dJQsB1hbiZHsoAg++KO7Z5tnhjBULAAIgAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UFQ0E9u2i7fsBkjB/4HAh10nCH5UwINcLH94gghBjsKdIuo6YMNMfAYIQY7CnSLry4IH6ANMHWWwS2zx/4CCCEIGdvpm64wLAAI6x+QGC8JhsK6Eku5KH60oL2NMQThwAZ6PJOVLYicdNCBhb0w1Nuo6JcIEAoNs8f9sx4JEw4hEPEQ4AAnAC2jDTHwGCEIGdvpm68uCB0z/6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIEmwSAts8MCHIWYIQMnsrSlADyx/LPwEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJ+EIBf23bPH8UEAE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwSAh4C2zzIyVRBRH9ERG1t2zwUEgHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wATAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMABL4QlIQxwXy4IQAsu1E0NQB+GPSAAGOIPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igx4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHRAhHXiA=="}},"sources":{"examples\\treasure.tact":"aW1wb3J0ICJAc3RkbGliL293bmFibGUiOw0KDQptZXNzYWdlIFdpdGhkcmF3IHsNCiAgICBhbW91bnQ6IEludCBhcyBjb2luczsNCiAgICBtb2RlOiBJbnQgYXMgdWludDg7DQp9DQoNCmNvbnRyYWN0IFRyZWFzdXJlIHdpdGggT3duYWJsZVRyYW5zZmVyYWJsZSB7DQogICAgb3duZXI6IEFkZHJlc3M7DQogICAgDQogICAgaW5pdChvd25lcjogQWRkcmVzcykgew0KICAgICAgICBzZWxmLm93bmVyID0gb3duZXI7DQogICAgfQ0KDQogICAgZnVuIGRvV2l0aGRyYXcoYW1vdW50OiBJbnQsIG1vZGU6IEludCkgew0KICAgICAgICANCiAgICAgICAgLy8gT25seSBvd25lciBjYW4gd2l0aGRyYXcNCiAgICAgICAgc2VsZi5yZXF1aXJlT3duZXIoKTsNCg0KICAgICAgICAvLyBQZXJmb3JtIHdpdGhkcmF3DQogICAgICAgIHNlbmQoU2VuZFBhcmFtZXRlcnN7dmFsdWU6IGFtb3VudCwgdG86IHNlbGYub3duZXIsIG1vZGU6IG1vZGUsIGJvZHk6IGJlZ2luQ2VsbCgpLmVuZENlbGwoKX0pOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBXaXRoZHJhdykgew0KICAgICAgICBzZWxmLmRvV2l0aGRyYXcobXNnLmFtb3VudCwgbXNnLm1vZGUpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoIkRlc3Ryb3kiKSB7DQogICAgICAgIHNlbGYuZG9XaXRoZHJhdygwLCAzMiArIDEyOCk7DQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/treasure.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/treasure_Treasure.stdlib.fc b/examples/output/treasure_Treasure.stdlib.fc deleted file mode 100644 index fc887b656..000000000 --- a/examples/output/treasure_Treasure.stdlib.fc +++ /dev/null @@ -1,120 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -int __tact_slice_eq_bits(slice a, slice b) inline { - return equal_slice_bits(a, b); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -((slice), ()) $Treasure$_fun_forward((slice) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var (($self'owner)) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return (($self'owner), ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return (($self'owner), ()); -} - -((slice), ()) $Treasure$_fun_reply((slice) $self, cell $body) impure inline { - var (($self'owner)) = $self; - ($self'owner)~$Treasure$_fun_forward(__tact_context_get_sender(), $body, true, null()); - return (($self'owner), ()); -} \ No newline at end of file diff --git a/examples/output/treasure_Treasure.storage.fc b/examples/output/treasure_Treasure.storage.fc deleted file mode 100644 index 4854ebb37..000000000 --- a/examples/output/treasure_Treasure.storage.fc +++ /dev/null @@ -1,114 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_body(int value, slice to, int mode, cell body) inline { - return (true, to, value, mode, body, null(), null()); -} - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: ChangeOwner -;; Header: 0x819dbe99 -;; TLB: change_owner#819dbe99 queryId:uint64 newOwner:address = ChangeOwner -;; - -(slice, ((int, slice))) $ChangeOwner$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2174598809); - var v'queryId = sc_0~load_uint(64); - var v'newOwner = sc_0~__tact_load_address(); - return (sc_0, (v'queryId, v'newOwner)); -} - -;; -;; Type: ChangeOwnerOk -;; Header: 0x327b2b4a -;; TLB: change_owner_ok#327b2b4a queryId:uint64 newOwner:address = ChangeOwnerOk -;; - -builder $ChangeOwnerOk$_store(builder build_0, (int, slice) v) inline { - var (v'queryId, v'newOwner) = v; - build_0 = store_uint(build_0, 846932810, 32); - build_0 = build_0.store_uint(v'queryId, 64); - build_0 = __tact_store_address(build_0, v'newOwner); - return build_0; -} - -cell $ChangeOwnerOk$_store_cell((int, slice) v) inline { - return $ChangeOwnerOk$_store(begin_cell(), v).end_cell(); -} - -((int, slice)) $ChangeOwnerOk$_constructor_queryId_newOwner(int queryId, slice newOwner) inline { - return (queryId, newOwner); -} - -;; -;; Type: Withdraw -;; Header: 0x63b0a748 -;; TLB: withdraw#63b0a748 amount:coins mode:uint8 = Withdraw -;; - -(slice, ((int, int))) $Withdraw$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1672521544); - var v'amount = sc_0~load_coins(); - var v'mode = sc_0~load_uint(8); - return (sc_0, (v'amount, v'mode)); -} - -;; -;; Type: Treasure -;; - -builder $Treasure$_store(builder build_0, (slice) v) inline { - var (v'owner) = v; - build_0 = __tact_store_address(build_0, v'owner); - return build_0; -} - -(slice, ((slice))) $Treasure$_load(slice sc_0) inline { - var v'owner = sc_0~__tact_load_address(); - return (sc_0, (v'owner)); -} - -(slice, ((slice))) $Treasure$init$_load(slice sc_0) inline { - var v'owner = sc_0~__tact_load_address(); - return (sc_0, (v'owner)); -} - -(slice) $Treasure$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$Treasure$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (slice owner) = $sc~$Treasure$init$_load(); - $sc.end_parse(); - return $Treasure$_contract_init(owner); - } -} - -() $Treasure$_contract_store((slice) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $Treasure$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/treasure_Treasure.ts b/examples/output/treasure_Treasure.ts deleted file mode 100644 index c7c75b9d5..000000000 --- a/examples/output/treasure_Treasure.ts +++ /dev/null @@ -1,458 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwner = { - $$type: 'ChangeOwner'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwner(src: ChangeOwner) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2174598809, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwner(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2174598809) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwner(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwner(source: ChangeOwner) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwner(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwner(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwner(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwnerOk = { - $$type: 'ChangeOwnerOk'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwnerOk(src: ChangeOwnerOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(846932810, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwnerOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 846932810) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwnerOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwnerOk(source: ChangeOwnerOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwnerOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwnerOk(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwnerOk(src.loadRef().beginParse()); - } - } -} - -export type Withdraw = { - $$type: 'Withdraw'; - amount: bigint; - mode: bigint; -} - -export function storeWithdraw(src: Withdraw) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1672521544, 32); - b_0.storeCoins(src.amount); - b_0.storeUint(src.mode, 8); - }; -} - -export function loadWithdraw(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1672521544) { throw Error('Invalid prefix'); } - let _amount = sc_0.loadCoins(); - let _mode = sc_0.loadUintBig(8); - return { $$type: 'Withdraw' as const, amount: _amount, mode: _mode }; -} - -function loadTupleWithdraw(source: TupleReader) { - let _amount = source.readBigNumber(); - let _mode = source.readBigNumber(); - return { $$type: 'Withdraw' as const, amount: _amount, mode: _mode }; -} - -function storeTupleWithdraw(source: Withdraw) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - builder.writeNumber(source.mode); - return builder.build(); -} - -function dictValueParserWithdraw(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeWithdraw(src)).endCell()); - }, - parse: (src) => { - return loadWithdraw(src.loadRef().beginParse()); - } - } -} - - type Treasure_init_args = { - $$type: 'Treasure_init_args'; - owner: Address; -} - -function initTreasure_init_args(src: Treasure_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeAddress(src.owner); - }; -} - -async function Treasure_init(owner: Address) { - const __code = Cell.fromBase64('te6ccgECFAEAA5gAART/APSkE/S88sgLAQIBYgIDAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UDgQCASAMDQT27aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEGOwp0i6jpgw0x8BghBjsKdIuvLggfoA0wdZbBLbPH/gIIIQgZ2+mbrjAsAAjrH5AYLwmGwroSS7kofrSgvY0xBOHABno8k5UtiJx00IGFvTDU26jolwgQCg2zx/2zHgkTDiBgUGBwLaMNMfAYIQgZ2+mbry4IHTP/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSbBIC2zwwIchZghAyeytKUAPLH8s/ASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsn4QgF/bds8fwkIAh4C2zzIyVRBRH9ERG1t2zwJCgACcAE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwKABL4QlIQxwXy4IQByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsACwCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAIPviju2ebZ4YwODwIBIBARALLtRNDUAfhj0gABjiD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIMeD4KNcLCoMJuvLgifpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0QACIADdu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJw8ud/q+aF6CzkWq0KuwWxSoJwQM51aecV+dJQsB1hbiZHsoAgFIEhMAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtUXlacjl0WENmbVliOGV1RUpaR1NXOFppZ0d1d0ZQSFRYalRudFByMUtBN0iCA='); - const __system = Cell.fromBase64('te6cckECFgEAA6IAAQHAAQEFoG7tAgEU/wD0pBP0vPLICwMCAWIMBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtUXlacjl0WENmbVliOGV1RUpaR1NXOFppZ0d1d0ZQSFRYalRudFByMUtBN0iCAAEbCvu1E0NIAAYADdu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIJw8ud/q+aF6CzkWq0KuwWxSoJwQM51aecV+dJQsB1hbiZHsoAg++KO7Z5tnhjBULAAIgAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UFQ0E9u2i7fsBkjB/4HAh10nCH5UwINcLH94gghBjsKdIuo6YMNMfAYIQY7CnSLry4IH6ANMHWWwS2zx/4CCCEIGdvpm64wLAAI6x+QGC8JhsK6Eku5KH60oL2NMQThwAZ6PJOVLYicdNCBhb0w1Nuo6JcIEAoNs8f9sx4JEw4hEPEQ4AAnAC2jDTHwGCEIGdvpm68uCB0z/6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIEmwSAts8MCHIWYIQMnsrSlADyx/LPwEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJ+EIBf23bPH8UEAE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwSAh4C2zzIyVRBRH9ERG1t2zwUEgHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wATAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMABL4QlIQxwXy4IQAsu1E0NQB+GPSAAGOIPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igx4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHRAhHXiA=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initTreasure_init_args({ $$type: 'Treasure_init_args', owner })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Treasure_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const Treasure_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"Withdraw","header":1672521544,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"mode","type":{"kind":"simple","type":"uint","optional":false,"format":8}}]}, -] - -const Treasure_getters: ABIGetter[] = [ - {"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}, -] - -const Treasure_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"Withdraw"}}, - {"receiver":"internal","message":{"kind":"text","text":"Destroy"}}, - {"receiver":"internal","message":{"kind":"typed","type":"ChangeOwner"}}, -] - -export class Treasure implements Contract { - - static async init(owner: Address) { - return await Treasure_init(owner); - } - - static async fromInit(owner: Address) { - const init = await Treasure_init(owner); - const address = contractAddress(0, init); - return new Treasure(address, init); - } - - static fromAddress(address: Address) { - return new Treasure(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Treasure_types, - getters: Treasure_getters, - receivers: Treasure_receivers, - errors: Treasure_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: Withdraw | 'Destroy' | ChangeOwner) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Withdraw') { - body = beginCell().store(storeWithdraw(message)).endCell(); - } - if (message === 'Destroy') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'ChangeOwner') { - body = beginCell().store(storeChangeOwner(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getOwner(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('owner', builder.build())).stack; - let result = source.readAddress(); - return result; - } - -} \ No newline at end of file diff --git a/examples/output/wallet-opt_Wallet.abi b/examples/output/wallet-opt_Wallet.abi deleted file mode 100644 index 6b5702dc6..000000000 --- a/examples/output/wallet-opt_Wallet.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Wallet","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TransferMessage","header":3548477446,"fields":[{"name":"signature","type":{"kind":"simple","type":"fixed-bytes","optional":false,"format":64}},{"name":"transfer","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"TransferMessage"}}],"getters":[{"name":"publicKey","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"walletId","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"seqno","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"17654":{"message":"Invalid seqno"},"48401":{"message":"Invalid signature"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/examples/output/wallet-opt_Wallet.code.boc b/examples/output/wallet-opt_Wallet.code.boc deleted file mode 100644 index f45160e8f..000000000 Binary files a/examples/output/wallet-opt_Wallet.code.boc and /dev/null differ diff --git a/examples/output/wallet-opt_Wallet.code.boc.html b/examples/output/wallet-opt_Wallet.code.boc.html deleted file mode 100644 index eb9118893..000000000 --- a/examples/output/wallet-opt_Wallet.code.boc.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC seqno;
-            ..DECLPROC ?fun_86520;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC ?fun_114762;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_5336fb58ccda5a6b;
-            ..DECLPROC ?fun_ref_cd29dd004f76b216;
-            ..DECLPROC ?fun_ref_e2aa38dc313ba18d;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_e2aa38dc313ba18d INLINECALLDICT
-            ....2 3 BLKSWAP
-            ....?fun_ref_5336fb58ccda5a6b INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....3 1 BLKSWAP
-            ....s2 s3 XCHG2
-            ....32 STU
-            ....256 STU
-            ....64 STU
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..seqno PROC:<{
-            ....?fun_ref_e2aa38dc313ba18d INLINECALLDICT
-            ....s2 PUSH
-            ....3 1 BLKDROP2
-            ..}>
-            ..?fun_86520 PROC:<{
-            ....?fun_ref_e2aa38dc313ba18d INLINECALLDICT
-            ....s1 PUSH
-            ....3 1 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..?fun_114762 PROC:<{
-            ....?fun_ref_e2aa38dc313ba18d INLINECALLDICT
-            ....s0 PUSH
-            ....3 1 BLKDROP2
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D58787778373667723254726F616438384A4D5167747564795A565536465A656F7568546E656B776F756D696B82_} PUSHSLICE
-            ..}>
-            ..?fun_ref_5336fb58ccda5a6b PROCREF:<{
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....3548477446 PUSHINT
-            ....EQUAL
-            ....<{
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......3548477446 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......9 PUSHPOW2
-            ......LDSLICEX
-            ......TUCK
-            ......1 2 BLKDROP2
-            ......s0 PUSH
-            ......HASHSU
-            ......48401 PUSHINT
-            ......s3 s5 XCPU
-            ......CHKSIGNU
-            ......s1 s2 XCHG
-            ......THROWANYIFNOT
-            ......32 LDI
-            ......8 LDI
-            ......LDREF
-            ......s0 POP
-            ......17654 PUSHINT
-            ......s3 s6 XCPU
-            ......EQUAL
-            ......s1 s3 XCHG
-            ......THROWANYIFNOT
-            ......s0 s4 XCHG
-            ......INC
-            ......false 1 true 2 0 DIV
-            ......s0 s15 XCHG
-            ......s0 s4 XCHG
-            ......SENDRAWMSG
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            ..}>
-            x1..?fun_ref_cd29dd004f76b216 PROCREF:<{
-            18x1....0 PUSHINT
-            18x1....ROTREV
-            x1..}>
-            x10..?fun_ref_e2aa38dc313ba18d PROCREF:<{
-            26x10....c4 PUSH
-            118x10....CTOS
-            18x10....LDREF
-            18x10....s0 s1 XCHG
-            30x10....3 SETGLOBVAR
-            26x10....1 LDI
-            18x10....s0 s1 XCHG
-            18x10....<{
-            26x9......32 LDU
-            26x9......256 LDU
-            26x9......64 LDU
-            26x9......3 1 BLKSWAP
-            26x9......1 3 BLKDROP2
-            18x10....}> PUSHCONT
-            18x10....IFJMP
-            26x1....MYADDR
-            34x1....11 PLDU
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....137 THROWIFNOT
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....ROTREV
-            18x1....s0 s2 XCHG
-            18x1....ENDS
-            18x1....s0 s1 XCHG
-            126x1....?fun_ref_cd29dd004f76b216 INLINECALLDICT
-            x10..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/wallet-opt_Wallet.code.fc b/examples/output/wallet-opt_Wallet.code.fc deleted file mode 100644 index e296c41dc..000000000 --- a/examples/output/wallet-opt_Wallet.code.fc +++ /dev/null @@ -1,141 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "wallet-opt_Wallet.headers.fc"; -#include "wallet-opt_Wallet.stdlib.fc"; -#include "wallet-opt_Wallet.storage.fc"; - -;; -;; Contract Wallet functions -;; - -(int, int, int) $Wallet$_contract_init(int $key, int $walletId) impure inline_ref { - var (($self'seqno, $self'key, $self'walletId)) = (0, null(), null()); - $self'key = $key; - $self'walletId = $walletId; - return ($self'seqno, $self'key, $self'walletId); -} - -((int, int, int), int) $Wallet$_fun_publicKey((int, int, int) $self) impure inline { - var (($self'seqno, $self'key, $self'walletId)) = $self; - return (($self'seqno, $self'key, $self'walletId), $self'key); -} - -((int, int, int), int) $Wallet$_fun_walletId((int, int, int) $self) impure inline { - var (($self'seqno, $self'key, $self'walletId)) = $self; - return (($self'seqno, $self'key, $self'walletId), $self'walletId); -} - -((int, int, int), int) $Wallet$_fun_seqno((int, int, int) $self) impure inline { - var (($self'seqno, $self'key, $self'walletId)) = $self; - return (($self'seqno, $self'key, $self'walletId), $self'seqno); -} - -;; -;; Receivers of a Contract Wallet -;; - -(((int, int, int)), ()) $Wallet$_internal_binary_TransferMessage((int, int, int) $self, (slice, slice) $msg) impure inline { - var ($self'seqno, $self'key, $self'walletId) = $self; - var ($msg'signature, $msg'transfer) = $msg; - int $op_hash = slice_hash($msg'transfer); - throw_unless(48401, check_signature($op_hash, $msg'signature, $self'key)); - slice $pkg = $msg'transfer; - int $seqno = $pkg~load_int(32); - int $mode = $pkg~load_int(8); - cell $body = $pkg~load_ref(); - throw_unless(17654, ($seqno == $self'seqno)); - $self'seqno = (($self'seqno + 1) % 65536); - send_raw_message($body, $mode); - return (($self'seqno, $self'key, $self'walletId), ()); -} - -;; -;; Get methods of a Contract Wallet -;; - -_ %publicKey() method_id(86520) { - var self = $Wallet$_contract_load(); - var res = self~$Wallet$_fun_publicKey(); - return res; -} - -_ %walletId() method_id(114762) { - var self = $Wallet$_contract_load(); - var res = self~$Wallet$_fun_walletId(); - return res; -} - -_ %seqno() method_id(85143) { - var self = $Wallet$_contract_load(); - var res = self~$Wallet$_fun_seqno(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmXxwx76gr2Troad88JMQgtudyZVU6FZeouhTnekwoumik"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Wallet -;; - -((int, int, int), int) $Wallet$_contract_router_internal((int, int, int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive TransferMessage message - if (op == 3548477446) { - var msg = in_msg~$TransferMessage$_load(); - self~$Wallet$_internal_binary_TransferMessage(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Wallet$_contract_load(); - - ;; Handle operation - int handled = self~$Wallet$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Wallet$_contract_store(self); -} diff --git a/examples/output/wallet-opt_Wallet.code.fif b/examples/output/wallet-opt_Wallet.code.fif deleted file mode 100644 index 7e2fb9ec0..000000000 --- a/examples/output/wallet-opt_Wallet.code.fif +++ /dev/null @@ -1,223 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $TransferMessage$_load - DECLPROC $Wallet$_store - DECLPROC $Wallet$_load - DECLPROC $Wallet$init$_load - DECLPROC $Wallet$_contract_init - DECLPROC $Wallet$_contract_load - DECLPROC $Wallet$_contract_store - DECLPROC $Wallet$_fun_publicKey - DECLPROC $Wallet$_fun_walletId - DECLPROC $Wallet$_fun_seqno - DECLPROC $Wallet$_internal_binary_TransferMessage - 86520 DECLMETHOD %publicKey - 114762 DECLMETHOD %walletId - 85143 DECLMETHOD %seqno - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Wallet$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $TransferMessage$_load PROCINLINE:<{ - 32 LDU - SWAP - 3548477446 PUSHINT - EQUAL - 129 THROWIFNOT - 9 PUSHPOW2 - LDSLICEX - TUCK - }> - $Wallet$_store PROCINLINE:<{ - s2 s3 XCHG2 - 32 STU - 256 STU - 64 STU - }> - $Wallet$_load PROCINLINE:<{ - 32 LDU - 256 LDU - 64 LDU - 3 -ROLL - }> - $Wallet$init$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - -ROT - }> - $Wallet$_contract_init PROCREF:<{ - 0 PUSHINT - -ROT - }> - $Wallet$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Wallet$_load INLINECALLDICT - 1 3 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Wallet$init$_load INLINECALLDICT - s0 s2 XCHG - ENDS - SWAP - $Wallet$_contract_init INLINECALLDICT - }> - $Wallet$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 3 -ROLL - $Wallet$_store INLINECALLDICT - ENDC - c4 POP - }> - $Wallet$_fun_publicKey PROCINLINE:<{ - OVER - }> - $Wallet$_fun_walletId PROCINLINE:<{ - DUP - }> - $Wallet$_fun_seqno PROCINLINE:<{ - s2 PUSH - }> - $Wallet$_internal_binary_TransferMessage PROCINLINE:<{ - DUP - HASHSU - 48401 PUSHINT - s3 s5 XCPU - CHKSIGNU - s1 s2 XCHG - THROWANYIFNOT - 32 LDI - 8 LDI - LDREF - DROP - 17654 PUSHINT - s3 s6 XCPU - EQUAL - s1 s3 XCHG - THROWANYIFNOT - s0 s4 XCHG - INC - 16 MODPOW2# - s0 s4 XCHG - SENDRAWMSG - }> - %publicKey PROC:<{ - $Wallet$_contract_load INLINECALLDICT - $Wallet$_fun_publicKey INLINECALLDICT - 3 1 BLKDROP2 - }> - %walletId PROC:<{ - $Wallet$_contract_load INLINECALLDICT - $Wallet$_fun_walletId INLINECALLDICT - 3 1 BLKDROP2 - }> - %seqno PROC:<{ - $Wallet$_contract_load INLINECALLDICT - $Wallet$_fun_seqno INLINECALLDICT - 3 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d58787778373667723254726f616438384a4d5167747564795a565536465a656f7568546e656b776f756d696b} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Wallet$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 3548477446 PUSHINT - EQUAL - IFJMP:<{ - $TransferMessage$_load INLINECALLDICT - 1 2 BLKDROP2 - $Wallet$_internal_binary_TransferMessage INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Wallet$_contract_load INLINECALLDICT - 2 3 BLKSWAP - $Wallet$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Wallet$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/wallet-opt_Wallet.code.rev.fif b/examples/output/wallet-opt_Wallet.code.rev.fif deleted file mode 100644 index 174af6400..000000000 --- a/examples/output/wallet-opt_Wallet.code.rev.fif +++ /dev/null @@ -1,184 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC seqno; - DECLPROC ?fun_86520; - DECLPROC supported_interfaces; - DECLPROC ?fun_114762; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_5336fb58ccda5a6b; - DECLPROC ?fun_ref_cd29dd004f76b216; - DECLPROC ?fun_ref_e2aa38dc313ba18d; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_e2aa38dc313ba18d INLINECALLDICT - 2 3 BLKSWAP - ?fun_ref_5336fb58ccda5a6b INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 3 1 BLKSWAP - s2 s3 XCHG2 - 32 STU - 256 STU - 64 STU - ENDC - c4 POP - }> - seqno PROC:<{ - ?fun_ref_e2aa38dc313ba18d INLINECALLDICT - s2 PUSH - 3 1 BLKDROP2 - }> - ?fun_86520 PROC:<{ - ?fun_ref_e2aa38dc313ba18d INLINECALLDICT - s1 PUSH - 3 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - ?fun_114762 PROC:<{ - ?fun_ref_e2aa38dc313ba18d INLINECALLDICT - s0 PUSH - 3 1 BLKDROP2 - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D58787778373667723254726F616438384A4D5167747564795A565536465A656F7568546E656B776F756D696B82_} PUSHSLICE - }> - ?fun_ref_5336fb58ccda5a6b PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 3548477446 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 3548477446 PUSHINT - EQUAL - 129 THROWIFNOT - 9 PUSHPOW2 - LDSLICEX - TUCK - 1 2 BLKDROP2 - s0 PUSH - HASHSU - 48401 PUSHINT - s3 s5 XCPU - CHKSIGNU - s1 s2 XCHG - THROWANYIFNOT - 32 LDI - 8 LDI - LDREF - s0 POP - 17654 PUSHINT - s3 s6 XCPU - EQUAL - s1 s3 XCHG - THROWANYIFNOT - s0 s4 XCHG - INC - false 1 true 2 0 DIV - s0 s15 XCHG - s0 s4 XCHG - SENDRAWMSG - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> - ?fun_ref_cd29dd004f76b216 PROCREF:<{ - 0 PUSHINT - ROTREV - }> - ?fun_ref_e2aa38dc313ba18d PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 32 LDU - 256 LDU - 64 LDU - 3 1 BLKSWAP - 1 3 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - ROTREV - s0 s2 XCHG - ENDS - s0 s1 XCHG - ?fun_ref_cd29dd004f76b216 INLINECALLDICT - }> -}END>c \ No newline at end of file diff --git a/examples/output/wallet-opt_Wallet.headers.fc b/examples/output/wallet-opt_Wallet.headers.fc deleted file mode 100644 index 402ce900c..000000000 --- a/examples/output/wallet-opt_Wallet.headers.fc +++ /dev/null @@ -1,37 +0,0 @@ -;; -;; Header files for Wallet -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $TransferMessage$_load -(slice, ((slice, slice))) $TransferMessage$_load(slice sc_0) inline; - -;; $Wallet$_store -builder $Wallet$_store(builder build_0, (int, int, int) v) inline; - -;; $Wallet$_load -(slice, ((int, int, int))) $Wallet$_load(slice sc_0) inline; - -;; $Wallet$init$_load -(slice, ((int, int))) $Wallet$init$_load(slice sc_0) inline; - -;; $Wallet$_contract_init -(int, int, int) $Wallet$_contract_init(int $key, int $walletId) impure inline_ref; - -;; $Wallet$_contract_load -(int, int, int) $Wallet$_contract_load() impure inline_ref; - -;; $Wallet$_contract_store -() $Wallet$_contract_store((int, int, int) v) impure inline; - -;; $Wallet$_fun_publicKey -((int, int, int), int) $Wallet$_fun_publicKey((int, int, int) $self) impure inline; - -;; $Wallet$_fun_walletId -((int, int, int), int) $Wallet$_fun_walletId((int, int, int) $self) impure inline; - -;; $Wallet$_fun_seqno -((int, int, int), int) $Wallet$_fun_seqno((int, int, int) $self) impure inline; diff --git a/examples/output/wallet-opt_Wallet.md b/examples/output/wallet-opt_Wallet.md deleted file mode 100644 index 7bcdf0edb..000000000 --- a/examples/output/wallet-opt_Wallet.md +++ /dev/null @@ -1,59 +0,0 @@ -# TACT Compilation Report -Contract: Wallet -BOC Size: 468 bytes - -# Types -Total Types: 4 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## TransferMessage -TLB: `transfer_message#d3817806 signature:fixed_bytes64 transfer:remainder = TransferMessage` -Signature: `TransferMessage{signature:fixed_bytes64,transfer:remainder}` - -# Get Methods -Total Get Methods: 3 - -## publicKey - -## walletId - -## seqno - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -17654: Invalid seqno -48401: Invalid signature \ No newline at end of file diff --git a/examples/output/wallet-opt_Wallet.pkg b/examples/output/wallet-opt_Wallet.pkg deleted file mode 100644 index 3d8515d45..000000000 --- a/examples/output/wallet-opt_Wallet.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Wallet","code":"te6ccgECEQEAAcgAART/APSkE/S88sgLAQIBYgIDAqbQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVEts88uCCyPhDAcx/AcoAVSBQI8sfy//LP8ntVA8EAgEgBQYAsAGSMH/gcCHXScIflTAg1wsf3oIQ04F4BrqOOtMfAYIQ04F4Brry4IGDCNcYZmwSIPkBggC9EVE1+RAS8vTSH9IH1DCBRPZRNroT8vQEpKk4DwT7AH/gMHACAWoHCAIBIAkKAQ+zJfbPCJsMYA8BD7B+Ns8IWwxgDwCVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgFICwwCAWINDgB1sm7jQ1aXBmczovL1FtWHh3eDc2Z3IyVHJvYWQ4OEpNUWd0dWR5WlZVNkZaZW91aFRuZWt3b3VtaWuCABDaSVtnhA2GMPAA+lfdqJoaQAAwFi7UTQ1AH4Y9IAAZrTH9P/0z9VIGwT4Pgo1wsKgwm68uCJgQEB1wCBAQHXAFkC0QHbPBAABHBZ","abi":"{\"name\":\"Wallet\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TransferMessage\",\"header\":3548477446,\"fields\":[{\"name\":\"signature\",\"type\":{\"kind\":\"simple\",\"type\":\"fixed-bytes\",\"optional\":false,\"format\":64}},{\"name\":\"transfer\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TransferMessage\"}}],\"getters\":[{\"name\":\"publicKey\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"walletId\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"seqno\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"17654\":{\"message\":\"Invalid seqno\"},\"48401\":{\"message\":\"Invalid signature\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"walletId","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECEwEAAdIAAQHAAQEFoHL9AgEU/wD0pBP0vPLICwMCAWIPBAIBIAwFAgEgCwYCAUgIBwB1sm7jQ1aXBmczovL1FtWHh3eDc2Z3IyVHJvYWQ4OEpNUWd0dWR5WlZVNkZaZW91aFRuZWt3b3VtaWuCACAWIKCQAPpX3aiaGkAAMBDaSVtnhA2GMRAJW7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgCAWoODQEPsH42zwhbDGARAQ+zJfbPCJsMYBECptAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUS2zzy4ILI+EMBzH8BygBVIFAjyx/L/8s/ye1UERAAsAGSMH/gcCHXScIflTAg1wsf3oIQ04F4BrqOOtMfAYIQ04F4Brry4IGDCNcYZmwSIPkBggC9EVE1+RAS8vTSH9IH1DCBRPZRNroT8vQEpKk4DwT7AH/gMHABYu1E0NQB+GPSAAGa0x/T/9M/VSBsE+D4KNcLCoMJuvLgiYEBAdcAgQEB1wBZAtEB2zwSAARwWay4B/A="}},"sources":{"examples\\wallet-opt.tact":"bWVzc2FnZSBUcmFuc2Zlck1lc3NhZ2Ugew0KICAgIHNpZ25hdHVyZTogU2xpY2UgYXMgYnl0ZXM2NDsNCiAgICB0cmFuc2ZlcjogU2xpY2UgYXMgcmVtYWluaW5nOw0KfQ0KDQpjb250cmFjdCBXYWxsZXQgew0KICAgIA0KICAgIHNlcW5vOiBJbnQgYXMgdWludDMyID0gMDsNCiAgICBrZXk6IEludCBhcyB1aW50MjU2Ow0KICAgIHdhbGxldElkOiBJbnQgYXMgdWludDY0Ow0KICAgIA0KICAgIGluaXQoa2V5OiBJbnQsIHdhbGxldElkOiBJbnQpIHsNCiAgICAgICAgc2VsZi5rZXkgPSBrZXk7DQogICAgICAgIHNlbGYud2FsbGV0SWQgPSB3YWxsZXRJZDsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogVHJhbnNmZXJNZXNzYWdlKSB7DQoNCiAgICAgICAgLy8gQ2hlY2sgU2lnbmF0dXJlDQogICAgICAgIGxldCBvcF9oYXNoOiBJbnQgPSBtc2cudHJhbnNmZXIuaGFzaCgpOw0KICAgICAgICByZXF1aXJlKGNoZWNrU2lnbmF0dXJlKG9wX2hhc2gsIG1zZy5zaWduYXR1cmUsIHNlbGYua2V5KSwgIkludmFsaWQgc2lnbmF0dXJlIik7DQoNCiAgICAgICAgLy8gQ2hlY2sgcGFyYW1ldGVycw0KICAgICAgICBsZXQgcGtnOiBTbGljZSA9IG1zZy50cmFuc2ZlcjsNCiAgICAgICAgbGV0IHNlcW5vOiBJbnQgPSBwa2cubG9hZEludCgzMik7DQogICAgICAgIGxldCBtb2RlOiBJbnQgPSBwa2cubG9hZEludCg4KTsNCiAgICAgICAgbGV0IGJvZHk6IENlbGwgPSBwa2cubG9hZFJlZigpOw0KICAgICAgICByZXF1aXJlKHNlcW5vID09IHNlbGYuc2Vxbm8sICJJbnZhbGlkIHNlcW5vIik7DQoNCiAgICAgICAgLy8gSW5jcmVtZW50IHNlcW5vDQogICAgICAgIHNlbGYuc2Vxbm8gPSAoc2VsZi5zZXFubyArIDEpICUgNjU1MzY7DQoNCiAgICAgICAgLy8gU2VuZCBtZXNzYWdlDQogICAgICAgIG5hdGl2ZVNlbmRNZXNzYWdlKGJvZHksIG1vZGUpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gcHVibGljS2V5KCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLmtleTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIHdhbGxldElkKCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLndhbGxldElkOw0KICAgIH0NCg0KICAgIGdldCBmdW4gc2Vxbm8oKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuc2Vxbm87DQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/wallet-opt.tact\",\"options\":{\"experimental\":{\"inline\":true}}}"}} \ No newline at end of file diff --git a/examples/output/wallet-opt_Wallet.stdlib.fc b/examples/output/wallet-opt_Wallet.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/examples/output/wallet-opt_Wallet.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/examples/output/wallet-opt_Wallet.storage.fc b/examples/output/wallet-opt_Wallet.storage.fc deleted file mode 100644 index f91f65c25..000000000 --- a/examples/output/wallet-opt_Wallet.storage.fc +++ /dev/null @@ -1,60 +0,0 @@ -;; -;; Type: TransferMessage -;; Header: 0xd3817806 -;; TLB: transfer_message#d3817806 signature:fixed_bytes64 transfer:remainder = TransferMessage -;; - -(slice, ((slice, slice))) $TransferMessage$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 3548477446); - var v'signature = sc_0~load_bits(512); - var v'transfer = sc_0; - return (sc_0, (v'signature, v'transfer)); -} - -;; -;; Type: Wallet -;; - -builder $Wallet$_store(builder build_0, (int, int, int) v) inline { - var (v'seqno, v'key, v'walletId) = v; - build_0 = build_0.store_uint(v'seqno, 32); - build_0 = build_0.store_uint(v'key, 256); - build_0 = build_0.store_uint(v'walletId, 64); - return build_0; -} - -(slice, ((int, int, int))) $Wallet$_load(slice sc_0) inline { - var v'seqno = sc_0~load_uint(32); - var v'key = sc_0~load_uint(256); - var v'walletId = sc_0~load_uint(64); - return (sc_0, (v'seqno, v'key, v'walletId)); -} - -(slice, ((int, int))) $Wallet$init$_load(slice sc_0) inline { - var v'key = sc_0~load_int(257); - var v'walletId = sc_0~load_int(257); - return (sc_0, (v'key, v'walletId)); -} - -(int, int, int) $Wallet$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$Wallet$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (int key, int walletId) = $sc~$Wallet$init$_load(); - $sc.end_parse(); - return $Wallet$_contract_init(key, walletId); - } -} - -() $Wallet$_contract_store((int, int, int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $Wallet$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/wallet-opt_Wallet.ts b/examples/output/wallet-opt_Wallet.ts deleted file mode 100644 index c693da8b7..000000000 --- a/examples/output/wallet-opt_Wallet.ts +++ /dev/null @@ -1,374 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type TransferMessage = { - $$type: 'TransferMessage'; - signature: Buffer; - transfer: Cell; -} - -export function storeTransferMessage(src: TransferMessage) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3548477446, 32); - b_0.storeBuffer(src.signature); - b_0.storeBuilder(src.transfer.asBuilder()); - }; -} - -export function loadTransferMessage(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3548477446) { throw Error('Invalid prefix'); } - let _signature = sc_0.loadBuffer(64); - let _transfer = sc_0.asCell(); - return { $$type: 'TransferMessage' as const, signature: _signature, transfer: _transfer }; -} - -function loadTupleTransferMessage(source: TupleReader) { - let _signature = source.readBuffer(); - let _transfer = source.readCell(); - return { $$type: 'TransferMessage' as const, signature: _signature, transfer: _transfer }; -} - -function storeTupleTransferMessage(source: TransferMessage) { - let builder = new TupleBuilder(); - builder.writeBuffer(source.signature); - builder.writeSlice(source.transfer); - return builder.build(); -} - -function dictValueParserTransferMessage(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTransferMessage(src)).endCell()); - }, - parse: (src) => { - return loadTransferMessage(src.loadRef().beginParse()); - } - } -} - - type Wallet_init_args = { - $$type: 'Wallet_init_args'; - key: bigint; - walletId: bigint; -} - -function initWallet_init_args(src: Wallet_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.key, 257); - b_0.storeInt(src.walletId, 257); - }; -} - -async function Wallet_init(key: bigint, walletId: bigint) { - const __code = Cell.fromBase64('te6ccgECEQEAAcgAART/APSkE/S88sgLAQIBYgIDAqbQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVEts88uCCyPhDAcx/AcoAVSBQI8sfy//LP8ntVA8EAgEgBQYAsAGSMH/gcCHXScIflTAg1wsf3oIQ04F4BrqOOtMfAYIQ04F4Brry4IGDCNcYZmwSIPkBggC9EVE1+RAS8vTSH9IH1DCBRPZRNroT8vQEpKk4DwT7AH/gMHACAWoHCAIBIAkKAQ+zJfbPCJsMYA8BD7B+Ns8IWwxgDwCVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgFICwwCAWINDgB1sm7jQ1aXBmczovL1FtWHh3eDc2Z3IyVHJvYWQ4OEpNUWd0dWR5WlZVNkZaZW91aFRuZWt3b3VtaWuCABDaSVtnhA2GMPAA+lfdqJoaQAAwFi7UTQ1AH4Y9IAAZrTH9P/0z9VIGwT4Pgo1wsKgwm68uCJgQEB1wCBAQHXAFkC0QHbPBAABHBZ'); - const __system = Cell.fromBase64('te6cckECEwEAAdIAAQHAAQEFoHL9AgEU/wD0pBP0vPLICwMCAWIPBAIBIAwFAgEgCwYCAUgIBwB1sm7jQ1aXBmczovL1FtWHh3eDc2Z3IyVHJvYWQ4OEpNUWd0dWR5WlZVNkZaZW91aFRuZWt3b3VtaWuCACAWIKCQAPpX3aiaGkAAMBDaSVtnhA2GMRAJW7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgCAWoODQEPsH42zwhbDGARAQ+zJfbPCJsMYBECptAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUS2zzy4ILI+EMBzH8BygBVIFAjyx/L/8s/ye1UERAAsAGSMH/gcCHXScIflTAg1wsf3oIQ04F4BrqOOtMfAYIQ04F4Brry4IGDCNcYZmwSIPkBggC9EVE1+RAS8vTSH9IH1DCBRPZRNroT8vQEpKk4DwT7AH/gMHABYu1E0NQB+GPSAAGa0x/T/9M/VSBsE+D4KNcLCoMJuvLgiYEBAdcAgQEB1wBZAtEB2zwSAARwWay4B/A='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initWallet_init_args({ $$type: 'Wallet_init_args', key, walletId })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Wallet_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 17654: { message: `Invalid seqno` }, - 48401: { message: `Invalid signature` }, -} - -const Wallet_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"TransferMessage","header":3548477446,"fields":[{"name":"signature","type":{"kind":"simple","type":"fixed-bytes","optional":false,"format":64}},{"name":"transfer","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]}, -] - -const Wallet_getters: ABIGetter[] = [ - {"name":"publicKey","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"walletId","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"seqno","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const Wallet_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"TransferMessage"}}, -] - -export class Wallet implements Contract { - - static async init(key: bigint, walletId: bigint) { - return await Wallet_init(key, walletId); - } - - static async fromInit(key: bigint, walletId: bigint) { - const init = await Wallet_init(key, walletId); - const address = contractAddress(0, init); - return new Wallet(address, init); - } - - static fromAddress(address: Address) { - return new Wallet(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Wallet_types, - getters: Wallet_getters, - receivers: Wallet_receivers, - errors: Wallet_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: TransferMessage) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'TransferMessage') { - body = beginCell().store(storeTransferMessage(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getPublicKey(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('publicKey', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getWalletId(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('walletId', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getSeqno(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('seqno', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/examples/output/wallet_Wallet.abi b/examples/output/wallet_Wallet.abi deleted file mode 100644 index 17401215c..000000000 --- a/examples/output/wallet_Wallet.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Wallet","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Transfer","header":null,"fields":[{"name":"seqno","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"mode","type":{"kind":"simple","type":"uint","optional":false,"format":8}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TransferMessage","header":123,"fields":[{"name":"signature","type":{"kind":"simple","type":"slice","optional":false}},{"name":"transfer","type":{"kind":"simple","type":"Transfer","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Deploy"}},{"receiver":"internal","message":{"kind":"typed","type":"TransferMessage"}},{"receiver":"internal","message":{"kind":"any"}},{"receiver":"internal","message":{"kind":"empty"}},{"receiver":"internal","message":{"kind":"text","text":"notify"}},{"receiver":"internal","message":{"kind":"text","text":"你好ж"}},{"receiver":"internal","message":{"kind":"text","text":"duplicate"}}],"getters":[{"name":"publicKey","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"walletId","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"seqno","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"17654":{"message":"Invalid seqno"},"48401":{"message":"Invalid signature"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/examples/output/wallet_Wallet.code.boc b/examples/output/wallet_Wallet.code.boc deleted file mode 100644 index b39ab4793..000000000 Binary files a/examples/output/wallet_Wallet.code.boc and /dev/null differ diff --git a/examples/output/wallet_Wallet.code.boc.html b/examples/output/wallet_Wallet.code.boc.html deleted file mode 100644 index fd841888c..000000000 --- a/examples/output/wallet_Wallet.code.boc.html +++ /dev/null @@ -1,517 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC seqno;
-            ..DECLPROC ?fun_86520;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC ?fun_114762;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_0c38c6f7fb719a61;
-            ..DECLPROC ?fun_ref_40d98146a47dbe3b;
-            ..DECLPROC ?fun_ref_44086a5ce86162fe;
-            ..DECLPROC ?fun_ref_b2f99ae1a1dd4dfb;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_cd29dd004f76b216;
-            ..DECLPROC ?fun_ref_e2aa38dc313ba18d;
-            x4..recv_internal PROC:<{
-            18x4....s0 s1 XCHG
-            118x4....CTOS
-            26x4....4 LDU
-            18x4....s0 s1 XCHG
-            18x4....1 PUSHINT
-            18x4....AND
-            18x4....-1 MULCONST
-            18x4....s0 s1 XCHG
-            26x4....LDMSGADDR
-            18x4....s0 s1 XCHG
-            18x4....s0 PUSH
-            26x4....SBITS
-            34x4....267 PUSHINT
-            18x4....EQUAL
-            34x4....136 THROWIFNOT
-            18x4....s0 PUSH
-            34x4....11 PLDU
-            18x4....s0 PUSH
-            34x4....1279 PUSHINT
-            18x4....EQUAL
-            34x4....137 THROWIF
-            26x4....10 PUSHPOW2
-            18x4....EQUAL
-            34x4....136 THROWIFNOT
-            34x4....s0 s6 s4 PUXCPU
-            18x4....s0 s3 XCHG
-            30x4....4 TUPLE
-            28x4....1 SETGLOBVAR
-            18x4....s0 s2 XCHG
-            29x4....2 SETGLOBVAR
-            126x4....?fun_ref_e2aa38dc313ba18d INLINECALLDICT
-            26x4....2 3 BLKSWAP
-            126x4....?fun_ref_0c38c6f7fb719a61 INLINECALLDICT
-            34x4....130 THROWIFNOT
-            18x4....NEWC
-            26x4....3 GETGLOBVAR
-            18x4....s0 s1 XCHG
-            18x4....STREF
-            18x4....-1 PUSHINT
-            18x4....s0 s1 XCHG
-            26x4....1 STI
-            26x4....3 1 BLKSWAP
-            26x4....s2 s3 XCHG2
-            26x4....32 STU
-            26x4....256 STU
-            26x4....64 STU
-            518x4....ENDC
-            26x4....c4 POP
-            x4..}>
-            x4..seqno PROC:<{
-            126x4....?fun_ref_e2aa38dc313ba18d INLINECALLDICT
-            126x4....?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT
-            26x4....3 1 BLKDROP2
-            x4..}>
-            x1..?fun_86520 PROC:<{
-            126x1....?fun_ref_e2aa38dc313ba18d INLINECALLDICT
-            126x1....?fun_ref_44086a5ce86162fe INLINECALLDICT
-            26x1....3 1 BLKDROP2
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            x1..?fun_114762 PROC:<{
-            126x1....?fun_ref_e2aa38dc313ba18d INLINECALLDICT
-            126x1....?fun_ref_40d98146a47dbe3b INLINECALLDICT
-            26x1....3 1 BLKDROP2
-            x1..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D51684E53316E434E45473451487458324C593754717655375A313145755038425767676567476A706B46624382_} PUSHSLICE
-            ..}>
-            x4..?fun_ref_0c38c6f7fb719a61 PROCREF:<{
-            26x4....2 SAVE
-            26x4....SAMEALTSAVE
-            18x4....s0 s1 XCHG
-            18x4....<{
-            ......32 PUSHINT
-            ......SDSKIPFIRST
-            ......s0 POP
-            ......-1 PUSHINT
-            18x4....}> PUSHCONT
-            18x4....IFJMP
-            18x4....0 PUSHINT
-            18x4....s1 PUSH
-            26x4....SBITS
-            26x4....31 GTINT
-            18x4....<{
-            18x3......s0 POP
-            18x3......s0 PUSH
-            34x3......32 PLDU
-            18x4....}> PUSHCONT
-            18x4....IF
-            18x4....s0 PUSH
-            26x4....123 EQINT
-            26x4....<{
-            18x1......s0 POP
-            26x1......32 LDU
-            18x1......s0 s1 XCHG
-            26x1......123 EQINT
-            34x1......129 THROWIFNOT
-            18x1......LDREF
-            18x1......s0 s1 XCHG
-            118x1......CTOS
-            18x1......s0 s1 XCHG
-            26x1......32 LDU
-            26x1......8 LDU
-            26x1......LDMSGADDR
-            18x1......s0 s1 XCHG
-            18x1......s0 PUSH
-            26x1......SBITS
-            34x1......267 PUSHINT
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            18x1......s0 PUSH
-            34x1......11 PLDU
-            18x1......s0 PUSH
-            34x1......1279 PUSHINT
-            18x1......EQUAL
-            34x1......137 THROWIF
-            26x1......10 PUSHPOW2
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            18x1......s0 s1 XCHG
-            26x1......LDGRAMS
-            26x1......1 LDI
-            18x1......s0 s1 XCHG
-            18x1......<{
-            ........LDREF
-            18x1......}> PUSHCONT
-            18x1......<{
-            18x1........NULL
-            18x1........s0 s1 XCHG
-            18x1......}> PUSHCONT
-            18x1......IFELSE
-            26x1......5 1 BLKSWAP
-            26x1......s5 s6 XCHG
-            26x1......1 6 BLKDROP2
-            34x1......s4 s3 s2 PUSH3
-            26x1......s4 s3 PUSH2
-            18x1......NEWC
-            26x1......5 1 BLKSWAP
-            26x1......s4 s5 XCHG2
-            26x1......32 STU
-            18x1......s1 s2 XCHG
-            26x1......8 STU
-            18x1......s0 s1 XCHG
-            18x1......s0 PUSH
-            26x1......SBITS
-            34x1......267 PUSHINT
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            18x1......s0 PUSH
-            34x1......11 PLDU
-            18x1......s0 PUSH
-            34x1......1279 PUSHINT
-            18x1......EQUAL
-            34x1......137 THROWIF
-            26x1......10 PUSHPOW2
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            26x1......STSLICER
-            18x1......s0 s1 XCHG
-            26x1......STGRAMS
-            18x1......s1 PUSH
-            18x1......ISNULL
-            18x1......NOT
-            18x1......<{
-            ........-1 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            ........STREF
-            18x1......}> PUSHCONT
-            18x1......<{
-            18x1........0 PUSHINT
-            18x1........s2 POP
-            26x1........1 STI
-            18x1......}> PUSHCONT
-            18x1......IFELSE
-            518x1......ENDC
-            26x1......HASHCU
-            23x1......48401 PUSHINT
-            26x1......s7 s9 XCPU
-            26x1......CHKSIGNU
-            18x1......s1 s6 XCHG
-            26x1......THROWANYIFNOT
-            34x1......17654 PUSHINT
-            26x1......s4 s8 XCPU
-            18x1......EQUAL
-            18x1......s1 s4 XCHG
-            26x1......THROWANYIFNOT
-            18x1......s0 s6 XCHG
-            18x1......INC
-            26x1......s3 s1 s6 XCHG3
-            18x1......s0 s2 XCHG
-            18x1......-1 PUSHINT
-            26x1......s4 s4 s4 XCHG3
-            18x1......NULL
-            18x1......NULL
-            126x1......?fun_ref_b93b9862cda1783c INLINECALLDICT
-            18x1......-1 PUSHINT
-            26x4....}> PUSHCONT
-            18x4....IFJMP
-            18x3....s0 PUSH
-            26x3....0 EQINT
-            18x3....s2 PUSH
-            26x3....SBITS
-            26x3....33 LESSINT
-            18x3....AND
-            18x3....<{
-            18x1......DROP2
-            18x1......s0 s2 XCHG
-            18x1......INC
-            18x1......s0 s2 XCHG
-            18x1......-1 PUSHINT
-            18x3....}> PUSHCONT
-            18x3....IFJMP
-            26x2....0 EQINT
-            126x2....<{
-            18x2......s0 PUSH
-            526x2......HASHSU
-            18x2......s0 PUSH
-            23x2......60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT
-            18x2......EQUAL
-            18x2......<{
-            18x1........DROP2
-            18x1........-1 PUSHINT
-            26x1........RETFALSE
-            18x2......}> PUSHCONT
-            18x2......IFJMP
-            18x1......s0 PUSH
-            23x1......6394821005585434778314826493057958727299638479680279508357575356610368139954 PUSHINT
-            18x1......EQUAL
-            18x1......<{
-            18x1........DROP2
-            18x1........s0 s2 XCHG
-            18x1........INC
-            18x1........s0 s2 XCHG
-            18x1........-1 PUSHINT
-            26x1........RETFALSE
-            18x1......}> PUSHCONT
-            18x1......IFJMP
-            ......s0 PUSH
-            ......17450106222413158396152902420493430928103212707093656501341314190009046701113 PUSHINT
-            ......EQUAL
-            ......<{
-            ........DROP2
-            ........s0 s2 XCHG
-            ........INC
-            ........s0 s2 XCHG
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ......70845166824474961660404539579183775280814018357735859006660992311266151320569 PUSHINT
-            ......EQUAL
-            ......<{
-            ........s0 POP
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            126x2....}> IFREF
-            ....s0 POP
-            ....s0 s2 XCHG
-            ....INC
-            ....s0 s2 XCHG
-            ....-1 PUSHINT
-            x4..}>
-            x7..?fun_ref_40d98146a47dbe3b PROCREF:<{
-            18x7....s0 PUSH
-            x7..}>
-            x5..?fun_ref_44086a5ce86162fe PROCREF:<{
-            18x5....s1 PUSH
-            x5..}>
-            x7..?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{
-            18x7....s2 PUSH
-            x7..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x1..?fun_ref_cd29dd004f76b216 PROCREF:<{
-            18x1....0 PUSHINT
-            18x1....ROTREV
-            x1..}>
-            x10..?fun_ref_e2aa38dc313ba18d PROCREF:<{
-            26x10....c4 PUSH
-            118x10....CTOS
-            18x10....LDREF
-            18x10....s0 s1 XCHG
-            30x10....3 SETGLOBVAR
-            26x10....1 LDI
-            18x10....s0 s1 XCHG
-            18x10....<{
-            26x9......32 LDU
-            26x9......256 LDU
-            26x9......64 LDU
-            26x9......3 1 BLKSWAP
-            26x9......1 3 BLKDROP2
-            18x10....}> PUSHCONT
-            18x10....IFJMP
-            26x1....MYADDR
-            34x1....11 PLDU
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....137 THROWIFNOT
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....ROTREV
-            18x1....s0 s2 XCHG
-            18x1....ENDS
-            18x1....s0 s1 XCHG
-            126x1....?fun_ref_cd29dd004f76b216 INLINECALLDICT
-            x10..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/examples/output/wallet_Wallet.code.fc b/examples/output/wallet_Wallet.code.fc deleted file mode 100644 index 68ef14b79..000000000 --- a/examples/output/wallet_Wallet.code.fc +++ /dev/null @@ -1,221 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "wallet_Wallet.headers.fc"; -#include "wallet_Wallet.stdlib.fc"; -#include "wallet_Wallet.storage.fc"; - -;; -;; Contract Wallet functions -;; - -(int, int, int) $Wallet$_contract_init(int $key, int $walletId) impure inline_ref { - var (($self'seqno, $self'key, $self'walletId)) = (0, null(), null()); - $self'key = $key; - $self'walletId = $walletId; - return ($self'seqno, $self'key, $self'walletId); -} - -((int, int, int), int) $Wallet$_fun_publicKey((int, int, int) $self) impure inline_ref { - var (($self'seqno, $self'key, $self'walletId)) = $self; - return (($self'seqno, $self'key, $self'walletId), $self'key); -} - -((int, int, int), int) $Wallet$_fun_walletId((int, int, int) $self) impure inline_ref { - var (($self'seqno, $self'key, $self'walletId)) = $self; - return (($self'seqno, $self'key, $self'walletId), $self'walletId); -} - -((int, int, int), int) $Wallet$_fun_seqno((int, int, int) $self) impure inline_ref { - var (($self'seqno, $self'key, $self'walletId)) = $self; - return (($self'seqno, $self'key, $self'walletId), $self'seqno); -} - -;; -;; Receivers of a Contract Wallet -;; - -((int, int, int), ()) $Wallet$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246((int, int, int) $self) impure inline { - var ($self'seqno, $self'key, $self'walletId) = $self; - return (($self'seqno, $self'key, $self'walletId), ()); -} - -(((int, int, int)), ()) $Wallet$_internal_binary_TransferMessage((int, int, int) $self, (slice, (int, int, slice, int, cell)) $msg) impure inline { - var ($self'seqno, $self'key, $self'walletId) = $self; - var ($msg'signature, ($msg'transfer'seqno, $msg'transfer'mode, $msg'transfer'to, $msg'transfer'amount, $msg'transfer'body)) = $msg; - int $op_hash = cell_hash($Transfer$_store_cell(($msg'transfer'seqno, $msg'transfer'mode, $msg'transfer'to, $msg'transfer'amount, $msg'transfer'body))); - throw_unless(48401, check_signature($op_hash, $msg'signature, $self'key)); - throw_unless(17654, ($msg'transfer'seqno == $self'seqno)); - $self'seqno = ($self'seqno + 1); - $global_send($SendParameters$_constructor_value_to_mode_body($msg'transfer'amount, $msg'transfer'to, $msg'transfer'mode, $msg'transfer'body)); - return (($self'seqno, $self'key, $self'walletId), ()); -} - -((int, int, int), ()) $Wallet$_internal_any((int, int, int) $self, slice $msg) impure inline { - var ($self'seqno, $self'key, $self'walletId) = $self; - $self'seqno = ($self'seqno + 1); - return (($self'seqno, $self'key, $self'walletId), ()); -} - -(((int, int, int)), ()) %$Wallet$_internal_empty((int, int, int) $self) impure inline { - var ($self'seqno, $self'key, $self'walletId) = $self; - $self'seqno = ($self'seqno + 1); - return (($self'seqno, $self'key, $self'walletId), ()); -} - -((int, int, int), ()) $Wallet$_internal_text_0e235726108b5700d0369dd7167f6affb806a7e04059375dd0e0fb24971e72b2((int, int, int) $self) impure inline { - var ($self'seqno, $self'key, $self'walletId) = $self; - $self'seqno = ($self'seqno + 1); - return (($self'seqno, $self'key, $self'walletId), ()); -} - -((int, int, int), ()) $Wallet$_internal_text_7443c448982f5b8edf2b2d034b316f96dc6a7c2ab79598a43348c152d4cadd26((int, int, int) $self) impure inline { - var ($self'seqno, $self'key, $self'walletId) = $self; - $self'seqno = ($self'seqno + 1); - return (($self'seqno, $self'key, $self'walletId), ()); -} - -((int, int, int), ()) $Wallet$_internal_text_9ca0f1855174e32e8fd378df56a6e4f6c40e4dfcb6090e49812f7b1e26214bf9((int, int, int) $self) impure inline { - var ($self'seqno, $self'key, $self'walletId) = $self; - var ($walletInit'code, $walletInit'data) = $Wallet$_init_child(__tact_context_sys, $self'key, ($self'walletId + 1)); - return (($self'seqno, $self'key, $self'walletId), ()); -} - -((int, int, int), ()) $Wallet$_receive_bounce((int, int, int) $self, slice $msg) impure inline { - var ($self'seqno, $self'key, $self'walletId) = $self; - return (($self'seqno, $self'key, $self'walletId), ()); -} - -;; -;; Get methods of a Contract Wallet -;; - -_ %publicKey() method_id(86520) { - var self = $Wallet$_contract_load(); - var res = self~$Wallet$_fun_publicKey(); - return res; -} - -_ %walletId() method_id(114762) { - var self = $Wallet$_contract_load(); - var res = self~$Wallet$_fun_walletId(); - return res; -} - -_ %seqno() method_id(85143) { - var self = $Wallet$_contract_load(); - var res = self~$Wallet$_fun_seqno(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmfTrgAFztNWcUXAstw8zCpW3ivWpbjYrA3WzVw2b9G1Qu"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Wallet -;; - -((int, int, int), int) $Wallet$_contract_router_internal((int, int, int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - - ;; Skip 0xFFFFFFFF - in_msg~skip_bits(32); - - ;; Fallback bounce receiver - self~$Wallet$_receive_bounce(in_msg); - - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive TransferMessage message - if (op == 123) { - var msg = in_msg~$TransferMessage$_load(); - self~$Wallet$_internal_binary_TransferMessage(msg); - return (self, true); - } - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$Wallet$_internal_empty(); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Deploy" message - if (text_op == 0x85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246) { - self~$Wallet$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246(); - return (self, true); - } - - ;; Receive "notify" message - if (text_op == 0x0e235726108b5700d0369dd7167f6affb806a7e04059375dd0e0fb24971e72b2) { - self~$Wallet$_internal_text_0e235726108b5700d0369dd7167f6affb806a7e04059375dd0e0fb24971e72b2(); - return (self, true); - } - - ;; Receive "你好ж" message - if (text_op == 0x7443c448982f5b8edf2b2d034b316f96dc6a7c2ab79598a43348c152d4cadd26) { - self~$Wallet$_internal_text_7443c448982f5b8edf2b2d034b316f96dc6a7c2ab79598a43348c152d4cadd26(); - return (self, true); - } - - ;; Receive "duplicate" message - if (text_op == 0x9ca0f1855174e32e8fd378df56a6e4f6c40e4dfcb6090e49812f7b1e26214bf9) { - self~$Wallet$_internal_text_9ca0f1855174e32e8fd378df56a6e4f6c40e4dfcb6090e49812f7b1e26214bf9(); - return (self, true); - } - } - - ;; Receiver fallback - self~$Wallet$_internal_any(in_msg); - return (self, true); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Wallet$_contract_load(); - - ;; Handle operation - int handled = self~$Wallet$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Wallet$_contract_store(self); -} diff --git a/examples/output/wallet_Wallet.code.fif b/examples/output/wallet_Wallet.code.fif deleted file mode 100644 index 7de359b11..000000000 --- a/examples/output/wallet_Wallet.code.fif +++ /dev/null @@ -1,545 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_not_null - DECLPROC __tact_store_bool - DECLPROC __tact_dict_set_code - DECLPROC __tact_dict_get_code - DECLPROC $Transfer$_store - DECLPROC $Transfer$_store_cell - DECLPROC $Transfer$_load - DECLPROC $TransferMessage$_load - DECLPROC $Wallet$_store - DECLPROC $Wallet$_load - DECLPROC $Wallet$init$_store - DECLPROC $Wallet$init$_load - DECLPROC $Wallet$_contract_init - DECLPROC $Wallet$_contract_load - DECLPROC $Wallet$_contract_store - DECLPROC $global_send - DECLPROC $Wallet$_init_child - DECLPROC $Wallet$_fun_publicKey - DECLPROC $Wallet$_fun_walletId - DECLPROC $Wallet$_fun_seqno - DECLPROC $SendParameters$_constructor_value_to_mode_body - DECLPROC $Wallet$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 - DECLPROC $Wallet$_internal_binary_TransferMessage - DECLPROC $Wallet$_internal_any - DECLPROC %$Wallet$_internal_empty - DECLPROC $Wallet$_internal_text_0e235726108b5700d0369dd7167f6affb806a7e04059375dd0e0fb24971e72b2 - DECLPROC $Wallet$_internal_text_7443c448982f5b8edf2b2d034b316f96dc6a7c2ab79598a43348c152d4cadd26 - DECLPROC $Wallet$_internal_text_9ca0f1855174e32e8fd378df56a6e4f6c40e4dfcb6090e49812f7b1e26214bf9 - DECLPROC $Wallet$_receive_bounce - 86520 DECLMETHOD %publicKey - 114762 DECLMETHOD %walletId - 85143 DECLMETHOD %seqno - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Wallet$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_dict_set_code PROCINLINE:<{ - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - }> - __tact_dict_get_code PROCINLINE:<{ - SWAP - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - }> - $Transfer$_store PROCINLINE:<{ - s4 s5 XCHG2 - 32 STU - s1 s2 XCHG - 8 STU - SWAP - __tact_store_address INLINECALLDICT - SWAP - STGRAMS - OVER - ISNULL - NOT - IF:<{ - TRUE - SWAP - 1 STI - STREF - }>ELSE<{ - FALSE - s2 POP - 1 STI - }> - }> - $Transfer$_store_cell PROCINLINE:<{ - NEWC - 5 -ROLL - $Transfer$_store INLINECALLDICT - ENDC - }> - $Transfer$_load PROCINLINE:<{ - 32 LDU - 8 LDU - __tact_load_address INLINECALLDICT - SWAP - LDGRAMS - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - 5 -ROLL - }> - $TransferMessage$_load PROCINLINE:<{ - 32 LDU - SWAP - 123 EQINT - 129 THROWIFNOT - LDREF - SWAP - CTOS - SWAP - $Transfer$_load INLINECALLDICT - s5 s6 XCHG - }> - $Wallet$_store PROCINLINE:<{ - s2 s3 XCHG2 - 32 STU - 256 STU - 64 STU - }> - $Wallet$_load PROCINLINE:<{ - 32 LDU - 256 LDU - 64 LDU - 3 -ROLL - }> - $Wallet$init$_store PROCINLINE:<{ - s0 s2 XCHG - 257 PUSHINT - STIX - 257 PUSHINT - STIX - }> - $Wallet$init$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - -ROT - }> - $Wallet$_contract_init PROCREF:<{ - 0 PUSHINT - -ROT - }> - $Wallet$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Wallet$_load INLINECALLDICT - 1 3 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Wallet$init$_load INLINECALLDICT - s0 s2 XCHG - ENDS - SWAP - $Wallet$_contract_init INLINECALLDICT - }> - $Wallet$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 3 -ROLL - $Wallet$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $Wallet$_init_child PROCREF:<{ - s0 s2 XCHG - CTOS - LDDICT - DROP - NEWDICT - SWAP - 14718 PUSHINT - __tact_dict_get_code INLINECALLDICT - SWAP - 14718 PUSHINT - s2 PUSH - __tact_dict_set_code INLINECALLDICT - NEWC - SWAP - NEWC - STDICT - ENDC - SWAP - STREF - FALSE - SWAP - 1 STI - s0 s0 s3 XCHG3 - $Wallet$init$_store INLINECALLDICT - ENDC - }> - $Wallet$_fun_publicKey PROCREF:<{ - OVER - }> - $Wallet$_fun_walletId PROCREF:<{ - DUP - }> - $Wallet$_fun_seqno PROCREF:<{ - s2 PUSH - }> - $SendParameters$_constructor_value_to_mode_body PROCINLINE:<{ - TRUE - s4 s4 s4 XCHG3 - PUSHNULL - PUSHNULL - }> - $Wallet$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 PROCINLINE:<{ - }> - $Wallet$_internal_binary_TransferMessage PROCINLINE:<{ - s4 s3 s2 PUSH3 - s4 s3 PUSH2 - $Transfer$_store_cell INLINECALLDICT - HASHCU - 48401 PUSHINT - s7 s9 XCPU - CHKSIGNU - s1 s6 XCHG - THROWANYIFNOT - 17654 PUSHINT - s4 s8 XCPU - EQUAL - s1 s4 XCHG - THROWANYIFNOT - s0 s6 XCHG - INC - s3 s1 s6 XCHG3 - s0 s2 XCHG - $SendParameters$_constructor_value_to_mode_body INLINECALLDICT - $global_send INLINECALLDICT - }> - $Wallet$_internal_any PROCINLINE:<{ - DROP - s0 s2 XCHG - INC - s0 s2 XCHG - }> - %$Wallet$_internal_empty PROCINLINE:<{ - s0 s2 XCHG - INC - s0 s2 XCHG - }> - $Wallet$_internal_text_0e235726108b5700d0369dd7167f6affb806a7e04059375dd0e0fb24971e72b2 PROCINLINE:<{ - s0 s2 XCHG - INC - s0 s2 XCHG - }> - $Wallet$_internal_text_7443c448982f5b8edf2b2d034b316f96dc6a7c2ab79598a43348c152d4cadd26 PROCINLINE:<{ - s0 s2 XCHG - INC - s0 s2 XCHG - }> - $Wallet$_internal_text_9ca0f1855174e32e8fd378df56a6e4f6c40e4dfcb6090e49812f7b1e26214bf9 PROCINLINE:<{ - }> - $Wallet$_receive_bounce PROCINLINE:<{ - DROP - }> - %publicKey PROC:<{ - $Wallet$_contract_load INLINECALLDICT - $Wallet$_fun_publicKey INLINECALLDICT - 3 1 BLKDROP2 - }> - %walletId PROC:<{ - $Wallet$_contract_load INLINECALLDICT - $Wallet$_fun_walletId INLINECALLDICT - 3 1 BLKDROP2 - }> - %seqno PROC:<{ - $Wallet$_contract_load INLINECALLDICT - $Wallet$_fun_seqno INLINECALLDICT - 3 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d6654726741467a744e5763555841737477387a4370573369765770626a59724133577a567732623947315175} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Wallet$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - 32 PUSHINT - SDSKIPFIRST - $Wallet$_receive_bounce INLINECALLDICT - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 123 EQINT - IFJMP:<{ - DROP - $TransferMessage$_load INLINECALLDICT - 1 6 BLKDROP2 - $Wallet$_internal_binary_TransferMessage INLINECALLDICT - TRUE - }> - DUP - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - IFJMP:<{ - 2DROP - %$Wallet$_internal_empty INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - DUP - HASHSU - DUP - 60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT - EQUAL - IFJMP:<{ - 2DROP - $Wallet$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 INLINECALLDICT - TRUE - RETALT - }> - DUP - 6394821005585434778314826493057958727299638479680279508357575356610368139954 PUSHINT - EQUAL - IFJMP:<{ - 2DROP - $Wallet$_internal_text_0e235726108b5700d0369dd7167f6affb806a7e04059375dd0e0fb24971e72b2 INLINECALLDICT - TRUE - RETALT - }> - DUP - 52588023888426133927087855997776392480070287065023594941918871038457014836518 PUSHINT - EQUAL - IFJMP:<{ - 2DROP - $Wallet$_internal_text_7443c448982f5b8edf2b2d034b316f96dc6a7c2ab79598a43348c152d4cadd26 INLINECALLDICT - TRUE - RETALT - }> - 70845166824474961660404539579183775280814018357735859006660992311266151320569 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Wallet$_internal_text_9ca0f1855174e32e8fd378df56a6e4f6c40e4dfcb6090e49812f7b1e26214bf9 INLINECALLDICT - TRUE - RETALT - }> - }> - $Wallet$_internal_any INLINECALLDICT - TRUE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Wallet$_contract_load INLINECALLDICT - 2 3 BLKSWAP - $Wallet$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Wallet$_contract_store INLINECALLDICT - }> -}END>c diff --git a/examples/output/wallet_Wallet.code.rev.fif b/examples/output/wallet_Wallet.code.rev.fif deleted file mode 100644 index 76b29598a..000000000 --- a/examples/output/wallet_Wallet.code.rev.fif +++ /dev/null @@ -1,481 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC seqno; - DECLPROC ?fun_86520; - DECLPROC supported_interfaces; - DECLPROC ?fun_114762; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_40d98146a47dbe3b; - DECLPROC ?fun_ref_44086a5ce86162fe; - DECLPROC ?fun_ref_7ccf4a095fce390e; - DECLPROC ?fun_ref_b2f99ae1a1dd4dfb; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_cd29dd004f76b216; - DECLPROC ?fun_ref_e2aa38dc313ba18d; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_e2aa38dc313ba18d INLINECALLDICT - 2 3 BLKSWAP - ?fun_ref_7ccf4a095fce390e INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 3 1 BLKSWAP - s2 s3 XCHG2 - 32 STU - 256 STU - 64 STU - ENDC - c4 POP - }> - seqno PROC:<{ - ?fun_ref_e2aa38dc313ba18d INLINECALLDICT - ?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT - 3 1 BLKDROP2 - }> - ?fun_86520 PROC:<{ - ?fun_ref_e2aa38dc313ba18d INLINECALLDICT - ?fun_ref_44086a5ce86162fe INLINECALLDICT - 3 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - ?fun_114762 PROC:<{ - ?fun_ref_e2aa38dc313ba18d INLINECALLDICT - ?fun_ref_40d98146a47dbe3b INLINECALLDICT - 3 1 BLKDROP2 - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D6654726741467A744E5763555841737477387A4370573369765770626A59724133577A56773262394731517582_} PUSHSLICE - }> - ?fun_ref_40d98146a47dbe3b PROCREF:<{ - s0 PUSH - }> - ?fun_ref_44086a5ce86162fe PROCREF:<{ - s1 PUSH - }> - ?fun_ref_7ccf4a095fce390e PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - 32 PUSHINT - SDSKIPFIRST - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 123 EQINT - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 123 EQINT - 129 THROWIFNOT - LDREF - s0 s1 XCHG - CTOS - s0 s1 XCHG - 32 LDU - 8 LDU - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDGRAMS - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - 5 1 BLKSWAP - s5 s6 XCHG - 1 6 BLKDROP2 - s4 s3 s2 PUSH3 - s4 s3 PUSH2 - NEWC - 5 1 BLKSWAP - s4 s5 XCHG2 - 32 STU - s1 s2 XCHG - 8 STU - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s1 XCHG - STGRAMS - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - STREF - }> PUSHCONT - <{ - 0 PUSHINT - s2 POP - 1 STI - }> PUSHCONT - IFELSE - ENDC - HASHCU - 48401 PUSHINT - s7 s9 XCPU - CHKSIGNU - s1 s6 XCHG - THROWANYIFNOT - 17654 PUSHINT - s4 s8 XCPU - EQUAL - s1 s4 XCHG - THROWANYIFNOT - s0 s6 XCHG - INC - s3 s1 s6 XCHG3 - s0 s2 XCHG - -1 PUSHINT - s4 s4 s4 XCHG3 - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - <{ - DROP2 - s0 s2 XCHG - INC - s0 s2 XCHG - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 EQINT - <{ - s0 PUSH - HASHSU - s0 PUSH - 60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT - EQUAL - <{ - DROP2 - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - s0 PUSH - 6394821005585434778314826493057958727299638479680279508357575356610368139954 PUSHINT - EQUAL - <{ - DROP2 - s0 s2 XCHG - INC - s0 s2 XCHG - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - s0 PUSH - 52588023888426133927087855997776392480070287065023594941918871038457014836518 PUSHINT - EQUAL - <{ - DROP2 - s0 s2 XCHG - INC - s0 s2 XCHG - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - 70845166824474961660404539579183775280814018357735859006660992311266151320569 PUSHINT - EQUAL - <{ - s0 POP - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> IFREF - s0 POP - s0 s2 XCHG - INC - s0 s2 XCHG - -1 PUSHINT - }> - ?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{ - s2 PUSH - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_cd29dd004f76b216 PROCREF:<{ - 0 PUSHINT - ROTREV - }> - ?fun_ref_e2aa38dc313ba18d PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 32 LDU - 256 LDU - 64 LDU - 3 1 BLKSWAP - 1 3 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - ROTREV - s0 s2 XCHG - ENDS - s0 s1 XCHG - ?fun_ref_cd29dd004f76b216 INLINECALLDICT - }> -}END>c \ No newline at end of file diff --git a/examples/output/wallet_Wallet.headers.fc b/examples/output/wallet_Wallet.headers.fc deleted file mode 100644 index ed34a3a35..000000000 --- a/examples/output/wallet_Wallet.headers.fc +++ /dev/null @@ -1,76 +0,0 @@ -;; -;; Header files for Wallet -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_dict_set_code -cell __tact_dict_set_code(cell dict, int id, cell code) inline; - -;; __tact_dict_get_code -cell __tact_dict_get_code(cell dict, int id) inline; - -;; $Transfer$_store -builder $Transfer$_store(builder build_0, (int, int, slice, int, cell) v) inline; - -;; $Transfer$_store_cell -cell $Transfer$_store_cell((int, int, slice, int, cell) v) inline; - -;; $Transfer$_load -(slice, ((int, int, slice, int, cell))) $Transfer$_load(slice sc_0) inline; - -;; $TransferMessage$_load -(slice, ((slice, (int, int, slice, int, cell)))) $TransferMessage$_load(slice sc_0) inline; - -;; $Wallet$_store -builder $Wallet$_store(builder build_0, (int, int, int) v) inline; - -;; $Wallet$_load -(slice, ((int, int, int))) $Wallet$_load(slice sc_0) inline; - -;; $Wallet$init$_store -builder $Wallet$init$_store(builder build_0, (int, int) v) inline; - -;; $Wallet$init$_load -(slice, ((int, int))) $Wallet$init$_load(slice sc_0) inline; - -;; $Wallet$_contract_init -(int, int, int) $Wallet$_contract_init(int $key, int $walletId) impure inline_ref; - -;; $Wallet$_contract_load -(int, int, int) $Wallet$_contract_load() impure inline_ref; - -;; $Wallet$_contract_store -() $Wallet$_contract_store((int, int, int) v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $Wallet$_init_child -(cell, cell) $Wallet$_init_child(cell sys', int $key, int $walletId) inline_ref; - -;; $Wallet$_fun_publicKey -((int, int, int), int) $Wallet$_fun_publicKey((int, int, int) $self) impure inline_ref; - -;; $Wallet$_fun_walletId -((int, int, int), int) $Wallet$_fun_walletId((int, int, int) $self) impure inline_ref; - -;; $Wallet$_fun_seqno -((int, int, int), int) $Wallet$_fun_seqno((int, int, int) $self) impure inline_ref; - -;; $SendParameters$_constructor_value_to_mode_body -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_body(int value, slice to, int mode, cell body) inline; diff --git a/examples/output/wallet_Wallet.md b/examples/output/wallet_Wallet.md deleted file mode 100644 index e0efc017d..000000000 --- a/examples/output/wallet_Wallet.md +++ /dev/null @@ -1,63 +0,0 @@ -# TACT Compilation Report -Contract: Wallet -BOC Size: 986 bytes - -# Types -Total Types: 5 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Transfer -TLB: `_ seqno:uint32 mode:uint8 to:address amount:coins body:Maybe ^cell = Transfer` -Signature: `Transfer{seqno:uint32,mode:uint8,to:address,amount:coins,body:Maybe ^cell}` - -## TransferMessage -TLB: `transfer_message#0000007b signature:^slice transfer:Transfer{seqno:uint32,mode:uint8,to:address,amount:coins,body:Maybe ^cell} = TransferMessage` -Signature: `TransferMessage{signature:^slice,transfer:Transfer{seqno:uint32,mode:uint8,to:address,amount:coins,body:Maybe ^cell}}` - -# Get Methods -Total Get Methods: 3 - -## publicKey - -## walletId - -## seqno - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -17654: Invalid seqno -48401: Invalid signature \ No newline at end of file diff --git a/examples/output/wallet_Wallet.pkg b/examples/output/wallet_Wallet.pkg deleted file mode 100644 index 3f80e7440..000000000 --- a/examples/output/wallet_Wallet.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Wallet","code":"te6ccgECGQEAA84AART/APSkE/S88sgLAQIBYgIDAqbQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVEts88uCCyPhDAcx/AcoAVSBQI8sfy//LP8ntVBYEAgEgCgsC9u2i7fsBloAg1yEwf+BwIddJwh+VMCDXCx/eIMB7jsIw0x8BwHvy4IHUAdAB0x/TB/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+gDSAAGR1JJtAeJVQBBWbBbgIMAAItdJwSGwlVsCpAJ/4MAA4wAwAqQCfwUGAchUdDJTQ8hVQFBFyx8SywcBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WAfoCIW6zlX8BygDMlHAyygDiyfkAggC9EVF5+RAW8vSBRPZRSLoU8vQGpEMWAn9ERG1t2zx/BwH8IPkBIILwhdKIOEwAQ0WLAoA8siBZ9ogDxVPDZWNENGRo2slh8ka6lFt/2zHgIILwDiNXJhCLVwDQNp3XFn9q/7gGp+BAWTdd0OD7JJcecrK6l1sCpAJ/2zHgIILwdEPESJgvW47fKy0DSzFvltxqfCq3lZikM0jBUtTK3Sa6CQHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAIAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAGSXWwKkAn/bMeCC8Jyg8YVRdOMuj9N431am5PbEDk38tgkOSYEvex4mIUv5upQwf9sx4AIBagwNAgEgEBECEbMl9s82zxsMYBYOAhGwfjbPNs8bDGAWDwACIgACIQCVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgFIEhMCAWIUFQB1sm7jQ1aXBmczovL1FtZlRyZ0FGenROV2NVWEFzdHc4ekNwVzNpdldwYmpZckEzV3pWdzJiOUcxUXWCACD6SVtnm2eNhjFhcAD6V92omhpAADAWLtRNDUAfhj0gABmtMf0//TP1UgbBPg+CjXCwqDCbry4ImBAQHXAIEBAdcAWQLRAds8GAACIAAEcFk=","abi":"{\"name\":\"Wallet\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Transfer\",\"header\":null,\"fields\":[{\"name\":\"seqno\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":32}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":8}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TransferMessage\",\"header\":123,\"fields\":[{\"name\":\"signature\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}},{\"name\":\"transfer\",\"type\":{\"kind\":\"simple\",\"type\":\"Transfer\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Deploy\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TransferMessage\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"any\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"notify\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"你好ж\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"duplicate\"}}],\"getters\":[{\"name\":\"publicKey\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"walletId\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"seqno\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"17654\":{\"message\":\"Invalid seqno\"},\"48401\":{\"message\":\"Invalid signature\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"walletId","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECGwEAA9gAAQHAAQEFoHL9AgEU/wD0pBP0vPLICwMCAWISBAIBIA0FAgEgDAYCAUgIBwB1sm7jQ1aXBmczovL1FtZlRyZ0FGenROV2NVWEFzdHc4ekNwVzNpdldwYmpZckEzV3pWdzJiOUcxUXWCACAWIKCQAPpX3aiaGkAAMCD6SVtnm2eNhjGQsAAiAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAIBahAOAhGwfjbPNs8bDGAZDwACIQIRsyX2zzbPGwxgGREAAiICptAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUS2zzy4ILI+EMBzH8BygBVIFAjyx/L/8s/ye1UGRMC9u2i7fsBloAg1yEwf+BwIddJwh+VMCDXCx/eIMB7jsIw0x8BwHvy4IHUAdAB0x/TB/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+gDSAAGR1JJtAeJVQBBWbBbgIMAAItdJwSGwlVsCpAJ/4MAA4wAwAqQCfxYUAfwg+QEggvCF0og4TABDRYsCgDyyIFn2iAPFU8NlY0Q0ZGjayWHyRrqUW3/bMeAggvAOI1cmEItXANA2ndcWf2r/uAan4EBZN13Q4Psklx5ysrqXWwKkAn/bMeAggvB0Q8RImC9bjt8rLQNLMW+W3Gp8KreVmKQzSMFS1MrdJroVAGSXWwKkAn/bMeCC8Jyg8YVRdOMuj9N431am5PbEDk38tgkOSYEvex4mIUv5upQwf9sx4AHIVHQyU0PIVUBQRcsfEssHASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgH6AiFus5V/AcoAzJRwMsoA4sn5AIIAvRFRefkQFvL0gUT2UUi6FPL0BqRDFgJ/RERtbds8fxcByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsAGACYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAFi7UTQ1AH4Y9IAAZrTH9P/0z9VIGwT4Pgo1wsKgwm68uCJgQEB1wCBAQHXAFkC0QHbPBoABHBZM5b2GQ=="}},"sources":{"examples\\wallet.tact":"c3RydWN0IFRyYW5zZmVyIHsNCiAgICBzZXFubzogSW50IGFzIHVpbnQzMjsNCiAgICBtb2RlOiBJbnQgYXMgdWludDg7DQogICAgdG86IEFkZHJlc3M7DQogICAgYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgYm9keTogQ2VsbD87DQp9DQoNCm1lc3NhZ2UoMTIzKSBUcmFuc2Zlck1lc3NhZ2Ugew0KICAgIHNpZ25hdHVyZTogU2xpY2U7DQogICAgdHJhbnNmZXI6IFRyYW5zZmVyOw0KfQ0KDQpjb250cmFjdCBXYWxsZXQgew0KDQogICAgc2Vxbm86IEludCBhcyB1aW50MzIgPSAwOw0KICAgIGtleTogSW50IGFzIHVpbnQyNTY7DQogICAgd2FsbGV0SWQ6IEludCBhcyB1aW50NjQ7DQoNCiAgICBpbml0KGtleTogSW50LCB3YWxsZXRJZDogSW50KSB7DQogICAgICAgIHNlbGYua2V5ID0ga2V5Ow0KICAgICAgICBzZWxmLndhbGxldElkID0gd2FsbGV0SWQ7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgiRGVwbG95Iikgew0KICAgICAgICAvLyBEbyBub3RoaW5nDQogICAgfQ0KDQogICAgcmVjZWl2ZShtc2c6IFRyYW5zZmVyTWVzc2FnZSkgew0KDQogICAgICAgIC8vIENoZWNrIFNpZ25hdHVyZQ0KICAgICAgICBsZXQgb3BfaGFzaDogSW50ID0gbXNnLnRyYW5zZmVyLnRvQ2VsbCgpLmhhc2goKTsNCiAgICAgICAgcmVxdWlyZShjaGVja1NpZ25hdHVyZShvcF9oYXNoLCBtc2cuc2lnbmF0dXJlLCBzZWxmLmtleSksICJJbnZhbGlkIHNpZ25hdHVyZSIpOw0KICAgICAgICByZXF1aXJlKG1zZy50cmFuc2Zlci5zZXFubyA9PSBzZWxmLnNlcW5vLCAiSW52YWxpZCBzZXFubyIpOw0KDQogICAgICAgIC8vIEluY3JlbWVudCBzZXFubw0KICAgICAgICBzZWxmLnNlcW5vID0gc2VsZi5zZXFubyArIDE7DQoNCiAgICAgICAgLy8gU2VuZCBtZXNzYWdlDQogICAgICAgIHNlbmQoU2VuZFBhcmFtZXRlcnN7dmFsdWU6IG1zZy50cmFuc2Zlci5hbW91bnQsIHRvOiBtc2cudHJhbnNmZXIudG8sIG1vZGU6IG1zZy50cmFuc2Zlci5tb2RlLCBib2R5OiBtc2cudHJhbnNmZXIuYm9keX0pOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBTbGljZSkgew0KICAgICAgICBzZWxmLnNlcW5vID0gc2VsZi5zZXFubyArIDE7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgpIHsNCiAgICAgICAgc2VsZi5zZXFubyA9IHNlbGYuc2Vxbm8gKyAxOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoIm5vdGlmeSIpIHsNCiAgICAgICAgc2VsZi5zZXFubyA9IHNlbGYuc2Vxbm8gKyAxOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoIuS9oOWlvdC2Iikgew0KICAgICAgICBzZWxmLnNlcW5vID0gc2VsZi5zZXFubyArIDE7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgiZHVwbGljYXRlIikgew0KICAgICAgICAvLyBDcmVhdGUgbmV3IHdhbGxldA0KICAgICAgICBsZXQgd2FsbGV0SW5pdDogU3RhdGVJbml0ID0gaW5pdE9mIFdhbGxldChzZWxmLmtleSwgc2VsZi53YWxsZXRJZCArIDEpOw0KICAgIH0NCg0KICAgIGJvdW5jZWQobXNnOiBTbGljZSkgew0KICAgICAgICAvLyBUT0RPOiBIYW5kbGUNCiAgICB9DQoNCiAgICBnZXQgZnVuIHB1YmxpY0tleSgpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2VsZi5rZXk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biB3YWxsZXRJZCgpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2VsZi53YWxsZXRJZDsNCiAgICB9DQoNCiAgICBnZXQgZnVuIHNlcW5vKCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLnNlcW5vOw0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./examples/wallet.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/examples/output/wallet_Wallet.stdlib.fc b/examples/output/wallet_Wallet.stdlib.fc deleted file mode 100644 index 4c61568e2..000000000 --- a/examples/output/wallet_Wallet.stdlib.fc +++ /dev/null @@ -1,82 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -cell __tact_dict_set_code(cell dict, int id, cell code) inline { - return udict_set_ref(dict, 16, id, code); -} - -cell __tact_dict_get_code(cell dict, int id) inline { - var (data, ok) = udict_get_ref?(dict, 16, id); - throw_unless(135, ok); - return data; -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} \ No newline at end of file diff --git a/examples/output/wallet_Wallet.storage.fc b/examples/output/wallet_Wallet.storage.fc deleted file mode 100644 index d3647ba40..000000000 --- a/examples/output/wallet_Wallet.storage.fc +++ /dev/null @@ -1,121 +0,0 @@ -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_body(int value, slice to, int mode, cell body) inline { - return (true, to, value, mode, body, null(), null()); -} - -;; -;; Type: Transfer -;; TLB: _ seqno:uint32 mode:uint8 to:address amount:coins body:Maybe ^cell = Transfer -;; - -builder $Transfer$_store(builder build_0, (int, int, slice, int, cell) v) inline { - var (v'seqno, v'mode, v'to, v'amount, v'body) = v; - build_0 = build_0.store_uint(v'seqno, 32); - build_0 = build_0.store_uint(v'mode, 8); - build_0 = __tact_store_address(build_0, v'to); - build_0 = build_0.store_coins(v'amount); - build_0 = ~ null?(v'body) ? build_0.store_int(true, 1).store_ref(v'body) : build_0.store_int(false, 1); - return build_0; -} - -cell $Transfer$_store_cell((int, int, slice, int, cell) v) inline { - return $Transfer$_store(begin_cell(), v).end_cell(); -} - -(slice, ((int, int, slice, int, cell))) $Transfer$_load(slice sc_0) inline { - var v'seqno = sc_0~load_uint(32); - var v'mode = sc_0~load_uint(8); - var v'to = sc_0~__tact_load_address(); - var v'amount = sc_0~load_coins(); - var v'body = sc_0~load_int(1) ? sc_0~load_ref() : null(); - return (sc_0, (v'seqno, v'mode, v'to, v'amount, v'body)); -} - -;; -;; Type: TransferMessage -;; Header: 0x0000007b -;; TLB: transfer_message#0000007b signature:^slice transfer:Transfer{seqno:uint32,mode:uint8,to:address,amount:coins,body:Maybe ^cell} = TransferMessage -;; - -(slice, ((slice, (int, int, slice, int, cell)))) $TransferMessage$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 123); - var v'signature = sc_0~load_ref().begin_parse(); - var v'transfer = sc_0~$Transfer$_load(); - return (sc_0, (v'signature, v'transfer)); -} - -;; -;; Type: Wallet -;; - -builder $Wallet$_store(builder build_0, (int, int, int) v) inline { - var (v'seqno, v'key, v'walletId) = v; - build_0 = build_0.store_uint(v'seqno, 32); - build_0 = build_0.store_uint(v'key, 256); - build_0 = build_0.store_uint(v'walletId, 64); - return build_0; -} - -(slice, ((int, int, int))) $Wallet$_load(slice sc_0) inline { - var v'seqno = sc_0~load_uint(32); - var v'key = sc_0~load_uint(256); - var v'walletId = sc_0~load_uint(64); - return (sc_0, (v'seqno, v'key, v'walletId)); -} - -builder $Wallet$init$_store(builder build_0, (int, int) v) inline { - var (v'key, v'walletId) = v; - build_0 = build_0.store_int(v'key, 257); - build_0 = build_0.store_int(v'walletId, 257); - return build_0; -} - -(slice, ((int, int))) $Wallet$init$_load(slice sc_0) inline { - var v'key = sc_0~load_int(257); - var v'walletId = sc_0~load_int(257); - return (sc_0, (v'key, v'walletId)); -} - -(int, int, int) $Wallet$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$Wallet$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (int key, int walletId) = $sc~$Wallet$init$_load(); - $sc.end_parse(); - return $Wallet$_contract_init(key, walletId); - } -} - -() $Wallet$_contract_store((int, int, int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $Wallet$_store(b, v); - set_data(b.end_cell()); -} - -(cell, cell) $Wallet$_init_child(cell sys', int $key, int $walletId) inline_ref { - slice sc' = sys'.begin_parse(); - cell source = sc'~load_dict(); - cell contracts = new_dict(); - - ;; Contract Code: Wallet - cell mine = __tact_dict_get_code(source, 14718); - contracts = __tact_dict_set_code(contracts, 14718, mine); - - ;; Build cell - builder b = begin_cell(); - b = b.store_ref(begin_cell().store_dict(contracts).end_cell()); - b = b.store_int(false, 1); - b = $Wallet$init$_store(b, ($key, $walletId)); - return (mine, b.end_cell()); -} \ No newline at end of file diff --git a/examples/output/wallet_Wallet.ts b/examples/output/wallet_Wallet.ts deleted file mode 100644 index 9b24c2d6a..000000000 --- a/examples/output/wallet_Wallet.ts +++ /dev/null @@ -1,459 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Transfer = { - $$type: 'Transfer'; - seqno: bigint; - mode: bigint; - to: Address; - amount: bigint; - body: Cell | null; -} - -export function storeTransfer(src: Transfer) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(src.seqno, 32); - b_0.storeUint(src.mode, 8); - b_0.storeAddress(src.to); - b_0.storeCoins(src.amount); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - }; -} - -export function loadTransfer(slice: Slice) { - let sc_0 = slice; - let _seqno = sc_0.loadUintBig(32); - let _mode = sc_0.loadUintBig(8); - let _to = sc_0.loadAddress(); - let _amount = sc_0.loadCoins(); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'Transfer' as const, seqno: _seqno, mode: _mode, to: _to, amount: _amount, body: _body }; -} - -function loadTupleTransfer(source: TupleReader) { - let _seqno = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _to = source.readAddress(); - let _amount = source.readBigNumber(); - let _body = source.readCellOpt(); - return { $$type: 'Transfer' as const, seqno: _seqno, mode: _mode, to: _to, amount: _amount, body: _body }; -} - -function storeTupleTransfer(source: Transfer) { - let builder = new TupleBuilder(); - builder.writeNumber(source.seqno); - builder.writeNumber(source.mode); - builder.writeAddress(source.to); - builder.writeNumber(source.amount); - builder.writeCell(source.body); - return builder.build(); -} - -function dictValueParserTransfer(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTransfer(src)).endCell()); - }, - parse: (src) => { - return loadTransfer(src.loadRef().beginParse()); - } - } -} - -export type TransferMessage = { - $$type: 'TransferMessage'; - signature: Cell; - transfer: Transfer; -} - -export function storeTransferMessage(src: TransferMessage) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(123, 32); - b_0.storeRef(src.signature); - b_0.store(storeTransfer(src.transfer)); - }; -} - -export function loadTransferMessage(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 123) { throw Error('Invalid prefix'); } - let _signature = sc_0.loadRef(); - let _transfer = loadTransfer(sc_0); - return { $$type: 'TransferMessage' as const, signature: _signature, transfer: _transfer }; -} - -function loadTupleTransferMessage(source: TupleReader) { - let _signature = source.readCell(); - const _transfer = loadTupleTransfer(source.readTuple()); - return { $$type: 'TransferMessage' as const, signature: _signature, transfer: _transfer }; -} - -function storeTupleTransferMessage(source: TransferMessage) { - let builder = new TupleBuilder(); - builder.writeSlice(source.signature); - builder.writeTuple(storeTupleTransfer(source.transfer)); - return builder.build(); -} - -function dictValueParserTransferMessage(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTransferMessage(src)).endCell()); - }, - parse: (src) => { - return loadTransferMessage(src.loadRef().beginParse()); - } - } -} - - type Wallet_init_args = { - $$type: 'Wallet_init_args'; - key: bigint; - walletId: bigint; -} - -function initWallet_init_args(src: Wallet_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.key, 257); - b_0.storeInt(src.walletId, 257); - }; -} - -async function Wallet_init(key: bigint, walletId: bigint) { - const __code = Cell.fromBase64('te6ccgECGQEAA84AART/APSkE/S88sgLAQIBYgIDAqbQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVEts88uCCyPhDAcx/AcoAVSBQI8sfy//LP8ntVBYEAgEgCgsC9u2i7fsBloAg1yEwf+BwIddJwh+VMCDXCx/eIMB7jsIw0x8BwHvy4IHUAdAB0x/TB/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+gDSAAGR1JJtAeJVQBBWbBbgIMAAItdJwSGwlVsCpAJ/4MAA4wAwAqQCfwUGAchUdDJTQ8hVQFBFyx8SywcBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WAfoCIW6zlX8BygDMlHAyygDiyfkAggC9EVF5+RAW8vSBRPZRSLoU8vQGpEMWAn9ERG1t2zx/BwH8IPkBIILwhdKIOEwAQ0WLAoA8siBZ9ogDxVPDZWNENGRo2slh8ka6lFt/2zHgIILwDiNXJhCLVwDQNp3XFn9q/7gGp+BAWTdd0OD7JJcecrK6l1sCpAJ/2zHgIILwdEPESJgvW47fKy0DSzFvltxqfCq3lZikM0jBUtTK3Sa6CQHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAIAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAGSXWwKkAn/bMeCC8Jyg8YVRdOMuj9N431am5PbEDk38tgkOSYEvex4mIUv5upQwf9sx4AIBagwNAgEgEBECEbMl9s82zxsMYBYOAhGwfjbPNs8bDGAWDwACIgACIQCVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgFIEhMCAWIUFQB1sm7jQ1aXBmczovL1FtZlRyZ0FGenROV2NVWEFzdHc4ekNwVzNpdldwYmpZckEzV3pWdzJiOUcxUXWCACD6SVtnm2eNhjFhcAD6V92omhpAADAWLtRNDUAfhj0gABmtMf0//TP1UgbBPg+CjXCwqDCbry4ImBAQHXAIEBAdcAWQLRAds8GAACIAAEcFk='); - const __system = Cell.fromBase64('te6cckECGwEAA9gAAQHAAQEFoHL9AgEU/wD0pBP0vPLICwMCAWISBAIBIA0FAgEgDAYCAUgIBwB1sm7jQ1aXBmczovL1FtZlRyZ0FGenROV2NVWEFzdHc4ekNwVzNpdldwYmpZckEzV3pWdzJiOUcxUXWCACAWIKCQAPpX3aiaGkAAMCD6SVtnm2eNhjGQsAAiAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAIBahAOAhGwfjbPNs8bDGAZDwACIQIRsyX2zzbPGwxgGREAAiICptAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUS2zzy4ILI+EMBzH8BygBVIFAjyx/L/8s/ye1UGRMC9u2i7fsBloAg1yEwf+BwIddJwh+VMCDXCx/eIMB7jsIw0x8BwHvy4IHUAdAB0x/TB/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+gDSAAGR1JJtAeJVQBBWbBbgIMAAItdJwSGwlVsCpAJ/4MAA4wAwAqQCfxYUAfwg+QEggvCF0og4TABDRYsCgDyyIFn2iAPFU8NlY0Q0ZGjayWHyRrqUW3/bMeAggvAOI1cmEItXANA2ndcWf2r/uAan4EBZN13Q4Psklx5ysrqXWwKkAn/bMeAggvB0Q8RImC9bjt8rLQNLMW+W3Gp8KreVmKQzSMFS1MrdJroVAGSXWwKkAn/bMeCC8Jyg8YVRdOMuj9N431am5PbEDk38tgkOSYEvex4mIUv5upQwf9sx4AHIVHQyU0PIVUBQRcsfEssHASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgH6AiFus5V/AcoAzJRwMsoA4sn5AIIAvRFRefkQFvL0gUT2UUi6FPL0BqRDFgJ/RERtbds8fxcByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsAGACYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAFi7UTQ1AH4Y9IAAZrTH9P/0z9VIGwT4Pgo1wsKgwm68uCJgQEB1wCBAQHXAFkC0QHbPBoABHBZM5b2GQ=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initWallet_init_args({ $$type: 'Wallet_init_args', key, walletId })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Wallet_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 17654: { message: `Invalid seqno` }, - 48401: { message: `Invalid signature` }, -} - -const Wallet_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Transfer","header":null,"fields":[{"name":"seqno","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"mode","type":{"kind":"simple","type":"uint","optional":false,"format":8}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"TransferMessage","header":123,"fields":[{"name":"signature","type":{"kind":"simple","type":"slice","optional":false}},{"name":"transfer","type":{"kind":"simple","type":"Transfer","optional":false}}]}, -] - -const Wallet_getters: ABIGetter[] = [ - {"name":"publicKey","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"walletId","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"seqno","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const Wallet_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Deploy"}}, - {"receiver":"internal","message":{"kind":"typed","type":"TransferMessage"}}, - {"receiver":"internal","message":{"kind":"any"}}, - {"receiver":"internal","message":{"kind":"empty"}}, - {"receiver":"internal","message":{"kind":"text","text":"notify"}}, - {"receiver":"internal","message":{"kind":"text","text":"你好ж"}}, - {"receiver":"internal","message":{"kind":"text","text":"duplicate"}}, -] - -export class Wallet implements Contract { - - static async init(key: bigint, walletId: bigint) { - return await Wallet_init(key, walletId); - } - - static async fromInit(key: bigint, walletId: bigint) { - const init = await Wallet_init(key, walletId); - const address = contractAddress(0, init); - return new Wallet(address, init); - } - - static fromAddress(address: Address) { - return new Wallet(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Wallet_types, - getters: Wallet_getters, - receivers: Wallet_receivers, - errors: Wallet_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Deploy' | TransferMessage | Slice | null | 'notify' | '你好ж' | 'duplicate') { - - let body: Cell | null = null; - if (message === 'Deploy') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'TransferMessage') { - body = beginCell().store(storeTransferMessage(message)).endCell(); - } - if (message && typeof message === 'object' && message instanceof Slice) { - body = message.asCell(); - } - if (message === null) { - body = new Cell(); - } - if (message === 'notify') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message === '你好ж') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message === 'duplicate') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getPublicKey(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('publicKey', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getWalletId(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('walletId', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getSeqno(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('seqno', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_Functions.abi b/src/benchmarks/contracts/output/benchmark_functions_Functions.abi deleted file mode 100644 index 600156dd8..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_Functions.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Functions","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Add","header":831841332,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"Sub","header":2640337643,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"Add"}},{"receiver":"internal","message":{"kind":"typed","type":"Sub"}}],"getters":[],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"55789":{"message":"Value must be greater than 0"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_Functions.code.boc b/src/benchmarks/contracts/output/benchmark_functions_Functions.code.boc deleted file mode 100644 index 497a7cbe6..000000000 Binary files a/src/benchmarks/contracts/output/benchmark_functions_Functions.code.boc and /dev/null differ diff --git a/src/benchmarks/contracts/output/benchmark_functions_Functions.code.boc.html b/src/benchmarks/contracts/output/benchmark_functions_Functions.code.boc.html deleted file mode 100644 index e49079a78..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_Functions.code.boc.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_2e8105a0f1ba34b1;
-            ..DECLPROC ?fun_ref_36266a5855831da9;
-            ..DECLPROC ?fun_ref_644ef5250652bdfa;
-            ..DECLPROC ?fun_ref_8131162519805b39;
-            x1..recv_internal PROC:<{
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            26x1....4 LDU
-            18x1....s0 s1 XCHG
-            18x1....1 PUSHINT
-            18x1....AND
-            18x1....-1 MULCONST
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            34x1....s0 s6 s4 PUXCPU
-            18x1....s0 s3 XCHG
-            30x1....4 TUPLE
-            28x1....1 SETGLOBVAR
-            18x1....s0 s2 XCHG
-            29x1....2 SETGLOBVAR
-            126x1....?fun_ref_36266a5855831da9 INLINECALLDICT
-            18x1....ROTREV
-            126x1....?fun_ref_8131162519805b39 INLINECALLDICT
-            34x1....130 THROWIFNOT
-            18x1....NEWC
-            26x1....3 GETGLOBVAR
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....-1 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            18x1....s0 s1 XCHG
-            18x1....s0 s1 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            518x1....ENDC
-            26x1....c4 POP
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D62724E534A786B4E746F4452346B325A686D31465045616F326344524B4A457553586E586941556278416F4182_} PUSHSLICE
-            ..}>
-            x3..?fun_ref_2e8105a0f1ba34b1 PROCREF:<{
-            18x3....ADD
-            x3..}>
-            x6..?fun_ref_36266a5855831da9 PROCREF:<{
-            26x6....c4 PUSH
-            118x6....CTOS
-            18x6....LDREF
-            18x6....s0 s1 XCHG
-            30x6....3 SETGLOBVAR
-            26x6....1 LDI
-            18x6....s0 s1 XCHG
-            18x6....<{
-            34x3......257 PUSHINT
-            26x3......LDIX
-            18x3......s0 s1 XCHG
-            18x3......s1 POP
-            18x6....}> PUSHCONT
-            18x6....IFJMP
-            18x3....s0 POP
-            26x3....MYADDR
-            34x3....11 PLDU
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....137 THROWIFNOT
-            126x3....?fun_ref_644ef5250652bdfa INLINECALLDICT
-            x6..}>
-            x3..?fun_ref_644ef5250652bdfa PROCREF:<{
-            18x3....0 PUSHINT
-            x3..}>
-            x1..?fun_ref_8131162519805b39 PROCREF:<{
-            18x1....s0 s1 XCHG
-            18x1....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x1....}> PUSHCONT
-            18x1....IFJMP
-            18x1....0 PUSHINT
-            18x1....s1 PUSH
-            26x1....SBITS
-            26x1....31 GTINT
-            18x1....<{
-            18x1......s0 POP
-            18x1......s0 PUSH
-            34x1......32 PLDU
-            18x1....}> PUSHCONT
-            18x1....IF
-            18x1....s0 PUSH
-            23x1....831841332 PUSHINT
-            18x1....EQUAL
-            26x1....<{
-            18x1......s0 POP
-            26x1......32 LDU
-            18x1......s0 s1 XCHG
-            23x1......831841332 PUSHINT
-            18x1......EQUAL
-            34x1......129 THROWIFNOT
-            34x1......257 PUSHINT
-            26x1......LDIX
-            18x1......s0 s1 XCHG
-            18x1......s1 POP
-            23x1......55789 PUSHINT
-            18x1......s1 PUSH
-            26x1......0 GTINT
-            26x1......THROWANYIFNOT
-            126x1......?fun_ref_2e8105a0f1ba34b1 INLINECALLDICT
-            18x1......-1 PUSHINT
-            26x1....}> PUSHCONT
-            18x1....IFJMP
-            ....2640337643 PUSHINT
-            ....EQUAL
-            ....<{
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2640337643 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......55789 PUSHINT
-            ......s1 PUSH
-            ......0 GTINT
-            ......THROWANYIFNOT
-            ......-1 MULCONST
-            ......?fun_ref_2e8105a0f1ba34b1 INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            x1..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_Functions.code.fc b/src/benchmarks/contracts/output/benchmark_functions_Functions.code.fc deleted file mode 100644 index 5867338d1..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_Functions.code.fc +++ /dev/null @@ -1,121 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "benchmark_functions_Functions.headers.fc"; -#include "benchmark_functions_Functions.stdlib.fc"; -#include "benchmark_functions_Functions.storage.fc"; - -;; -;; Contract Functions functions -;; - -(int) $Functions$_contract_init() impure inline_ref { - var (($self'value)) = (null()); - $self'value = 0; - return ($self'value); -} - -((int), ()) $Functions$_fun_update((int) $self, int $delta) impure inline_ref { - var (($self'value)) = $self; - $self'value = ($self'value + $delta); - return (($self'value), ()); -} - -;; -;; Receivers of a Contract Functions -;; - -(((int)), ()) $Functions$_internal_binary_Add((int) $self, (int) $msg) impure inline { - var ($self'value) = $self; - var ($msg'value) = $msg; - throw_unless(55789, ($msg'value > 0)); - ($self'value)~$Functions$_fun_update($msg'value); - return (($self'value), ()); -} - -(((int)), ()) $Functions$_internal_binary_Sub((int) $self, (int) $msg) impure inline { - var ($self'value) = $self; - var ($msg'value) = $msg; - throw_unless(55789, ($msg'value > 0)); - ($self'value)~$Functions$_fun_update((- $msg'value)); - return (($self'value), ()); -} - -;; -;; Get methods of a Contract Functions -;; - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmbrNSJxkNtoDR4k2Zhm1FPEao2cDRKJEuSXnXiAUbxAoA"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Functions -;; - -((int), int) $Functions$_contract_router_internal((int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Add message - if (op == 831841332) { - var msg = in_msg~$Add$_load(); - self~$Functions$_internal_binary_Add(msg); - return (self, true); - } - - ;; Receive Sub message - if (op == 2640337643) { - var msg = in_msg~$Sub$_load(); - self~$Functions$_internal_binary_Sub(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Functions$_contract_load(); - - ;; Handle operation - int handled = self~$Functions$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Functions$_contract_store(self); -} diff --git a/src/benchmarks/contracts/output/benchmark_functions_Functions.code.fif b/src/benchmarks/contracts/output/benchmark_functions_Functions.code.fif deleted file mode 100644 index 360d25e4f..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_Functions.code.fif +++ /dev/null @@ -1,197 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Add$_load - DECLPROC $Sub$_load - DECLPROC $Functions$_store - DECLPROC $Functions$_load - DECLPROC $Functions$_contract_init - DECLPROC $Functions$_contract_load - DECLPROC $Functions$_contract_store - DECLPROC $Functions$_fun_update - DECLPROC $Functions$_internal_binary_Add - DECLPROC $Functions$_internal_binary_Sub - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Functions$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $Add$_load PROCINLINE:<{ - 32 LDU - SWAP - 831841332 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - SWAP - }> - $Sub$_load PROCINLINE:<{ - 32 LDU - SWAP - 2640337643 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - SWAP - }> - $Functions$_store PROCINLINE:<{ - SWAP - 257 PUSHINT - STIX - }> - $Functions$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - SWAP - }> - $Functions$_contract_init PROCREF:<{ - 0 PUSHINT - }> - $Functions$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Functions$_load INLINECALLDICT - NIP - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Functions$_contract_init INLINECALLDICT - }> - $Functions$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - SWAP - $Functions$_store INLINECALLDICT - ENDC - c4 POP - }> - $Functions$_fun_update PROCREF:<{ - ADD - }> - $Functions$_internal_binary_Add PROCINLINE:<{ - 55789 PUSHINT - OVER - 0 GTINT - THROWANYIFNOT - $Functions$_fun_update INLINECALLDICT - }> - $Functions$_internal_binary_Sub PROCINLINE:<{ - 55789 PUSHINT - OVER - 0 GTINT - THROWANYIFNOT - NEGATE - $Functions$_fun_update INLINECALLDICT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d62724e534a786b4e746f4452346b325a686d31465045616f326344524b4a457553586e586941556278416f41} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Functions$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 831841332 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Add$_load INLINECALLDICT - NIP - $Functions$_internal_binary_Add INLINECALLDICT - TRUE - }> - 2640337643 PUSHINT - EQUAL - IFJMP:<{ - $Sub$_load INLINECALLDICT - NIP - $Functions$_internal_binary_Sub INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Functions$_contract_load INLINECALLDICT - -ROT - $Functions$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Functions$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/benchmarks/contracts/output/benchmark_functions_Functions.code.rev.fif b/src/benchmarks/contracts/output/benchmark_functions_Functions.code.rev.fif deleted file mode 100644 index 6022e7fc7..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_Functions.code.rev.fif +++ /dev/null @@ -1,166 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_2e8105a0f1ba34b1; - DECLPROC ?fun_ref_36266a5855831da9; - DECLPROC ?fun_ref_644ef5250652bdfa; - DECLPROC ?fun_ref_8131162519805b39; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_36266a5855831da9 INLINECALLDICT - ROTREV - ?fun_ref_8131162519805b39 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 s1 XCHG - 257 PUSHINT - STIX - ENDC - c4 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D62724E534A786B4E746F4452346B325A686D31465045616F326344524B4A457553586E586941556278416F4182_} PUSHSLICE - }> - ?fun_ref_2e8105a0f1ba34b1 PROCREF:<{ - ADD - }> - ?fun_ref_36266a5855831da9 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - }> PUSHCONT - IFJMP - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_644ef5250652bdfa INLINECALLDICT - }> - ?fun_ref_644ef5250652bdfa PROCREF:<{ - 0 PUSHINT - }> - ?fun_ref_8131162519805b39 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 831841332 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 831841332 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - 55789 PUSHINT - s1 PUSH - 0 GTINT - THROWANYIFNOT - ?fun_ref_2e8105a0f1ba34b1 INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - 2640337643 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 2640337643 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - 55789 PUSHINT - s1 PUSH - 0 GTINT - THROWANYIFNOT - -1 MULCONST - ?fun_ref_2e8105a0f1ba34b1 INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_Functions.headers.fc b/src/benchmarks/contracts/output/benchmark_functions_Functions.headers.fc deleted file mode 100644 index f42f6136a..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_Functions.headers.fc +++ /dev/null @@ -1,31 +0,0 @@ -;; -;; Header files for Functions -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Add$_load -(slice, ((int))) $Add$_load(slice sc_0) inline; - -;; $Sub$_load -(slice, ((int))) $Sub$_load(slice sc_0) inline; - -;; $Functions$_store -builder $Functions$_store(builder build_0, (int) v) inline; - -;; $Functions$_load -(slice, ((int))) $Functions$_load(slice sc_0) inline; - -;; $Functions$_contract_init -(int) $Functions$_contract_init() impure inline_ref; - -;; $Functions$_contract_load -(int) $Functions$_contract_load() impure inline_ref; - -;; $Functions$_contract_store -() $Functions$_contract_store((int) v) impure inline; - -;; $Functions$_fun_update -((int), ()) $Functions$_fun_update((int) $self, int $delta) impure inline_ref; diff --git a/src/benchmarks/contracts/output/benchmark_functions_Functions.md b/src/benchmarks/contracts/output/benchmark_functions_Functions.md deleted file mode 100644 index 58a7a5f1a..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_Functions.md +++ /dev/null @@ -1,56 +0,0 @@ -# TACT Compilation Report -Contract: Functions -BOC Size: 425 bytes - -# Types -Total Types: 5 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Add -TLB: `add#3194e434 value:int257 = Add` -Signature: `Add{value:int257}` - -## Sub -TLB: `sub#9d605aeb value:int257 = Sub` -Signature: `Sub{value:int257}` - -# Get Methods -Total Get Methods: 0 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -55789: Value must be greater than 0 \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_Functions.pkg b/src/benchmarks/contracts/output/benchmark_functions_Functions.pkg deleted file mode 100644 index b758dca1d..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_Functions.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Functions","code":"te6ccgECDAEAAZ0AART/APSkE/S88sgLAQIBYgIDAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UBAUCAVgICQFC7UTQ1AH4Y9IAAZeBAQHXAAEx4DD4KNcLCoMJuvLgids8BgLWAZIwf+BwIddJwh+VMCDXCx/eIIIQMZTkNLqOoTDTHwGCEDGU5DS68uCBgQEB1wABMYIA2e0hwgDy9Ns8f+CCEJ1gWuu6jqHTHwGCEJ1gWuu68uCBgQEB1wABMYIA2e0hwgDy9KPbPH/gMHAHBwACcAACoACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgFICgsAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtYnJOU0p4a050b0RSNGsyWmhtMUZQRWFvMmNEUktKRXVTWG5YaUFVYnhBb0GCA=","abi":"{\"name\":\"Functions\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Add\",\"header\":831841332,\"fields\":[{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"Sub\",\"header\":2640337643,\"fields\":[{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Add\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Sub\"}}],\"getters\":[],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"55789\":{\"message\":\"Value must be greater than 0\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECDgEAAacAAQHAAQEFoARPAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbWJyTlNKeGtOdG9EUjRrMlpobTFGUEVhbzJjRFJLSkV1U1huWGlBVWJ4QW9BggABGwr7tRNDSAAGAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAKe0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCyPhDAcx/AcoAAQGBAQHPAMntVAwKAtYBkjB/4HAh10nCH5UwINcLH94gghAxlOQ0uo6hMNMfAYIQMZTkNLry4IGBAQHXAAExggDZ7SHCAPL02zx/4IIQnWBa67qOodMfAYIQnWBa67ry4IGBAQHXAAExggDZ7SHCAPL0o9s8f+AwcAsLAAKgAULtRNDUAfhj0gABl4EBAdcAATHgMPgo1wsKgwm68uCJ2zwNAAJwlAwmew=="}},"sources":{"src\\benchmarks\\contracts\\functions.tact":"bWVzc2FnZSBBZGQgew0KICAgIHZhbHVlOiBJbnQ7DQp9DQoNCm1lc3NhZ2UgU3ViIHsNCiAgICB2YWx1ZTogSW50Ow0KfQ0KDQpjb250cmFjdCBGdW5jdGlvbnMgew0KICAgIHZhbHVlOiBJbnQ7DQoNCiAgICBpbml0KCkgew0KICAgICAgICBzZWxmLnZhbHVlID0gMDsNCiAgICB9DQoNCiAgICBmdW4gdXBkYXRlKGRlbHRhOiBJbnQpIHsNCiAgICAgICAgc2VsZi52YWx1ZSA9IHNlbGYudmFsdWUgKyBkZWx0YTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogQWRkKSB7DQogICAgICAgIHJlcXVpcmUobXNnLnZhbHVlID4gMCwgIlZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAiKTsNCiAgICAgICAgc2VsZi51cGRhdGUobXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU3ViKSB7DQogICAgICAgIHJlcXVpcmUobXNnLnZhbHVlID4gMCwgIlZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAiKTsNCiAgICAgICAgc2VsZi51cGRhdGUoLW1zZy52YWx1ZSk7DQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/benchmarks/contracts/functions.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_Functions.stdlib.fc b/src/benchmarks/contracts/output/benchmark_functions_Functions.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_Functions.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_Functions.storage.fc b/src/benchmarks/contracts/output/benchmark_functions_Functions.storage.fc deleted file mode 100644 index c38d52d47..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_Functions.storage.fc +++ /dev/null @@ -1,59 +0,0 @@ -;; -;; Type: Add -;; Header: 0x3194e434 -;; TLB: add#3194e434 value:int257 = Add -;; - -(slice, ((int))) $Add$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 831841332); - var v'value = sc_0~load_int(257); - return (sc_0, (v'value)); -} - -;; -;; Type: Sub -;; Header: 0x9d605aeb -;; TLB: sub#9d605aeb value:int257 = Sub -;; - -(slice, ((int))) $Sub$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2640337643); - var v'value = sc_0~load_int(257); - return (sc_0, (v'value)); -} - -;; -;; Type: Functions -;; - -builder $Functions$_store(builder build_0, (int) v) inline { - var (v'value) = v; - build_0 = build_0.store_int(v'value, 257); - return build_0; -} - -(slice, ((int))) $Functions$_load(slice sc_0) inline { - var v'value = sc_0~load_int(257); - return (sc_0, (v'value)); -} - -(int) $Functions$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$Functions$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $Functions$_contract_init(); - } -} - -() $Functions$_contract_store((int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $Functions$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_Functions.ts b/src/benchmarks/contracts/output/benchmark_functions_Functions.ts deleted file mode 100644 index 97dff76c7..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_Functions.ts +++ /dev/null @@ -1,387 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Add = { - $$type: 'Add'; - value: bigint; -} - -export function storeAdd(src: Add) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(831841332, 32); - b_0.storeInt(src.value, 257); - }; -} - -export function loadAdd(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 831841332) { throw Error('Invalid prefix'); } - let _value = sc_0.loadIntBig(257); - return { $$type: 'Add' as const, value: _value }; -} - -function loadTupleAdd(source: TupleReader) { - let _value = source.readBigNumber(); - return { $$type: 'Add' as const, value: _value }; -} - -function storeTupleAdd(source: Add) { - let builder = new TupleBuilder(); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserAdd(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeAdd(src)).endCell()); - }, - parse: (src) => { - return loadAdd(src.loadRef().beginParse()); - } - } -} - -export type Sub = { - $$type: 'Sub'; - value: bigint; -} - -export function storeSub(src: Sub) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2640337643, 32); - b_0.storeInt(src.value, 257); - }; -} - -export function loadSub(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2640337643) { throw Error('Invalid prefix'); } - let _value = sc_0.loadIntBig(257); - return { $$type: 'Sub' as const, value: _value }; -} - -function loadTupleSub(source: TupleReader) { - let _value = source.readBigNumber(); - return { $$type: 'Sub' as const, value: _value }; -} - -function storeTupleSub(source: Sub) { - let builder = new TupleBuilder(); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSub(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSub(src)).endCell()); - }, - parse: (src) => { - return loadSub(src.loadRef().beginParse()); - } - } -} - - type Functions_init_args = { - $$type: 'Functions_init_args'; -} - -function initFunctions_init_args(src: Functions_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function Functions_init() { - const __code = Cell.fromBase64('te6ccgECDAEAAZ0AART/APSkE/S88sgLAQIBYgIDAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UBAUCAVgICQFC7UTQ1AH4Y9IAAZeBAQHXAAEx4DD4KNcLCoMJuvLgids8BgLWAZIwf+BwIddJwh+VMCDXCx/eIIIQMZTkNLqOoTDTHwGCEDGU5DS68uCBgQEB1wABMYIA2e0hwgDy9Ns8f+CCEJ1gWuu6jqHTHwGCEJ1gWuu68uCBgQEB1wABMYIA2e0hwgDy9KPbPH/gMHAHBwACcAACoACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgFICgsAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtYnJOU0p4a050b0RSNGsyWmhtMUZQRWFvMmNEUktKRXVTWG5YaUFVYnhBb0GCA='); - const __system = Cell.fromBase64('te6cckECDgEAAacAAQHAAQEFoARPAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbWJyTlNKeGtOdG9EUjRrMlpobTFGUEVhbzJjRFJLSkV1U1huWGlBVWJ4QW9BggABGwr7tRNDSAAGAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAKe0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCyPhDAcx/AcoAAQGBAQHPAMntVAwKAtYBkjB/4HAh10nCH5UwINcLH94gghAxlOQ0uo6hMNMfAYIQMZTkNLry4IGBAQHXAAExggDZ7SHCAPL02zx/4IIQnWBa67qOodMfAYIQnWBa67ry4IGBAQHXAAExggDZ7SHCAPL0o9s8f+AwcAsLAAKgAULtRNDUAfhj0gABl4EBAdcAATHgMPgo1wsKgwm68uCJ2zwNAAJwlAwmew=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initFunctions_init_args({ $$type: 'Functions_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Functions_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 55789: { message: `Value must be greater than 0` }, -} - -const Functions_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Add","header":831841332,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"Sub","header":2640337643,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const Functions_getters: ABIGetter[] = [ -] - -const Functions_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"Add"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Sub"}}, -] - -export class Functions implements Contract { - - static async init() { - return await Functions_init(); - } - - static async fromInit() { - const init = await Functions_init(); - const address = contractAddress(0, init); - return new Functions(address, init); - } - - static fromAddress(address: Address) { - return new Functions(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Functions_types, - getters: Functions_getters, - receivers: Functions_receivers, - errors: Functions_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: Add | Sub) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Add') { - body = beginCell().store(storeAdd(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Sub') { - body = beginCell().store(storeSub(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - -} \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.abi b/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.abi deleted file mode 100644 index 600156dd8..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Functions","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Add","header":831841332,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"Sub","header":2640337643,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"Add"}},{"receiver":"internal","message":{"kind":"typed","type":"Sub"}}],"getters":[],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"55789":{"message":"Value must be greater than 0"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.boc b/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.boc deleted file mode 100644 index 8bcba4213..000000000 Binary files a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.boc and /dev/null differ diff --git a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.boc.html b/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.boc.html deleted file mode 100644 index ab6e31a8d..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.boc.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_01b44a965b88ca28;
-            ..DECLPROC ?fun_ref_36266a5855831da9;
-            ..DECLPROC ?fun_ref_644ef5250652bdfa;
-            x1..recv_internal PROC:<{
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            26x1....4 LDU
-            18x1....s0 s1 XCHG
-            18x1....1 PUSHINT
-            18x1....AND
-            18x1....-1 MULCONST
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            34x1....s0 s6 s4 PUXCPU
-            18x1....s0 s3 XCHG
-            30x1....4 TUPLE
-            28x1....1 SETGLOBVAR
-            18x1....s0 s2 XCHG
-            29x1....2 SETGLOBVAR
-            126x1....?fun_ref_36266a5855831da9 INLINECALLDICT
-            18x1....ROTREV
-            126x1....?fun_ref_01b44a965b88ca28 INLINECALLDICT
-            34x1....130 THROWIFNOT
-            18x1....NEWC
-            26x1....3 GETGLOBVAR
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....-1 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            18x1....s0 s1 XCHG
-            18x1....s0 s1 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            518x1....ENDC
-            26x1....c4 POP
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D62724E534A786B4E746F4452346B325A686D31465045616F326344524B4A457553586E586941556278416F4182_} PUSHSLICE
-            ..}>
-            x1..?fun_ref_01b44a965b88ca28 PROCREF:<{
-            18x1....s0 s1 XCHG
-            18x1....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x1....}> PUSHCONT
-            18x1....IFJMP
-            18x1....0 PUSHINT
-            18x1....s1 PUSH
-            26x1....SBITS
-            26x1....31 GTINT
-            18x1....<{
-            18x1......s0 POP
-            18x1......s0 PUSH
-            34x1......32 PLDU
-            18x1....}> PUSHCONT
-            18x1....IF
-            18x1....s0 PUSH
-            23x1....831841332 PUSHINT
-            18x1....EQUAL
-            26x1....<{
-            18x1......s0 POP
-            26x1......32 LDU
-            18x1......s0 s1 XCHG
-            23x1......831841332 PUSHINT
-            18x1......EQUAL
-            34x1......129 THROWIFNOT
-            34x1......257 PUSHINT
-            26x1......LDIX
-            18x1......s0 s1 XCHG
-            18x1......s1 POP
-            23x1......55789 PUSHINT
-            18x1......s1 PUSH
-            26x1......0 GTINT
-            26x1......THROWANYIFNOT
-            18x1......ADD
-            18x1......-1 PUSHINT
-            26x1....}> PUSHCONT
-            18x1....IFJMP
-            ....2640337643 PUSHINT
-            ....EQUAL
-            ....<{
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2640337643 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......55789 PUSHINT
-            ......s1 PUSH
-            ......0 GTINT
-            ......THROWANYIFNOT
-            ......-1 MULCONST
-            ......ADD
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            x1..}>
-            x6..?fun_ref_36266a5855831da9 PROCREF:<{
-            26x6....c4 PUSH
-            118x6....CTOS
-            18x6....LDREF
-            18x6....s0 s1 XCHG
-            30x6....3 SETGLOBVAR
-            26x6....1 LDI
-            18x6....s0 s1 XCHG
-            18x6....<{
-            34x3......257 PUSHINT
-            26x3......LDIX
-            18x3......s0 s1 XCHG
-            18x3......s1 POP
-            18x6....}> PUSHCONT
-            18x6....IFJMP
-            18x3....s0 POP
-            26x3....MYADDR
-            34x3....11 PLDU
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....137 THROWIFNOT
-            126x3....?fun_ref_644ef5250652bdfa INLINECALLDICT
-            x6..}>
-            x3..?fun_ref_644ef5250652bdfa PROCREF:<{
-            18x3....0 PUSHINT
-            x3..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.fc b/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.fc deleted file mode 100644 index 7c2f6e949..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.fc +++ /dev/null @@ -1,121 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "benchmark_functions_inline_Functions.headers.fc"; -#include "benchmark_functions_inline_Functions.stdlib.fc"; -#include "benchmark_functions_inline_Functions.storage.fc"; - -;; -;; Contract Functions functions -;; - -(int) $Functions$_contract_init() impure inline_ref { - var (($self'value)) = (null()); - $self'value = 0; - return ($self'value); -} - -((int), ()) $Functions$_fun_update((int) $self, int $delta) impure inline { - var (($self'value)) = $self; - $self'value = ($self'value + $delta); - return (($self'value), ()); -} - -;; -;; Receivers of a Contract Functions -;; - -(((int)), ()) $Functions$_internal_binary_Add((int) $self, (int) $msg) impure inline { - var ($self'value) = $self; - var ($msg'value) = $msg; - throw_unless(55789, ($msg'value > 0)); - ($self'value)~$Functions$_fun_update($msg'value); - return (($self'value), ()); -} - -(((int)), ()) $Functions$_internal_binary_Sub((int) $self, (int) $msg) impure inline { - var ($self'value) = $self; - var ($msg'value) = $msg; - throw_unless(55789, ($msg'value > 0)); - ($self'value)~$Functions$_fun_update((- $msg'value)); - return (($self'value), ()); -} - -;; -;; Get methods of a Contract Functions -;; - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmbrNSJxkNtoDR4k2Zhm1FPEao2cDRKJEuSXnXiAUbxAoA"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Functions -;; - -((int), int) $Functions$_contract_router_internal((int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Add message - if (op == 831841332) { - var msg = in_msg~$Add$_load(); - self~$Functions$_internal_binary_Add(msg); - return (self, true); - } - - ;; Receive Sub message - if (op == 2640337643) { - var msg = in_msg~$Sub$_load(); - self~$Functions$_internal_binary_Sub(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Functions$_contract_load(); - - ;; Handle operation - int handled = self~$Functions$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Functions$_contract_store(self); -} diff --git a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.fif b/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.fif deleted file mode 100644 index ce7f0abfd..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.fif +++ /dev/null @@ -1,197 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Add$_load - DECLPROC $Sub$_load - DECLPROC $Functions$_store - DECLPROC $Functions$_load - DECLPROC $Functions$_contract_init - DECLPROC $Functions$_contract_load - DECLPROC $Functions$_contract_store - DECLPROC $Functions$_fun_update - DECLPROC $Functions$_internal_binary_Add - DECLPROC $Functions$_internal_binary_Sub - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Functions$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $Add$_load PROCINLINE:<{ - 32 LDU - SWAP - 831841332 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - SWAP - }> - $Sub$_load PROCINLINE:<{ - 32 LDU - SWAP - 2640337643 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - SWAP - }> - $Functions$_store PROCINLINE:<{ - SWAP - 257 PUSHINT - STIX - }> - $Functions$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - SWAP - }> - $Functions$_contract_init PROCREF:<{ - 0 PUSHINT - }> - $Functions$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Functions$_load INLINECALLDICT - NIP - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Functions$_contract_init INLINECALLDICT - }> - $Functions$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - SWAP - $Functions$_store INLINECALLDICT - ENDC - c4 POP - }> - $Functions$_fun_update PROCINLINE:<{ - ADD - }> - $Functions$_internal_binary_Add PROCINLINE:<{ - 55789 PUSHINT - OVER - 0 GTINT - THROWANYIFNOT - $Functions$_fun_update INLINECALLDICT - }> - $Functions$_internal_binary_Sub PROCINLINE:<{ - 55789 PUSHINT - OVER - 0 GTINT - THROWANYIFNOT - NEGATE - $Functions$_fun_update INLINECALLDICT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d62724e534a786b4e746f4452346b325a686d31465045616f326344524b4a457553586e586941556278416f41} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Functions$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 831841332 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Add$_load INLINECALLDICT - NIP - $Functions$_internal_binary_Add INLINECALLDICT - TRUE - }> - 2640337643 PUSHINT - EQUAL - IFJMP:<{ - $Sub$_load INLINECALLDICT - NIP - $Functions$_internal_binary_Sub INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Functions$_contract_load INLINECALLDICT - -ROT - $Functions$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Functions$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.rev.fif b/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.rev.fif deleted file mode 100644 index 538322a8c..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.code.rev.fif +++ /dev/null @@ -1,162 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_01b44a965b88ca28; - DECLPROC ?fun_ref_36266a5855831da9; - DECLPROC ?fun_ref_644ef5250652bdfa; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_36266a5855831da9 INLINECALLDICT - ROTREV - ?fun_ref_01b44a965b88ca28 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 s1 XCHG - 257 PUSHINT - STIX - ENDC - c4 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D62724E534A786B4E746F4452346B325A686D31465045616F326344524B4A457553586E586941556278416F4182_} PUSHSLICE - }> - ?fun_ref_01b44a965b88ca28 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 831841332 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 831841332 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - 55789 PUSHINT - s1 PUSH - 0 GTINT - THROWANYIFNOT - ADD - -1 PUSHINT - }> PUSHCONT - IFJMP - 2640337643 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 2640337643 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - 55789 PUSHINT - s1 PUSH - 0 GTINT - THROWANYIFNOT - -1 MULCONST - ADD - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> - ?fun_ref_36266a5855831da9 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - }> PUSHCONT - IFJMP - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_644ef5250652bdfa INLINECALLDICT - }> - ?fun_ref_644ef5250652bdfa PROCREF:<{ - 0 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.headers.fc b/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.headers.fc deleted file mode 100644 index 73ab7e9ad..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.headers.fc +++ /dev/null @@ -1,31 +0,0 @@ -;; -;; Header files for Functions -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Add$_load -(slice, ((int))) $Add$_load(slice sc_0) inline; - -;; $Sub$_load -(slice, ((int))) $Sub$_load(slice sc_0) inline; - -;; $Functions$_store -builder $Functions$_store(builder build_0, (int) v) inline; - -;; $Functions$_load -(slice, ((int))) $Functions$_load(slice sc_0) inline; - -;; $Functions$_contract_init -(int) $Functions$_contract_init() impure inline_ref; - -;; $Functions$_contract_load -(int) $Functions$_contract_load() impure inline_ref; - -;; $Functions$_contract_store -() $Functions$_contract_store((int) v) impure inline; - -;; $Functions$_fun_update -((int), ()) $Functions$_fun_update((int) $self, int $delta) impure inline; diff --git a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.md b/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.md deleted file mode 100644 index 469d847d2..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.md +++ /dev/null @@ -1,56 +0,0 @@ -# TACT Compilation Report -Contract: Functions -BOC Size: 418 bytes - -# Types -Total Types: 5 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Add -TLB: `add#3194e434 value:int257 = Add` -Signature: `Add{value:int257}` - -## Sub -TLB: `sub#9d605aeb value:int257 = Sub` -Signature: `Sub{value:int257}` - -# Get Methods -Total Get Methods: 0 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -55789: Value must be greater than 0 \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.pkg b/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.pkg deleted file mode 100644 index 765069438..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Functions","code":"te6ccgECCwEAAZYAART/APSkE/S88sgLAQIBYgIDAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UBAUCAVgHCAFC7UTQ1AH4Y9IAAZeBAQHXAAEx4DD4KNcLCoMJuvLgids8BgDSAZIwf+BwIddJwh+VMCDXCx/eIIIQMZTkNLqOIDDTHwGCEDGU5DS68uCBgQEB1wABMYIA2e0hwgDy9KB/4IIQnWBa67qOINMfAYIQnWBa67ry4IGBAQHXAAExggDZ7SHCAPL0o6B/4DBwAAJwAJW7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgCAUgJCgARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1ick5TSnhrTnRvRFI0azJaaG0xRlBFYW8yY0RSS0pFdVNYblhpQVVieEFvQYIA==","abi":"{\"name\":\"Functions\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Add\",\"header\":831841332,\"fields\":[{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"Sub\",\"header\":2640337643,\"fields\":[{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Add\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Sub\"}}],\"getters\":[],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"55789\":{\"message\":\"Value must be greater than 0\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECDQEAAaAAAQHAAQEFoARPAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbWJyTlNKeGtOdG9EUjRrMlpobTFGUEVhbzJjRFJLSkV1U1huWGlBVWJ4QW9BggABGwr7tRNDSAAGAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAKe0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCyPhDAcx/AcoAAQGBAQHPAMntVAsKANIBkjB/4HAh10nCH5UwINcLH94gghAxlOQ0uo4gMNMfAYIQMZTkNLry4IGBAQHXAAExggDZ7SHCAPL0oH/gghCdYFrruo4g0x8BghCdYFrruvLggYEBAdcAATGCANntIcIA8vSjoH/gMHABQu1E0NQB+GPSAAGXgQEB1wABMeAw+CjXCwqDCbry4InbPAwAAnCQImr2"}},"sources":{"src\\benchmarks\\contracts\\functions.tact":"bWVzc2FnZSBBZGQgew0KICAgIHZhbHVlOiBJbnQ7DQp9DQoNCm1lc3NhZ2UgU3ViIHsNCiAgICB2YWx1ZTogSW50Ow0KfQ0KDQpjb250cmFjdCBGdW5jdGlvbnMgew0KICAgIHZhbHVlOiBJbnQ7DQoNCiAgICBpbml0KCkgew0KICAgICAgICBzZWxmLnZhbHVlID0gMDsNCiAgICB9DQoNCiAgICBmdW4gdXBkYXRlKGRlbHRhOiBJbnQpIHsNCiAgICAgICAgc2VsZi52YWx1ZSA9IHNlbGYudmFsdWUgKyBkZWx0YTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogQWRkKSB7DQogICAgICAgIHJlcXVpcmUobXNnLnZhbHVlID4gMCwgIlZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAiKTsNCiAgICAgICAgc2VsZi51cGRhdGUobXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU3ViKSB7DQogICAgICAgIHJlcXVpcmUobXNnLnZhbHVlID4gMCwgIlZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAiKTsNCiAgICAgICAgc2VsZi51cGRhdGUoLW1zZy52YWx1ZSk7DQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/benchmarks/contracts/functions.tact\",\"options\":{\"experimental\":{\"inline\":true}}}"}} \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.stdlib.fc b/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.storage.fc b/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.storage.fc deleted file mode 100644 index c38d52d47..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.storage.fc +++ /dev/null @@ -1,59 +0,0 @@ -;; -;; Type: Add -;; Header: 0x3194e434 -;; TLB: add#3194e434 value:int257 = Add -;; - -(slice, ((int))) $Add$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 831841332); - var v'value = sc_0~load_int(257); - return (sc_0, (v'value)); -} - -;; -;; Type: Sub -;; Header: 0x9d605aeb -;; TLB: sub#9d605aeb value:int257 = Sub -;; - -(slice, ((int))) $Sub$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2640337643); - var v'value = sc_0~load_int(257); - return (sc_0, (v'value)); -} - -;; -;; Type: Functions -;; - -builder $Functions$_store(builder build_0, (int) v) inline { - var (v'value) = v; - build_0 = build_0.store_int(v'value, 257); - return build_0; -} - -(slice, ((int))) $Functions$_load(slice sc_0) inline { - var v'value = sc_0~load_int(257); - return (sc_0, (v'value)); -} - -(int) $Functions$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$Functions$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $Functions$_contract_init(); - } -} - -() $Functions$_contract_store((int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $Functions$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.ts b/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.ts deleted file mode 100644 index 18dde6735..000000000 --- a/src/benchmarks/contracts/output/benchmark_functions_inline_Functions.ts +++ /dev/null @@ -1,387 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Add = { - $$type: 'Add'; - value: bigint; -} - -export function storeAdd(src: Add) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(831841332, 32); - b_0.storeInt(src.value, 257); - }; -} - -export function loadAdd(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 831841332) { throw Error('Invalid prefix'); } - let _value = sc_0.loadIntBig(257); - return { $$type: 'Add' as const, value: _value }; -} - -function loadTupleAdd(source: TupleReader) { - let _value = source.readBigNumber(); - return { $$type: 'Add' as const, value: _value }; -} - -function storeTupleAdd(source: Add) { - let builder = new TupleBuilder(); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserAdd(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeAdd(src)).endCell()); - }, - parse: (src) => { - return loadAdd(src.loadRef().beginParse()); - } - } -} - -export type Sub = { - $$type: 'Sub'; - value: bigint; -} - -export function storeSub(src: Sub) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2640337643, 32); - b_0.storeInt(src.value, 257); - }; -} - -export function loadSub(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2640337643) { throw Error('Invalid prefix'); } - let _value = sc_0.loadIntBig(257); - return { $$type: 'Sub' as const, value: _value }; -} - -function loadTupleSub(source: TupleReader) { - let _value = source.readBigNumber(); - return { $$type: 'Sub' as const, value: _value }; -} - -function storeTupleSub(source: Sub) { - let builder = new TupleBuilder(); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSub(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSub(src)).endCell()); - }, - parse: (src) => { - return loadSub(src.loadRef().beginParse()); - } - } -} - - type Functions_init_args = { - $$type: 'Functions_init_args'; -} - -function initFunctions_init_args(src: Functions_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function Functions_init() { - const __code = Cell.fromBase64('te6ccgECCwEAAZYAART/APSkE/S88sgLAQIBYgIDAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UBAUCAVgHCAFC7UTQ1AH4Y9IAAZeBAQHXAAEx4DD4KNcLCoMJuvLgids8BgDSAZIwf+BwIddJwh+VMCDXCx/eIIIQMZTkNLqOIDDTHwGCEDGU5DS68uCBgQEB1wABMYIA2e0hwgDy9KB/4IIQnWBa67qOINMfAYIQnWBa67ry4IGBAQHXAAExggDZ7SHCAPL0o6B/4DBwAAJwAJW7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgCAUgJCgARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1ick5TSnhrTnRvRFI0azJaaG0xRlBFYW8yY0RSS0pFdVNYblhpQVVieEFvQYIA=='); - const __system = Cell.fromBase64('te6cckECDQEAAaAAAQHAAQEFoARPAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbWJyTlNKeGtOdG9EUjRrMlpobTFGUEVhbzJjRFJLSkV1U1huWGlBVWJ4QW9BggABGwr7tRNDSAAGAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAKe0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCyPhDAcx/AcoAAQGBAQHPAMntVAsKANIBkjB/4HAh10nCH5UwINcLH94gghAxlOQ0uo4gMNMfAYIQMZTkNLry4IGBAQHXAAExggDZ7SHCAPL0oH/gghCdYFrruo4g0x8BghCdYFrruvLggYEBAdcAATGCANntIcIA8vSjoH/gMHABQu1E0NQB+GPSAAGXgQEB1wABMeAw+CjXCwqDCbry4InbPAwAAnCQImr2'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initFunctions_init_args({ $$type: 'Functions_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Functions_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 55789: { message: `Value must be greater than 0` }, -} - -const Functions_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Add","header":831841332,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"Sub","header":2640337643,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const Functions_getters: ABIGetter[] = [ -] - -const Functions_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"Add"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Sub"}}, -] - -export class Functions implements Contract { - - static async init() { - return await Functions_init(); - } - - static async fromInit() { - const init = await Functions_init(); - const address = contractAddress(0, init); - return new Functions(address, init); - } - - static fromAddress(address: Address) { - return new Functions(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Functions_types, - getters: Functions_getters, - receivers: Functions_receivers, - errors: Functions_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: Add | Sub) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Add') { - body = beginCell().store(storeAdd(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Sub') { - body = beginCell().store(storeSub(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - -} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_JettonDefaultWallet.abi b/src/test/bugs/output/bugs_JettonDefaultWallet.abi deleted file mode 100644 index ba83fcaa6..000000000 --- a/src/test/bugs/output/bugs_JettonDefaultWallet.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"JettonDefaultWallet","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TokenInfo","header":null,"fields":[{"name":"ticker","type":{"kind":"simple","type":"string","optional":false}},{"name":"decimals","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"Replace","header":1384510466,"fields":[{"name":"items","type":{"kind":"dict","key":"int","value":"address"}}]},{"name":"Mint","header":4235234258,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"receiver","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"JettonData","header":null,"fields":[{"name":"totalSupply","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mintable","type":{"kind":"simple","type":"bool","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"TokenTransfer","header":260734629,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"custom_payload","type":{"kind":"simple","type":"cell","optional":true}},{"name":"forward_ton_amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenTransferInternal","header":395134233,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"forward_ton_amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenNotification","header":1935855772,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenBurn","header":1499400124,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"TokenBurnNotification","header":2078119902,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenExcesses","header":3576854235,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"TokenUpdateContent","header":2937889386,"fields":[{"name":"content","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"JettonWalletData","header":null,"fields":[{"name":"balance","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"TokenTransfer"}},{"receiver":"internal","message":{"kind":"typed","type":"TokenTransferInternal"}},{"receiver":"internal","message":{"kind":"typed","type":"TokenBurn"}}],"getters":[{"name":"msgValue","arguments":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"get_wallet_data","arguments":[],"returnType":{"kind":"simple","type":"JettonWalletData","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"3734":{"message":"Not Owner"},"4159":{"message":"Invalid value!!"},"4429":{"message":"Invalid sender"},"6898":{"message":"The total supply will be overlapping."},"13650":{"message":"Invalid bounced message"},"18668":{"message":"Can't Mint Anymore"},"42708":{"message":"Invalid sender!"},"43422":{"message":"Invalid value - Burn"},"62972":{"message":"Invalid balance"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0","org.ton.jetton.wallet"]} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_JettonDefaultWallet.code.boc b/src/test/bugs/output/bugs_JettonDefaultWallet.code.boc deleted file mode 100644 index e11b603ce..000000000 Binary files a/src/test/bugs/output/bugs_JettonDefaultWallet.code.boc and /dev/null differ diff --git a/src/test/bugs/output/bugs_JettonDefaultWallet.code.boc.html b/src/test/bugs/output/bugs_JettonDefaultWallet.code.boc.html deleted file mode 100644 index 222ddd1b1..000000000 --- a/src/test/bugs/output/bugs_JettonDefaultWallet.code.boc.html +++ /dev/null @@ -1,1231 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC get_wallet_data;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC ?fun_115218;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_12d78a24672a0d96;
-            ..DECLPROC ?fun_ref_171235c853357b3e;
-            ..DECLPROC ?fun_ref_2409c879affe1754;
-            ..DECLPROC ?fun_ref_2accad73d60fa883;
-            ..DECLPROC ?fun_ref_5007013235aab4c2;
-            ..DECLPROC ?fun_ref_688678bd121165d5;
-            ..DECLPROC ?fun_ref_88367730aedcfc26;
-            ..DECLPROC ?fun_ref_8fb9e3dc236e3d94;
-            ..DECLPROC ?fun_ref_b8d6a373d037f795;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_c08232f4fb018bf8;
-            ..DECLPROC ?fun_ref_d21437797e815e3e;
-            ..DECLPROC ?fun_ref_d4f64b286db40800;
-            ..DECLPROC ?fun_ref_e909b9b42570c1ee;
-            ..DECLPROC ?fun_ref_f691f67aa2f847fe;
-            x1..recv_internal PROC:<{
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            26x1....4 LDU
-            18x1....s0 s1 XCHG
-            18x1....1 PUSHINT
-            18x1....AND
-            18x1....-1 MULCONST
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            34x1....s0 s6 s4 PUXCPU
-            18x1....s0 s3 XCHG
-            30x1....4 TUPLE
-            28x1....1 SETGLOBVAR
-            18x1....s0 s2 XCHG
-            29x1....2 SETGLOBVAR
-            126x1....?fun_ref_2accad73d60fa883 INLINECALLDICT
-            26x1....2 3 BLKSWAP
-            126x1....?fun_ref_12d78a24672a0d96 INLINECALLDICT
-            34x1....130 THROWIFNOT
-            18x1....NEWC
-            26x1....3 GETGLOBVAR
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....-1 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            26x1....3 1 BLKSWAP
-            26x1....s2 s3 XCHG2
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            518x1....ENDC
-            26x1....c4 POP
-            x1..}>
-            ..get_wallet_data PROC:<{
-            ....?fun_ref_2accad73d60fa883 INLINECALLDICT
-            ....?fun_ref_c08232f4fb018bf8 INLINECALLDICT
-            ....3 4 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ....209778528950190195973528115415557644819 PUSHINT
-            ..}>
-            ..?fun_115218 PROC:<{
-            ....?fun_ref_2accad73d60fa883 INLINECALLDICT
-            ....1 3 BLKSWAP
-            ....?fun_ref_688678bd121165d5 INLINECALLDICT
-            ....3 1 BLKDROP2
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D66507573596A4E56444B4655486D6B71315258317A3666574D516F4434796D317554717031755833706F796E82_} PUSHSLICE
-            ..}>
-            x1..?fun_ref_12d78a24672a0d96 PROCREF:<{
-            18x1....s0 s1 XCHG
-            26x1....<{
-            ......32 PUSHINT
-            ......SDSKIPFIRST
-            ......32 LDU
-            ......64 LDU
-            ......s1 POP
-            ......LDGRAMS
-            ......s0 POP
-            ......13650 PUSHINT
-            ......s2 PUSH
-            ......395134233 PUSHINT
-            ......EQUAL
-            ......<{
-            ........s2 POP
-            ........-1 PUSHINT
-            ......}> PUSHCONT
-            ......<{
-            ........s0 s2 XCHG
-            ........2078119902 PUSHINT
-            ........EQUAL
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s1 s2 XCHG
-            ......THROWANYIFNOT
-            ......s1 s3 XCHG
-            ......ADD
-            ......s0 s2 XCHG
-            ......-1 PUSHINT
-            26x1....}> PUSHCONT
-            18x1....IFJMP
-            18x1....0 PUSHINT
-            18x1....s1 PUSH
-            26x1....SBITS
-            26x1....31 GTINT
-            18x1....<{
-            18x1......s0 POP
-            18x1......s0 PUSH
-            34x1......32 PLDU
-            18x1....}> PUSHCONT
-            18x1....IF
-            18x1....s0 PUSH
-            23x1....260734629 PUSHINT
-            18x1....EQUAL
-            26x1....<{
-            ......s0 POP
-            ......?fun_ref_171235c853357b3e INLINECALLDICT
-            ......1 7 BLKDROP2
-            ......?fun_ref_d4f64b286db40800 INLINECALLDICT
-            ......-1 PUSHINT
-            26x1....}> PUSHCONT
-            18x1....IFJMP
-            18x1....s0 PUSH
-            23x1....395134233 PUSHINT
-            18x1....EQUAL
-            126x1....<{
-            18x1......s0 POP
-            126x1......?fun_ref_e909b9b42570c1ee INLINECALLDICT
-            26x1......1 6 BLKDROP2
-            126x1......?fun_ref_8fb9e3dc236e3d94 INLINECALLDICT
-            18x1......-1 PUSHINT
-            126x1....}> IFJMPREF
-            ....1499400124 PUSHINT
-            ....EQUAL
-            ....<{
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1499400124 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......64 LDU
-            ......LDGRAMS
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s1 s4 XCHG
-            ......s3 s3 s0 XCHG3
-            ......1 4 BLKDROP2
-            ......?fun_ref_88367730aedcfc26 INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            x1..}>
-            ..?fun_ref_171235c853357b3e PROCREF:<{
-            ....32 LDU
-            ....s0 s1 XCHG
-            ....260734629 PUSHINT
-            ....EQUAL
-            ....129 THROWIFNOT
-            ....64 LDU
-            ....LDGRAMS
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s1 XCHG
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDREF
-            ....}> PUSHCONT
-            ....<{
-            ......NULL
-            ......s0 s1 XCHG
-            ....}> PUSHCONT
-            ....IFELSE
-            ....LDGRAMS
-            ....s6 s6 XCPU
-            ....s1 s6 XCHG
-            ....s1 s5 XCHG
-            ....s1 s4 XCHG
-            ....s3 s3 s0 XCHG3
-            ..}>
-            x5..?fun_ref_2409c879affe1754 PROCREF:<{
-            18x5....NEWC
-            18x5....s1 PUSH
-            26x5....0 LESSINT
-            18x5....<{
-            26x1......45 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......8 STU
-            18x1......s0 s1 XCHG
-            18x1......-1 MULCONST
-            18x1......s0 s1 XCHG
-            18x5....}> PUSHCONT
-            18x5....IF
-            18x5....s1 PUSH
-            23x5....931322574615478515625 PUSHINT
-            26x5....30 LSHIFT
-            18x5....LESS
-            26x5....<{
-            18x4......0 PUSHINT
-            18x4......s0 PUSH
-            18x4......1 PUSHINT
-            26x4......<{
-            18x17........s0 s4 XCHG
-            18x17........10 PUSHINT
-            26x17........false 0 false 3 0 DIV
-            26x17........48 ADD
-            18x17........s5 PUSH
-            18x17........MUL
-            18x17........s1 s2 XCHG
-            18x17........ADD
-            18x17........s0 s4 XCHG
-            26x17........8 LSHIFT
-            18x17........s0 s2 XCHG
-            18x17........INC
-            18x17........s1 PUSH
-            26x17........0 EQINT
-            26x17........s5 s3 s0 XCHG3
-            26x4......}> PUSHCONT
-            18x4......UNTIL
-            18x4......s0 POP
-            18x4......s3 POP
-            26x4......3 LSHIFT
-            26x4......STUX
-            26x5....}> PUSHCONT
-            26x5....<{
-            26x1......0 TUPLE
-            18x1......0 PUSHINT
-            26x1......<{
-            18x61........s3 PUSH
-            18x61........10 PUSHINT
-            26x61........false 0 false 2 0 DIV
-            18x61........s1 s2 XCHG
-            87x61........TPUSH
-            18x61........s0 s1 XCHG
-            18x61........INC
-            18x61........s0 s3 XCHG
-            18x61........10 PUSHINT
-            26x61........false 0 false 1 0 DIV
-            18x61........s0 PUSH
-            26x61........0 EQINT
-            18x61........s1 s4 XCHG
-            26x1......}> PUSHCONT
-            18x1......UNTIL
-            18x1......s3 POP
-            18x1......s2 PUSH
-            18x1......-1 ADD
-            18x1......s0 s3 XCHG
-            18x1......<{
-            26x61........s0 s2 PUSH2
-            26x61........INDEXVAR
-            26x61........48 ADD
-            18x61........ROT
-            26x61........8 STU
-            18x61........s0 s2 XCHG
-            18x61........-1 ADD
-            18x61........ROTREV
-            18x1......}> PUSHCONT
-            18x1......REPEAT
-            18x1......s0 POP
-            18x1......s1 POP
-            26x5....}> PUSHCONT
-            18x5....IFELSE
-            518x5....ENDC
-            118x5....CTOS
-            x5..}>
-            x1..?fun_ref_2accad73d60fa883 PROCREF:<{
-            26x1....c4 PUSH
-            118x1....CTOS
-            18x1....LDREF
-            18x1....s0 s1 XCHG
-            30x1....3 SETGLOBVAR
-            26x1....1 LDI
-            18x1....s0 s1 XCHG
-            26x1....<{
-            ......257 PUSHINT
-            ......LDIX
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s3 s3 s0 XCHG3
-            ......1 3 BLKDROP2
-            26x1....}> PUSHCONT
-            18x1....IFJMP
-            26x1....MYADDR
-            34x1....11 PLDU
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....137 THROWIFNOT
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s1 s2 XCHG
-            18x1....s0 s2 XCHG
-            18x1....ENDS
-            18x1....s0 s1 XCHG
-            126x1....?fun_ref_5007013235aab4c2 INLINECALLDICT
-            x1..}>
-            x1..?fun_ref_5007013235aab4c2 PROCREF:<{
-            18x1....0 PUSHINT
-            18x1....s0 s2 XCHG
-            x1..}>
-            x1..?fun_ref_688678bd121165d5 PROCREF:<{
-            26x1....BALANCE
-            26x1....0 INDEX
-            18x1....s1 PUSH
-            18x1....SUB
-            23x1....10000000 PUSHINT
-            18x1....TUCK
-            26x1....MIN
-            18x1....SUB
-            23x1....10000000 PUSHINT
-            18x1....ADD
-            18x1....SUB
-            x1..}>
-            ..?fun_ref_88367730aedcfc26 PROCREF:<{
-            ....DROP2
-            ....1 GETGLOBVAR
-            ....4 UNTUPLE
-            ....4429 PUSHINT
-            ....s8 s3 PUSH2
-            ....SDEQ
-            ....THROWANYIFNOT
-            ....s8 s4 XCPU
-            ....SUB
-            ....62972 PUSHINT
-            ....s1 PUSH
-            ....-1 GTINT
-            ....THROWANYIFNOT
-            ....s3 s3 s0 XCHG3
-            ....s3 s10 PUXC
-            ....?fun_ref_f691f67aa2f847fe INLINECALLDICT
-            ....43422 PUSHINT
-            ....s0 s1 XCHG
-            ....20000000 PUSHINT
-            ....ADD
-            ....10000000 PUSHINT
-            ....ADD
-            ....s1 s2 XCHG
-            ....GREATER
-            ....THROWANYIFNOT
-            ....0 PUSHINT
-            ....64 PUSHINT
-            ....s0 s3 XCHG
-            ....-1 PUSHINT
-            ....s3 s6 s6 XCPU2
-            ....NEWC
-            ....4 1 BLKSWAP
-            ....2078119902 PUSHINT
-            ....s0 s5 XCHG2
-            ....32 STU
-            ....s1 s3 XCHG
-            ....64 STU
-            ....s0 s1 XCHG
-            ....STGRAMS
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....STSLICER
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......0 PUSHINT
-            ......s0 s1 XCHG
-            ......2 STU
-            ....}> PUSHCONT
-            ....<{
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......STSLICER
-            ....}> PUSHCONT
-            ....IFELSE
-            ....ENDC
-            ....s4 PUSH
-            ....s4 s1 s4 XCHG3
-            ....s3 s3 XCHG2
-            ....s1 s4 XCHG
-            ....s3 s3 s0 XCHG3
-            ....NULL
-            ....NULL
-            ....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ..}>
-            x1..?fun_ref_8fb9e3dc236e3d94 PROCREF:<{
-            26x1....1 GETGLOBVAR
-            30x1....4 UNTUPLE
-            26x1....s10 s2 PUSH2
-            26x1....SDEQ
-            18x1....NOT
-            26x1....<{
-            ......3 GETGLOBVAR
-            ......s11 s8 PUSH2
-            ......?fun_ref_b8d6a373d037f795 INLINECALLDICT
-            ......s0 s1 XCHG
-            ......42708 PUSHINT
-            ......s0 s2 XCHG
-            ......0 PUSHINT
-            ......ROTREV
-            ......NEWC
-            ......0 PUSHINT
-            ......s0 s1 XCHG
-            ......2 STU
-            ......3 PUSHINT
-            ......s0 s1 XCHG
-            ......2 STU
-            ......0 PUSHINT
-            ......s0 s1 XCHG
-            ......1 STU
-            ......s1 s2 XCHG
-            ......STREF
-            ......STREF
-            ......ENDC
-            ......HASHCU
-            ......NEWC
-            ......2 PUSHINT
-            ......s0 s1 XCHG
-            ......2 STU
-            ......0 PUSHINT
-            ......s0 s1 XCHG
-            ......1 STU
-            ......s1 s2 XCHG
-            ......8 STI
-            ......256 STU
-            ......ENDC
-            ......CTOS
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s4 s1 PUXC
-            ......SDEQ
-            ......THROWANYIFNOT
-            26x1....}> PUSHCONT
-            18x1....IF
-            26x1....s12 s8 XCPU
-            18x1....ADD
-            23x1....62972 PUSHINT
-            18x1....s1 PUSH
-            26x1....-1 GTINT
-            26x1....THROWANYIFNOT
-            18x1....s5 PUSH
-            26x1....0 GTINT
-            18x1....<{
-            26x1......s2 s8 XCHG
-            18x1......s4 POP
-            18x1......s6 POP
-            18x1......s0 POP
-            18x1....}> PUSHCONT
-            26x1....<{
-            ......0 PUSHINT
-            ......s10 PUSH
-            ......s10 s1 s3 XCHG3
-            ......s9 s6 XCHG2
-            ......NEWC
-            ......4 1 BLKSWAP
-            ......1935855772 PUSHINT
-            ......s0 s5 XCHG2
-            ......32 STU
-            ......s1 s3 XCHG
-            ......64 STU
-            ......s0 s1 XCHG
-            ......STGRAMS
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......STSLICER
-            ......s0 s1 XCHG
-            ......STSLICER
-            ......ENDC
-            ......s10 PUSH
-            ......s5 s4 s1 PUXC2
-            ......s1 s8 XCHG
-            ......s3 s3 s0 XCHG3
-            ......0 PUSHINT
-            ......s0 s1 XCHG
-            ......NULL
-            ......NULL
-            ......?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ......s1 s4 XCHG
-            ......s1 s5 XCHG
-            26x1....}> IFREFELSE
-            26x1....s1 s8 s7 XCHG3
-            18x1....s4 PUSH
-            126x1....?fun_ref_688678bd121165d5 INLINECALLDICT
-            26x1....s3 s8 XCHG
-            26x1....s6 s5 s10 XCHG3
-            126x1....?fun_ref_f691f67aa2f847fe INLINECALLDICT
-            18x1....s0 PUSH
-            126x1....?fun_ref_2409c879affe1754 INLINECALLDICT
-            26x1....STRDUMP
-            18x1....s0 POP
-            26x1....s7 s6 XCHG2
-            18x1....SUB
-            26x1....s0 s5 XCHG2
-            18x1....SUB
-            18x1....s5 PUSH
-            18x1....ISNULL
-            18x1....NOT
-            26x1....<{
-            18x1......0 PUSHINT
-            18x1......s0 s3 XCHG
-            18x1......NEWC
-            18x1......s0 s1 XCHG
-            23x1......3576854235 PUSHINT
-            18x1......ROT
-            26x1......32 STU
-            26x1......64 STU
-            518x1......ENDC
-            26x1......s3 s6 XCHG
-            26x1......s1 s6 s0 XCHG3
-            18x1......2 PUSHINT
-            26x1......s2 s4 XCHG
-            26x1......s3 s0 s0 XCHG3
-            18x1......NULL
-            18x1......NULL
-            126x1......?fun_ref_b93b9862cda1783c INLINECALLDICT
-            26x1....}> PUSHCONT
-            18x1....<{
-            ......s0 POP
-            ......s4 POP
-            ......s0 POP
-            18x1....}> PUSHCONT
-            18x1....IFELSE
-            18x1....ROTREV
-            x1..}>
-            x1..?fun_ref_b8d6a373d037f795 PROCREF:<{
-            18x1....s0 s2 XCHG
-            118x1....CTOS
-            26x1....LDDICT
-            18x1....s0 POP
-            18x1....NULL
-            18x1....s0 s1 XCHG
-            23x1....55471 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....16 PUSHINT
-            226x1....DICTUGETREF
-            26x1....NULLSWAPIFNOT
-            34x1....135 THROWIFNOT
-            18x1....s0 s1 XCHG
-            23x1....55471 PUSHINT
-            18x1....s2 PUSH
-            18x1....s0 s2 XCHG
-            26x1....16 PUSHINT
-            526x1....DICTUSETREF
-            18x1....NEWC
-            18x1....s0 s1 XCHG
-            18x1....NEWC
-            26x1....STDICT
-            518x1....ENDC
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....0 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            26x1....s0 s0 s3 XCHG3
-            18x1....ROTREV
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            518x1....ENDC
-            x1..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            ..?fun_ref_c08232f4fb018bf8 PROCREF:<{
-            ....3 GETGLOBVAR
-            ....s1 s2 PUSH2
-            ....?fun_ref_b8d6a373d037f795 INLINECALLDICT
-            ....s0 POP
-            ....s3 s4 s2 PU2XC
-            ....s3 s1 PUXC
-            ..}>
-            x1..?fun_ref_d21437797e815e3e PROCREF:<{
-            23x1....395134233 PUSHINT
-            26x1....s0 s7 XCHG2
-            26x1....32 STU
-            18x1....s1 s5 XCHG
-            26x1....64 STU
-            26x1....s0 s3 XCHG2
-            26x1....STGRAMS
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            18x1....s0 s1 XCHG
-            26x1....STGRAMS
-            18x1....s0 s1 XCHG
-            26x1....STSLICER
-            x1..}>
-            ..?fun_ref_d4f64b286db40800 PROCREF:<{
-            ....s2 POP
-            ....1 GETGLOBVAR
-            ....4 UNTUPLE
-            ....4429 PUSHINT
-            ....s12 s3 PUSH2
-            ....SDEQ
-            ....THROWANYIFNOT
-            ....s3 s2 s1 PUSH3
-            ....s3 PUSH
-            ....?fun_ref_f691f67aa2f847fe INLINECALLDICT
-            ....s4 s3 s0 XCHG3
-            ....s4 s5 PUXC
-            ....?fun_ref_f691f67aa2f847fe INLINECALLDICT
-            ....ADD
-            ....30000000 PUSHINT
-            ....s0 s1 XCHG
-            ....ADD
-            ....4159 PUSHINT
-            ....s0 s1 XCHG
-            ....10000000 PUSHINT
-            ....MIN
-            ....s1 s2 XCHG
-            ....GREATER
-            ....THROWANYIFNOT
-            ....s8 s4 XCPU
-            ....SUB
-            ....62972 PUSHINT
-            ....s1 PUSH
-            ....-1 GTINT
-            ....THROWANYIFNOT
-            ....3 GETGLOBVAR
-            ....s0 s7 s6 XCPUXC
-            ....?fun_ref_b8d6a373d037f795 INLINECALLDICT
-            ....DUP2
-            ....0 PUSHINT
-            ....ROTREV
-            ....NEWC
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....3 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STU
-            ....s1 s2 XCHG
-            ....STREF
-            ....STREF
-            ....ENDC
-            ....HASHCU
-            ....NEWC
-            ....2 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STU
-            ....s1 s2 XCHG
-            ....8 STI
-            ....256 STU
-            ....ENDC
-            ....CTOS
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s7 s6 XCHG2
-            ....0 PUSHINT
-            ....64 PUSHINT
-            ....0 PUSHINT
-            ....s12 PUSH
-            ....s8 s1 s3 XCHG3
-            ....s14 s7 XCHG2
-            ....NEWC
-            ....6 1 BLKSWAP
-            ....?fun_ref_d21437797e815e3e INLINECALLDICT
-            ....ENDC
-            ....s5 s6 XCHG
-            ....4 2 REVERSE
-            ....s3 s9 XCHG
-            ....s0 s2 XCHG
-            ....s3 s6 XCHG
-            ....s3 s5 XCHG
-            ....s3 s4 XCHG
-            ....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ..}>
-            x1..?fun_ref_e909b9b42570c1ee PROCREF:<{
-            26x1....32 LDU
-            18x1....s0 s1 XCHG
-            23x1....395134233 PUSHINT
-            18x1....EQUAL
-            34x1....129 THROWIFNOT
-            26x1....64 LDU
-            26x1....LDGRAMS
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 s1 XCHG
-            26x1....LDGRAMS
-            26x1....s5 s5 XCPU
-            18x1....s1 s5 XCHG
-            18x1....s1 s4 XCHG
-            26x1....s3 s3 s0 XCHG3
-            x1..}>
-            x1..?fun_ref_f691f67aa2f847fe PROCREF:<{
-            26x1....3 1 BLKDROP2
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 POP
-            26x1....LDGRAMS
-            18x1....s1 POP
-            18x1....1 PUSHINT
-            26x1....SDSKIPFIRST
-            26x1....LDGRAMS
-            18x1....s1 POP
-            26x1....LDGRAMS
-            18x1....s0 POP
-            26x1....3 MULCONST
-            26x1....1 RSHIFT
-            x1..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/bugs/output/bugs_JettonDefaultWallet.code.fc b/src/test/bugs/output/bugs_JettonDefaultWallet.code.fc deleted file mode 100644 index 1ca9305a8..000000000 --- a/src/test/bugs/output/bugs_JettonDefaultWallet.code.fc +++ /dev/null @@ -1,206 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "bugs_JettonDefaultWallet.headers.fc"; -#include "bugs_JettonDefaultWallet.stdlib.fc"; -#include "bugs_JettonDefaultWallet.storage.fc"; - -;; -;; Contract JettonDefaultWallet functions -;; - -(int, slice, slice) $JettonDefaultWallet$_contract_init(slice $master, slice $owner) impure inline_ref { - var (($self'balance, $self'owner, $self'master)) = (null(), null(), null()); - $self'balance = 0; - $self'owner = $owner; - $self'master = $master; - return ($self'balance, $self'owner, $self'master); -} - -((int, slice, slice), int) $JettonDefaultWallet$_fun_msgValue((int, slice, slice) $self, int $value) impure inline_ref { - var (($self'balance, $self'owner, $self'master)) = $self; - int $msgValue = $value; - int $tonBalanceBeforeMsg = (__tact_my_balance() - $msgValue); - int $storageFee = (10000000 - min($tonBalanceBeforeMsg, 10000000)); - $msgValue = ($msgValue - ($storageFee + 10000000)); - return (($self'balance, $self'owner, $self'master), $msgValue); -} - -((int, slice, slice), (int, slice, slice, cell)) $JettonDefaultWallet$_fun_get_wallet_data((int, slice, slice) $self) impure inline_ref { - var (($self'balance, $self'owner, $self'master)) = $self; - return (($self'balance, $self'owner, $self'master), $JettonWalletData$_constructor_balance_owner_master_walletCode($self'balance, $self'owner, $self'master, $StateInit$_get_code($JettonDefaultWallet$_init_child(__tact_context_sys, $self'master, $self'owner)))); -} - -;; -;; Receivers of a Contract JettonDefaultWallet -;; - -(((int, slice, slice)), ()) $JettonDefaultWallet$_internal_binary_TokenTransfer((int, slice, slice) $self, (int, int, slice, slice, cell, int, slice) $msg) impure inline { - var ($self'balance, $self'owner, $self'master) = $self; - var ($msg'queryId, $msg'amount, $msg'destination, $msg'response_destination, $msg'custom_payload, $msg'forward_ton_amount, $msg'forward_payload) = $msg; - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - throw_unless(4429, ( __tact_slice_eq_bits($self'owner, $ctx'sender) )); - int $fwdFee = ($Context$_fun_readForwardFee(($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw)) + $Context$_fun_readForwardFee(($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw))); - int $final = (((2 * 10000000) + 10000000) + $fwdFee); - throw_unless(4159, ($ctx'value > min($final, 10000000))); - $self'balance = ($self'balance - $msg'amount); - throw_unless(62972, ($self'balance >= 0)); - var ($init'code, $init'data) = $JettonDefaultWallet$_init_child(__tact_context_sys, $self'master, $msg'destination); - slice $walletAddress = $global_contractAddress(($init'code, $init'data)); - $global_send($SendParameters$_constructor_to_value_mode_bounce_body_code_data($walletAddress, 0, 64, false, $TokenTransferInternal$_store_cell($TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload($msg'queryId, $msg'amount, $self'owner, $msg'response_destination, $msg'forward_ton_amount, $msg'forward_payload)), $init'code, $init'data)); - return (($self'balance, $self'owner, $self'master), ()); -} - -(((int, slice, slice)), ()) $JettonDefaultWallet$_internal_binary_TokenTransferInternal((int, slice, slice) $self, (int, int, slice, slice, int, slice) $msg) impure inline { - var ($self'balance, $self'owner, $self'master) = $self; - var ($msg'queryId, $msg'amount, $msg'from, $msg'response_destination, $msg'forward_ton_amount, $msg'forward_payload) = $msg; - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - if (( ~ __tact_slice_eq_bits($self'master, $ctx'sender) )) { - var ($sinit'code, $sinit'data) = $JettonDefaultWallet$_init_child(__tact_context_sys, $self'master, $msg'from); - throw_unless(42708, ( __tact_slice_eq_bits($ctx'sender, $global_contractAddress(($sinit'code, $sinit'data))) )); - } - $self'balance = ($self'balance + $msg'amount); - throw_unless(62972, ($self'balance >= 0)); - if (($msg'forward_ton_amount > 0)) { - $global_send($SendParameters$_constructor_to_value_bounce_body($self'owner, $msg'forward_ton_amount, false, $TokenNotification$_store_cell($TokenNotification$_constructor_queryId_amount_from_forward_payload($msg'queryId, $msg'amount, $msg'from, $msg'forward_payload)))); - } - int $msgValue = ($self'balance, $self'owner, $self'master)~$JettonDefaultWallet$_fun_msgValue($ctx'value); - int $fwdFee = $Context$_fun_readForwardFee(($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw)); - __tact_debug_str(__tact_int_to_string($fwdFee)); - $msgValue = (($msgValue - $msg'forward_ton_amount) - $fwdFee); - if ((~ null?($msg'response_destination))) { - $global_send($SendParameters$_constructor_to_value_bounce_body_mode($msg'response_destination, $msgValue, false, $TokenExcesses$_store_cell($TokenExcesses$_constructor_queryId($msg'queryId)), 2)); - } - return (($self'balance, $self'owner, $self'master), ()); -} - -(((int, slice, slice)), ()) $JettonDefaultWallet$_internal_binary_TokenBurn((int, slice, slice) $self, (int, int, slice, slice) $msg) impure inline { - var ($self'balance, $self'owner, $self'master) = $self; - var ($msg'queryId, $msg'amount, $msg'owner, $msg'response_destination) = $msg; - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - throw_unless(4429, ( __tact_slice_eq_bits($self'owner, $ctx'sender) )); - $self'balance = ($self'balance - $msg'amount); - throw_unless(62972, ($self'balance >= 0)); - int $fwdFee = $Context$_fun_readForwardFee(($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw)); - throw_unless(43422, ($ctx'value > (($fwdFee + (2 * 10000000)) + 10000000))); - $global_send($SendParameters$_constructor_to_value_mode_bounce_body($self'master, 0, 64, true, $TokenBurnNotification$_store_cell($TokenBurnNotification$_constructor_queryId_amount_owner_response_destination($msg'queryId, $msg'amount, $self'owner, $self'owner)))); - return (($self'balance, $self'owner, $self'master), ()); -} - -((int, slice, slice), ()) $JettonDefaultWallet$_receive_bounce((int, slice, slice) $self, slice $msg) impure inline { - var ($self'balance, $self'owner, $self'master) = $self; - int $op = $msg~load_uint(32); - int $queryId = $msg~load_uint(64); - int $jettonAmount = $msg~load_coins(); - throw_unless(13650, ( (($op == 395134233)) ? (true) : (($op == 2078119902)) )); - $self'balance = ($self'balance + $jettonAmount); - return (($self'balance, $self'owner, $self'master), ()); -} - -;; -;; Get methods of a Contract JettonDefaultWallet -;; - -_ %msgValue(int $$value) method_id(115218) { - int $value = $$value; - var self = $JettonDefaultWallet$_contract_load(); - var res = self~$JettonDefaultWallet$_fun_msgValue($value); - return res; -} - -_ %get_wallet_data() method_id(97026) { - var self = $JettonDefaultWallet$_contract_load(); - var res = self~$JettonDefaultWallet$_fun_get_wallet_data(); - return $JettonWalletData$_to_external(res); -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128, - "org.ton.jetton.wallet"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmfPusYjNVDKFUHmkq1RX1z6fWMQoD4ym1uTqp1uX3poyn"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract JettonDefaultWallet -;; - -((int, slice, slice), int) $JettonDefaultWallet$_contract_router_internal((int, slice, slice) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - - ;; Skip 0xFFFFFFFF - in_msg~skip_bits(32); - - ;; Fallback bounce receiver - self~$JettonDefaultWallet$_receive_bounce(in_msg); - - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive TokenTransfer message - if (op == 260734629) { - var msg = in_msg~$TokenTransfer$_load(); - self~$JettonDefaultWallet$_internal_binary_TokenTransfer(msg); - return (self, true); - } - - ;; Receive TokenTransferInternal message - if (op == 395134233) { - var msg = in_msg~$TokenTransferInternal$_load(); - self~$JettonDefaultWallet$_internal_binary_TokenTransferInternal(msg); - return (self, true); - } - - ;; Receive TokenBurn message - if (op == 1499400124) { - var msg = in_msg~$TokenBurn$_load(); - self~$JettonDefaultWallet$_internal_binary_TokenBurn(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $JettonDefaultWallet$_contract_load(); - - ;; Handle operation - int handled = self~$JettonDefaultWallet$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $JettonDefaultWallet$_contract_store(self); -} diff --git a/src/test/bugs/output/bugs_JettonDefaultWallet.code.fif b/src/test/bugs/output/bugs_JettonDefaultWallet.code.fif deleted file mode 100644 index a0563660b..000000000 --- a/src/test/bugs/output/bugs_JettonDefaultWallet.code.fif +++ /dev/null @@ -1,949 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_store_address_opt - DECLPROC __tact_create_address - DECLPROC __tact_compute_contract_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_store_bool - DECLPROC __tact_slice_eq_bits - DECLPROC __tact_dict_set_code - DECLPROC __tact_dict_get_code - DECLPROC __tact_int_to_string - DECLPROC $TokenTransfer$_load - DECLPROC $TokenTransferInternal$_store - DECLPROC $TokenTransferInternal$_store_cell - DECLPROC $TokenTransferInternal$_load - DECLPROC $TokenNotification$_store - DECLPROC $TokenNotification$_store_cell - DECLPROC $TokenBurn$_load - DECLPROC $TokenBurnNotification$_store - DECLPROC $TokenBurnNotification$_store_cell - DECLPROC $TokenExcesses$_store - DECLPROC $TokenExcesses$_store_cell - DECLPROC $JettonDefaultWallet$_store - DECLPROC $JettonDefaultWallet$_load - DECLPROC $StateInit$_get_code - DECLPROC $JettonWalletData$_to_external - DECLPROC $JettonDefaultWallet$init$_store - DECLPROC $JettonDefaultWallet$init$_load - DECLPROC $JettonDefaultWallet$_contract_init - DECLPROC $JettonDefaultWallet$_contract_load - DECLPROC $JettonDefaultWallet$_contract_store - DECLPROC $global_contractAddress - DECLPROC $global_send - DECLPROC $Context$_fun_readForwardFee - DECLPROC $TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload - DECLPROC $JettonDefaultWallet$_init_child - DECLPROC $JettonDefaultWallet$_fun_msgValue - DECLPROC $JettonWalletData$_constructor_balance_owner_master_walletCode - DECLPROC $JettonDefaultWallet$_fun_get_wallet_data - DECLPROC $SendParameters$_constructor_to_value_mode_bounce_body_code_data - DECLPROC $SendParameters$_constructor_to_value_bounce_body - DECLPROC $TokenNotification$_constructor_queryId_amount_from_forward_payload - DECLPROC $SendParameters$_constructor_to_value_bounce_body_mode - DECLPROC $TokenExcesses$_constructor_queryId - DECLPROC $SendParameters$_constructor_to_value_mode_bounce_body - DECLPROC $TokenBurnNotification$_constructor_queryId_amount_owner_response_destination - DECLPROC $JettonDefaultWallet$_internal_binary_TokenTransfer - DECLPROC $JettonDefaultWallet$_internal_binary_TokenTransferInternal - DECLPROC $JettonDefaultWallet$_internal_binary_TokenBurn - DECLPROC $JettonDefaultWallet$_receive_bounce - 115218 DECLMETHOD %msgValue - 97026 DECLMETHOD %get_wallet_data - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $JettonDefaultWallet$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_store_address_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - 0 PUSHINT - SWAP - 2 STU - }>ELSE<{ - __tact_store_address INLINECALLDICT - }> - }> - __tact_create_address PROCINLINE:<{ - NEWC - 2 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - __tact_verify_address INLINECALLDICT - }> - __tact_compute_contract_address PROCINLINE:<{ - NEWC - 0 PUSHINT - SWAP - 2 STU - 3 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - __tact_create_address INLINECALLDICT - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_slice_eq_bits PROCINLINE:<{ - SDEQ - }> - __tact_dict_set_code PROCINLINE:<{ - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - }> - __tact_dict_get_code PROCINLINE:<{ - SWAP - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - }> - __tact_int_to_string PROCREF:<{ - NEWC - OVER - 0 LESSINT - IF:<{ - 45 PUSHINT - SWAP - 8 STU - SWAP - NEGATE - SWAP - }> - OVER - 1000000000000000000000000000000 PUSHINTX - LESS - IF:<{ - 0 PUSHINT - DUP - 1 PUSHINT - UNTIL:<{ - s0 s4 XCHG - 10 PUSHINT - DIVMOD - 48 ADDCONST - s5 PUSH - MUL - s1 s2 XCHG - ADD - s0 s4 XCHG - 8 LSHIFT# - s0 s2 XCHG - INC - OVER - 0 EQINT - s5 s3 s0 XCHG3 - }> - DROP - s3 POP - 3 LSHIFT# - STUX - }>ELSE<{ - NIL - 0 PUSHINT - UNTIL:<{ - s3 PUSH - 10 PUSHINT - MOD - s1 s2 XCHG - TPUSH - SWAP - INC - s0 s3 XCHG - 10 PUSHINT - DIV - DUP - 0 EQINT - s1 s4 XCHG - }> - s3 POP - s2 PUSH - DEC - s0 s3 XCHG - REPEAT:<{ - s0 s2 PUSH2 - INDEXVAR - 48 ADDCONST - ROT - 8 STU - s0 s2 XCHG - DEC - -ROT - }> - DROP - NIP - }> - ENDC - CTOS - }> - $TokenTransfer$_load PROCREF:<{ - 32 LDU - SWAP - 260734629 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - LDGRAMS - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - LDGRAMS - s6 s6 XCPU - s1 s6 XCHG - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - $TokenTransferInternal$_store PROCREF:<{ - 395134233 PUSHINT - s0 s7 XCHG2 - 32 STU - s1 s5 XCHG - 64 STU - s0 s3 XCHG2 - STGRAMS - SWAP - __tact_store_address INLINECALLDICT - SWAP - __tact_store_address INLINECALLDICT - SWAP - STGRAMS - SWAP - STSLICER - }> - $TokenTransferInternal$_store_cell PROCINLINE:<{ - NEWC - 6 -ROLL - $TokenTransferInternal$_store INLINECALLDICT - ENDC - }> - $TokenTransferInternal$_load PROCREF:<{ - 32 LDU - SWAP - 395134233 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - LDGRAMS - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address INLINECALLDICT - SWAP - LDGRAMS - s5 s5 XCPU - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - $TokenNotification$_store PROCINLINE:<{ - 1935855772 PUSHINT - s0 s5 XCHG2 - 32 STU - s1 s3 XCHG - 64 STU - SWAP - STGRAMS - SWAP - __tact_store_address INLINECALLDICT - SWAP - STSLICER - }> - $TokenNotification$_store_cell PROCINLINE:<{ - NEWC - 4 -ROLL - $TokenNotification$_store INLINECALLDICT - ENDC - }> - $TokenBurn$_load PROCINLINE:<{ - 32 LDU - SWAP - 1499400124 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - LDGRAMS - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address INLINECALLDICT - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - $TokenBurnNotification$_store PROCINLINE:<{ - 2078119902 PUSHINT - s0 s5 XCHG2 - 32 STU - s1 s3 XCHG - 64 STU - SWAP - STGRAMS - SWAP - __tact_store_address INLINECALLDICT - SWAP - __tact_store_address_opt INLINECALLDICT - }> - $TokenBurnNotification$_store_cell PROCINLINE:<{ - NEWC - 4 -ROLL - $TokenBurnNotification$_store INLINECALLDICT - ENDC - }> - $TokenExcesses$_store PROCINLINE:<{ - 3576854235 PUSHINT - ROT - 32 STU - 64 STU - }> - $TokenExcesses$_store_cell PROCINLINE:<{ - NEWC - SWAP - $TokenExcesses$_store INLINECALLDICT - ENDC - }> - $JettonDefaultWallet$_store PROCINLINE:<{ - s2 s3 XCHG2 - 257 PUSHINT - STIX - SWAP - __tact_store_address INLINECALLDICT - SWAP - __tact_store_address INLINECALLDICT - }> - $JettonDefaultWallet$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address INLINECALLDICT - s3 s3 s0 XCHG3 - }> - $StateInit$_get_code PROCINLINE:<{ - DROP - }> - $JettonWalletData$_to_external PROCINLINE:<{ - }> - $JettonDefaultWallet$init$_store PROCINLINE:<{ - -ROT - __tact_store_address INLINECALLDICT - SWAP - __tact_store_address INLINECALLDICT - }> - $JettonDefaultWallet$init$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address INLINECALLDICT - s1 s2 XCHG - }> - $JettonDefaultWallet$_contract_init PROCREF:<{ - 0 PUSHINT - s0 s2 XCHG - }> - $JettonDefaultWallet$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $JettonDefaultWallet$_load INLINECALLDICT - 1 3 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $JettonDefaultWallet$init$_load INLINECALLDICT - s0 s2 XCHG - ENDS - SWAP - $JettonDefaultWallet$_contract_init INLINECALLDICT - }> - $JettonDefaultWallet$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 3 -ROLL - $JettonDefaultWallet$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_contractAddress PROCINLINE:<{ - 0 PUSHINT - -ROT - __tact_compute_contract_address INLINECALLDICT - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $Context$_fun_readForwardFee PROCREF:<{ - 3 1 BLKDROP2 - __tact_load_address INLINECALLDICT - DROP - LDGRAMS - NIP - 1 PUSHINT - SDSKIPFIRST - LDGRAMS - NIP - LDGRAMS - DROP - 3 MULCONST - 1 RSHIFT# - }> - $TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload PROCINLINE:<{ - }> - $JettonDefaultWallet$_init_child PROCREF:<{ - s0 s2 XCHG - CTOS - LDDICT - DROP - NEWDICT - SWAP - 55471 PUSHINT - __tact_dict_get_code INLINECALLDICT - SWAP - 55471 PUSHINT - s2 PUSH - __tact_dict_set_code INLINECALLDICT - NEWC - SWAP - NEWC - STDICT - ENDC - SWAP - STREF - FALSE - SWAP - 1 STI - s0 s0 s3 XCHG3 - $JettonDefaultWallet$init$_store INLINECALLDICT - ENDC - }> - $JettonDefaultWallet$_fun_msgValue PROCREF:<{ - __tact_my_balance INLINECALLDICT - OVER - SUB - 10000000 PUSHINT - TUCK - MIN - SUB - 10000000 PUSHINT - ADD - SUB - }> - $JettonWalletData$_constructor_balance_owner_master_walletCode PROCINLINE:<{ - }> - $JettonDefaultWallet$_fun_get_wallet_data PROCREF:<{ - __tact_context_sys GETGLOB - s1 s2 PUSH2 - $JettonDefaultWallet$_init_child INLINECALLDICT - $StateInit$_get_code INLINECALLDICT - s3 s2 s(-2) PU2XC - s3 s(-1) PUXC - $JettonWalletData$_constructor_balance_owner_master_walletCode INLINECALLDICT - }> - $SendParameters$_constructor_to_value_mode_bounce_body_code_data PROCINLINE:<{ - s3 s6 XCHG - s3 s5 XCHG - s3 s4 XCHG - }> - $SendParameters$_constructor_to_value_bounce_body PROCINLINE:<{ - s3 s3 s0 XCHG3 - 0 PUSHINT - SWAP - PUSHNULL - PUSHNULL - }> - $TokenNotification$_constructor_queryId_amount_from_forward_payload PROCINLINE:<{ - }> - $SendParameters$_constructor_to_value_bounce_body_mode PROCINLINE:<{ - s2 s4 XCHG - s3 s0 s0 XCHG3 - PUSHNULL - PUSHNULL - }> - $TokenExcesses$_constructor_queryId PROCINLINE:<{ - }> - $SendParameters$_constructor_to_value_mode_bounce_body PROCINLINE:<{ - s1 s4 XCHG - s3 s3 s0 XCHG3 - PUSHNULL - PUSHNULL - }> - $TokenBurnNotification$_constructor_queryId_amount_owner_response_destination PROCINLINE:<{ - }> - $JettonDefaultWallet$_internal_binary_TokenTransfer PROCINLINE:<{ - s2 POP - __tact_context_get INLINECALLDICT - 4429 PUSHINT - s12 s3 PUSH2 - __tact_slice_eq_bits INLINECALLDICT - THROWANYIFNOT - s3 s2 s1 PUSH3 - s3 PUSH - $Context$_fun_readForwardFee INLINECALLDICT - s4 s3 s0 XCHG3 - s4 s3 PUXC - $Context$_fun_readForwardFee INLINECALLDICT - ADD - 30000000 PUSHINT - SWAP - ADD - 4159 PUSHINT - SWAP - 10000000 PUSHINT - MIN - s1 s2 XCHG - GREATER - THROWANYIFNOT - s8 s4 XCPU - SUB - 62972 PUSHINT - OVER - -1 GTINT - THROWANYIFNOT - __tact_context_sys GETGLOB - s0 s7 s4 XCPUXC - $JettonDefaultWallet$_init_child INLINECALLDICT - 2DUP - $global_contractAddress INLINECALLDICT - s7 s6 XCHG2 - 0 PUSHINT - 64 PUSHINT - FALSE - s12 PUSH - s8 s1 s3 XCHG3 - s14 s7 XCHG2 - $TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload INLINECALLDICT - $TokenTransferInternal$_store_cell INLINECALLDICT - s5 s6 XCHG - 4 2 REVERSE - s3 s9 XCHG - s0 s2 XCHG - $SendParameters$_constructor_to_value_mode_bounce_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $JettonDefaultWallet$_internal_binary_TokenTransferInternal PROCINLINE:<{ - __tact_context_get INLINECALLDICT - s10 s2 PUSH2 - __tact_slice_eq_bits INLINECALLDICT - NOT - IF:<{ - __tact_context_sys GETGLOB - s11 s8 PUSH2 - $JettonDefaultWallet$_init_child INLINECALLDICT - SWAP - 42708 PUSHINT - s0 s2 XCHG - $global_contractAddress INLINECALLDICT - s4 s(-1) PUXC - __tact_slice_eq_bits INLINECALLDICT - THROWANYIFNOT - }> - s12 s8 XCPU - ADD - 62972 PUSHINT - OVER - -1 GTINT - THROWANYIFNOT - s5 PUSH - 0 GTINT - IF:<{ - FALSE - s10 PUSH - s10 s1 s3 XCHG3 - s9 s6 XCHG2 - $TokenNotification$_constructor_queryId_amount_from_forward_payload INLINECALLDICT - $TokenNotification$_store_cell INLINECALLDICT - s10 PUSH - s5 s2 s(-1) PUXC2 - s1 s8 XCHG - $SendParameters$_constructor_to_value_bounce_body INLINECALLDICT - $global_send INLINECALLDICT - s1 s4 XCHG - s1 s5 XCHG - }>ELSE<{ - s2 s8 XCHG - s4 POP - s6 POP - DROP - }> - s1 s8 s7 XCHG3 - s4 PUSH - $JettonDefaultWallet$_fun_msgValue INLINECALLDICT - s3 s8 XCHG - s6 s5 s10 XCHG3 - $Context$_fun_readForwardFee INLINECALLDICT - DUP - __tact_int_to_string INLINECALLDICT - STRDUMP - DROP - s7 s6 XCHG2 - SUB - s0 s5 XCHG2 - SUB - s5 PUSH - ISNULL - NOT - IF:<{ - FALSE - s0 s3 XCHG - $TokenExcesses$_constructor_queryId INLINECALLDICT - $TokenExcesses$_store_cell INLINECALLDICT - s3 s6 XCHG - s1 s6 s0 XCHG3 - 2 PUSHINT - $SendParameters$_constructor_to_value_bounce_body_mode INLINECALLDICT - $global_send INLINECALLDICT - }>ELSE<{ - DROP - s4 POP - DROP - }> - -ROT - }> - $JettonDefaultWallet$_internal_binary_TokenBurn PROCINLINE:<{ - 2DROP - __tact_context_get INLINECALLDICT - 4429 PUSHINT - s8 s3 PUSH2 - __tact_slice_eq_bits INLINECALLDICT - THROWANYIFNOT - s8 s4 XCPU - SUB - 62972 PUSHINT - OVER - -1 GTINT - THROWANYIFNOT - s3 s3 s0 XCHG3 - s3 s8 PUXC - $Context$_fun_readForwardFee INLINECALLDICT - 43422 PUSHINT - SWAP - 20000000 PUSHINT - ADD - 10000000 PUSHINT - ADD - s1 s2 XCHG - GREATER - THROWANYIFNOT - 0 PUSHINT - 64 PUSHINT - s0 s3 XCHG - TRUE - s3 s6 s6 XCPU2 - $TokenBurnNotification$_constructor_queryId_amount_owner_response_destination INLINECALLDICT - $TokenBurnNotification$_store_cell INLINECALLDICT - s4 PUSH - s4 s1 s4 XCHG3 - s3 s3 XCHG2 - $SendParameters$_constructor_to_value_mode_bounce_body INLINECALLDICT - $global_send INLINECALLDICT - }> - $JettonDefaultWallet$_receive_bounce PROCINLINE:<{ - 32 LDU - 64 LDU - NIP - LDGRAMS - DROP - 13650 PUSHINT - s2 PUSH - 395134233 PUSHINT - EQUAL - IF:<{ - s2 POP - TRUE - }>ELSE<{ - s0 s2 XCHG - 2078119902 PUSHINT - EQUAL - }> - s1 s2 XCHG - THROWANYIFNOT - s1 s3 XCHG - ADD - s0 s2 XCHG - }> - %msgValue PROC:<{ - $JettonDefaultWallet$_contract_load INLINECALLDICT - 3 ROLL - $JettonDefaultWallet$_fun_msgValue INLINECALLDICT - 3 1 BLKDROP2 - }> - %get_wallet_data PROC:<{ - $JettonDefaultWallet$_contract_load INLINECALLDICT - $JettonDefaultWallet$_fun_get_wallet_data INLINECALLDICT - 3 4 BLKDROP2 - $JettonWalletData$_to_external INLINECALLDICT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 209778528950190195973528115415557644819 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d66507573596a4e56444b4655486d6b71315258317a3666574d516f4434796d317554717031755833706f796e} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $JettonDefaultWallet$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - 32 PUSHINT - SDSKIPFIRST - $JettonDefaultWallet$_receive_bounce INLINECALLDICT - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 260734629 PUSHINT - EQUAL - IFJMP:<{ - DROP - $TokenTransfer$_load INLINECALLDICT - 1 7 BLKDROP2 - $JettonDefaultWallet$_internal_binary_TokenTransfer INLINECALLDICT - TRUE - }> - DUP - 395134233 PUSHINT - EQUAL - IFJMP:<{ - DROP - $TokenTransferInternal$_load INLINECALLDICT - 1 6 BLKDROP2 - $JettonDefaultWallet$_internal_binary_TokenTransferInternal INLINECALLDICT - TRUE - }> - 1499400124 PUSHINT - EQUAL - IFJMP:<{ - $TokenBurn$_load INLINECALLDICT - 1 4 BLKDROP2 - $JettonDefaultWallet$_internal_binary_TokenBurn INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $JettonDefaultWallet$_contract_load INLINECALLDICT - 2 3 BLKSWAP - $JettonDefaultWallet$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $JettonDefaultWallet$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/bugs/output/bugs_JettonDefaultWallet.code.rev.fif b/src/test/bugs/output/bugs_JettonDefaultWallet.code.rev.fif deleted file mode 100644 index 8e26c8a1d..000000000 --- a/src/test/bugs/output/bugs_JettonDefaultWallet.code.rev.fif +++ /dev/null @@ -1,1195 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC get_wallet_data; - DECLPROC supported_interfaces; - DECLPROC ?fun_115218; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_12d78a24672a0d96; - DECLPROC ?fun_ref_171235c853357b3e; - DECLPROC ?fun_ref_2409c879affe1754; - DECLPROC ?fun_ref_2accad73d60fa883; - DECLPROC ?fun_ref_5007013235aab4c2; - DECLPROC ?fun_ref_688678bd121165d5; - DECLPROC ?fun_ref_88367730aedcfc26; - DECLPROC ?fun_ref_8fb9e3dc236e3d94; - DECLPROC ?fun_ref_b8d6a373d037f795; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_c08232f4fb018bf8; - DECLPROC ?fun_ref_d21437797e815e3e; - DECLPROC ?fun_ref_d4f64b286db40800; - DECLPROC ?fun_ref_e909b9b42570c1ee; - DECLPROC ?fun_ref_f691f67aa2f847fe; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_2accad73d60fa883 INLINECALLDICT - 2 3 BLKSWAP - ?fun_ref_12d78a24672a0d96 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 3 1 BLKSWAP - s2 s3 XCHG2 - 257 PUSHINT - STIX - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - c4 POP - }> - get_wallet_data PROC:<{ - ?fun_ref_2accad73d60fa883 INLINECALLDICT - ?fun_ref_c08232f4fb018bf8 INLINECALLDICT - 3 4 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 209778528950190195973528115415557644819 PUSHINT - }> - ?fun_115218 PROC:<{ - ?fun_ref_2accad73d60fa883 INLINECALLDICT - 1 3 BLKSWAP - ?fun_ref_688678bd121165d5 INLINECALLDICT - 3 1 BLKDROP2 - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D66507573596A4E56444B4655486D6B71315258317A3666574D516F4434796D317554717031755833706F796E82_} PUSHSLICE - }> - ?fun_ref_12d78a24672a0d96 PROCREF:<{ - s0 s1 XCHG - <{ - 32 PUSHINT - SDSKIPFIRST - 32 LDU - 64 LDU - s1 POP - LDGRAMS - s0 POP - 13650 PUSHINT - s2 PUSH - 395134233 PUSHINT - EQUAL - <{ - s2 POP - -1 PUSHINT - }> PUSHCONT - <{ - s0 s2 XCHG - 2078119902 PUSHINT - EQUAL - }> PUSHCONT - IFELSE - s1 s2 XCHG - THROWANYIFNOT - s1 s3 XCHG - ADD - s0 s2 XCHG - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 260734629 PUSHINT - EQUAL - <{ - s0 POP - ?fun_ref_171235c853357b3e INLINECALLDICT - 1 7 BLKDROP2 - ?fun_ref_d4f64b286db40800 INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 395134233 PUSHINT - EQUAL - <{ - s0 POP - ?fun_ref_e909b9b42570c1ee INLINECALLDICT - 1 6 BLKDROP2 - ?fun_ref_8fb9e3dc236e3d94 INLINECALLDICT - -1 PUSHINT - }> IFJMPREF - 1499400124 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 1499400124 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - LDGRAMS - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 s4 XCHG - s3 s3 s0 XCHG3 - 1 4 BLKDROP2 - ?fun_ref_88367730aedcfc26 INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> - ?fun_ref_171235c853357b3e PROCREF:<{ - 32 LDU - s0 s1 XCHG - 260734629 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - LDGRAMS - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - LDGRAMS - s6 s6 XCPU - s1 s6 XCHG - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - ?fun_ref_2409c879affe1754 PROCREF:<{ - NEWC - s1 PUSH - 0 LESSINT - <{ - 45 PUSHINT - s0 s1 XCHG - 8 STU - s0 s1 XCHG - -1 MULCONST - s0 s1 XCHG - }> PUSHCONT - IF - s1 PUSH - 931322574615478515625 PUSHINT - 30 LSHIFT - LESS - <{ - 0 PUSHINT - s0 PUSH - 1 PUSHINT - <{ - s0 s4 XCHG - 10 PUSHINT - false 0 false 3 0 DIV - 48 ADD - s5 PUSH - MUL - s1 s2 XCHG - ADD - s0 s4 XCHG - 8 LSHIFT - s0 s2 XCHG - INC - s1 PUSH - 0 EQINT - s5 s3 s0 XCHG3 - }> PUSHCONT - UNTIL - s0 POP - s3 POP - 3 LSHIFT - STUX - }> PUSHCONT - <{ - 0 TUPLE - 0 PUSHINT - <{ - s3 PUSH - 10 PUSHINT - false 0 false 2 0 DIV - s1 s2 XCHG - TPUSH - s0 s1 XCHG - INC - s0 s3 XCHG - 10 PUSHINT - false 0 false 1 0 DIV - s0 PUSH - 0 EQINT - s1 s4 XCHG - }> PUSHCONT - UNTIL - s3 POP - s2 PUSH - -1 ADD - s0 s3 XCHG - <{ - s0 s2 PUSH2 - INDEXVAR - 48 ADD - ROT - 8 STU - s0 s2 XCHG - -1 ADD - ROTREV - }> PUSHCONT - REPEAT - s0 POP - s1 POP - }> PUSHCONT - IFELSE - ENDC - CTOS - }> - ?fun_ref_2accad73d60fa883 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s3 s3 s0 XCHG3 - 1 3 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 s2 XCHG - s0 s2 XCHG - ENDS - s0 s1 XCHG - ?fun_ref_5007013235aab4c2 INLINECALLDICT - }> - ?fun_ref_5007013235aab4c2 PROCREF:<{ - 0 PUSHINT - s0 s2 XCHG - }> - ?fun_ref_688678bd121165d5 PROCREF:<{ - BALANCE - 0 INDEX - s1 PUSH - SUB - 10000000 PUSHINT - TUCK - MIN - SUB - 10000000 PUSHINT - ADD - SUB - }> - ?fun_ref_88367730aedcfc26 PROCREF:<{ - DROP2 - 1 GETGLOBVAR - 4 UNTUPLE - 4429 PUSHINT - s8 s3 PUSH2 - SDEQ - THROWANYIFNOT - s8 s4 XCPU - SUB - 62972 PUSHINT - s1 PUSH - -1 GTINT - THROWANYIFNOT - s3 s3 s0 XCHG3 - s3 s10 PUXC - ?fun_ref_f691f67aa2f847fe INLINECALLDICT - 43422 PUSHINT - s0 s1 XCHG - 20000000 PUSHINT - ADD - 10000000 PUSHINT - ADD - s1 s2 XCHG - GREATER - THROWANYIFNOT - 0 PUSHINT - 64 PUSHINT - s0 s3 XCHG - -1 PUSHINT - s3 s6 s6 XCPU2 - NEWC - 4 1 BLKSWAP - 2078119902 PUSHINT - s0 s5 XCHG2 - 32 STU - s1 s3 XCHG - 64 STU - s0 s1 XCHG - STGRAMS - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s1 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - 0 PUSHINT - s0 s1 XCHG - 2 STU - }> PUSHCONT - <{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - }> PUSHCONT - IFELSE - ENDC - s4 PUSH - s4 s1 s4 XCHG3 - s3 s3 XCHG2 - s1 s4 XCHG - s3 s3 s0 XCHG3 - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_8fb9e3dc236e3d94 PROCREF:<{ - 1 GETGLOBVAR - 4 UNTUPLE - s10 s2 PUSH2 - SDEQ - NOT - <{ - 3 GETGLOBVAR - s11 s8 PUSH2 - ?fun_ref_b8d6a373d037f795 INLINECALLDICT - s0 s1 XCHG - 42708 PUSHINT - s0 s2 XCHG - 0 PUSHINT - ROTREV - NEWC - 0 PUSHINT - s0 s1 XCHG - 2 STU - 3 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s4 s1 PUXC - SDEQ - THROWANYIFNOT - }> PUSHCONT - IF - s12 s8 XCPU - ADD - 62972 PUSHINT - s1 PUSH - -1 GTINT - THROWANYIFNOT - s5 PUSH - 0 GTINT - <{ - s2 s8 XCHG - s4 POP - s6 POP - s0 POP - }> PUSHCONT - <{ - 0 PUSHINT - s10 PUSH - s10 s1 s3 XCHG3 - s9 s6 XCHG2 - NEWC - 4 1 BLKSWAP - 1935855772 PUSHINT - s0 s5 XCHG2 - 32 STU - s1 s3 XCHG - 64 STU - s0 s1 XCHG - STGRAMS - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s1 XCHG - STSLICER - ENDC - s10 PUSH - s5 s4 s1 PUXC2 - s1 s8 XCHG - s3 s3 s0 XCHG3 - 0 PUSHINT - s0 s1 XCHG - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - s1 s4 XCHG - s1 s5 XCHG - }> IFREFELSE - s1 s8 s7 XCHG3 - s4 PUSH - ?fun_ref_688678bd121165d5 INLINECALLDICT - s3 s8 XCHG - s6 s5 s10 XCHG3 - ?fun_ref_f691f67aa2f847fe INLINECALLDICT - s0 PUSH - ?fun_ref_2409c879affe1754 INLINECALLDICT - STRDUMP - s0 POP - s7 s6 XCHG2 - SUB - s0 s5 XCHG2 - SUB - s5 PUSH - ISNULL - NOT - <{ - 0 PUSHINT - s0 s3 XCHG - NEWC - s0 s1 XCHG - 3576854235 PUSHINT - ROT - 32 STU - 64 STU - ENDC - s3 s6 XCHG - s1 s6 s0 XCHG3 - 2 PUSHINT - s2 s4 XCHG - s3 s0 s0 XCHG3 - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> PUSHCONT - <{ - s0 POP - s4 POP - s0 POP - }> PUSHCONT - IFELSE - ROTREV - }> - ?fun_ref_b8d6a373d037f795 PROCREF:<{ - s0 s2 XCHG - CTOS - LDDICT - s0 POP - NULL - s0 s1 XCHG - 55471 PUSHINT - s0 s1 XCHG - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - s0 s1 XCHG - 55471 PUSHINT - s2 PUSH - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - NEWC - s0 s1 XCHG - NEWC - STDICT - ENDC - s0 s1 XCHG - STREF - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s0 s3 XCHG3 - ROTREV - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_c08232f4fb018bf8 PROCREF:<{ - 3 GETGLOBVAR - s1 s2 PUSH2 - ?fun_ref_b8d6a373d037f795 INLINECALLDICT - s0 POP - s3 s4 s2 PU2XC - s3 s1 PUXC - }> - ?fun_ref_d21437797e815e3e PROCREF:<{ - 395134233 PUSHINT - s0 s7 XCHG2 - 32 STU - s1 s5 XCHG - 64 STU - s0 s3 XCHG2 - STGRAMS - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s1 XCHG - STGRAMS - s0 s1 XCHG - STSLICER - }> - ?fun_ref_d4f64b286db40800 PROCREF:<{ - s2 POP - 1 GETGLOBVAR - 4 UNTUPLE - 4429 PUSHINT - s12 s3 PUSH2 - SDEQ - THROWANYIFNOT - s3 s2 s1 PUSH3 - s3 PUSH - ?fun_ref_f691f67aa2f847fe INLINECALLDICT - s4 s3 s0 XCHG3 - s4 s5 PUXC - ?fun_ref_f691f67aa2f847fe INLINECALLDICT - ADD - 30000000 PUSHINT - s0 s1 XCHG - ADD - 4159 PUSHINT - s0 s1 XCHG - 10000000 PUSHINT - MIN - s1 s2 XCHG - GREATER - THROWANYIFNOT - s8 s4 XCPU - SUB - 62972 PUSHINT - s1 PUSH - -1 GTINT - THROWANYIFNOT - 3 GETGLOBVAR - s0 s7 s6 XCPUXC - ?fun_ref_b8d6a373d037f795 INLINECALLDICT - DUP2 - 0 PUSHINT - ROTREV - NEWC - 0 PUSHINT - s0 s1 XCHG - 2 STU - 3 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s7 s6 XCHG2 - 0 PUSHINT - 64 PUSHINT - 0 PUSHINT - s12 PUSH - s8 s1 s3 XCHG3 - s14 s7 XCHG2 - NEWC - 6 1 BLKSWAP - ?fun_ref_d21437797e815e3e INLINECALLDICT - ENDC - s5 s6 XCHG - 4 2 REVERSE - s3 s9 XCHG - s0 s2 XCHG - s3 s6 XCHG - s3 s5 XCHG - s3 s4 XCHG - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_e909b9b42570c1ee PROCREF:<{ - 32 LDU - s0 s1 XCHG - 395134233 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - LDGRAMS - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDGRAMS - s5 s5 XCPU - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - ?fun_ref_f691f67aa2f847fe PROCREF:<{ - 3 1 BLKDROP2 - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 POP - LDGRAMS - s1 POP - 1 PUSHINT - SDSKIPFIRST - LDGRAMS - s1 POP - LDGRAMS - s0 POP - 3 MULCONST - 1 RSHIFT - }> -}END>c \ No newline at end of file diff --git a/src/test/bugs/output/bugs_JettonDefaultWallet.headers.fc b/src/test/bugs/output/bugs_JettonDefaultWallet.headers.fc deleted file mode 100644 index 68036d169..000000000 --- a/src/test/bugs/output/bugs_JettonDefaultWallet.headers.fc +++ /dev/null @@ -1,151 +0,0 @@ -;; -;; Header files for JettonDefaultWallet -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_store_address_opt -builder __tact_store_address_opt(builder b, slice address) inline; - -;; __tact_create_address -slice __tact_create_address(int chain, int hash) inline; - -;; __tact_compute_contract_address -slice __tact_compute_contract_address(int chain, cell code, cell data) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_slice_eq_bits -int __tact_slice_eq_bits(slice a, slice b) inline; - -;; __tact_dict_set_code -cell __tact_dict_set_code(cell dict, int id, cell code) inline; - -;; __tact_dict_get_code -cell __tact_dict_get_code(cell dict, int id) inline; - -;; __tact_int_to_string -slice __tact_int_to_string(int src) inline_ref; - -;; $TokenTransfer$_load -(slice, ((int, int, slice, slice, cell, int, slice))) $TokenTransfer$_load(slice sc_0) inline_ref; - -;; $TokenTransferInternal$_store -builder $TokenTransferInternal$_store(builder build_0, (int, int, slice, slice, int, slice) v) inline_ref; - -;; $TokenTransferInternal$_store_cell -cell $TokenTransferInternal$_store_cell((int, int, slice, slice, int, slice) v) inline; - -;; $TokenTransferInternal$_load -(slice, ((int, int, slice, slice, int, slice))) $TokenTransferInternal$_load(slice sc_0) inline_ref; - -;; $TokenNotification$_store -builder $TokenNotification$_store(builder build_0, (int, int, slice, slice) v) inline; - -;; $TokenNotification$_store_cell -cell $TokenNotification$_store_cell((int, int, slice, slice) v) inline; - -;; $TokenBurn$_load -(slice, ((int, int, slice, slice))) $TokenBurn$_load(slice sc_0) inline; - -;; $TokenBurnNotification$_store -builder $TokenBurnNotification$_store(builder build_0, (int, int, slice, slice) v) inline; - -;; $TokenBurnNotification$_store_cell -cell $TokenBurnNotification$_store_cell((int, int, slice, slice) v) inline; - -;; $TokenExcesses$_store -builder $TokenExcesses$_store(builder build_0, (int) v) inline; - -;; $TokenExcesses$_store_cell -cell $TokenExcesses$_store_cell((int) v) inline; - -;; $JettonDefaultWallet$_store -builder $JettonDefaultWallet$_store(builder build_0, (int, slice, slice) v) inline; - -;; $JettonDefaultWallet$_load -(slice, ((int, slice, slice))) $JettonDefaultWallet$_load(slice sc_0) inline; - -;; $StateInit$_get_code -_ $StateInit$_get_code((cell, cell) v) inline; - -;; $JettonWalletData$_to_external -(int, slice, slice, cell) $JettonWalletData$_to_external(((int, slice, slice, cell)) v) inline; - -;; $JettonDefaultWallet$init$_store -builder $JettonDefaultWallet$init$_store(builder build_0, (slice, slice) v) inline; - -;; $JettonDefaultWallet$init$_load -(slice, ((slice, slice))) $JettonDefaultWallet$init$_load(slice sc_0) inline; - -;; $JettonDefaultWallet$_contract_init -(int, slice, slice) $JettonDefaultWallet$_contract_init(slice $master, slice $owner) impure inline_ref; - -;; $JettonDefaultWallet$_contract_load -(int, slice, slice) $JettonDefaultWallet$_contract_load() impure inline_ref; - -;; $JettonDefaultWallet$_contract_store -() $JettonDefaultWallet$_contract_store((int, slice, slice) v) impure inline; - -;; $global_contractAddress -slice $global_contractAddress((cell, cell) $s) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $Context$_fun_readForwardFee -int $Context$_fun_readForwardFee((int, slice, int, slice) $self) impure inline_ref; - -;; $TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload -((int, int, slice, slice, int, slice)) $TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload(int queryId, int amount, slice from, slice response_destination, int forward_ton_amount, slice forward_payload) inline; - -;; $JettonDefaultWallet$_init_child -(cell, cell) $JettonDefaultWallet$_init_child(cell sys', slice $master, slice $owner) inline_ref; - -;; $JettonDefaultWallet$_fun_msgValue -((int, slice, slice), int) $JettonDefaultWallet$_fun_msgValue((int, slice, slice) $self, int $value) impure inline_ref; - -;; $JettonWalletData$_constructor_balance_owner_master_walletCode -((int, slice, slice, cell)) $JettonWalletData$_constructor_balance_owner_master_walletCode(int balance, slice owner, slice master, cell walletCode) inline; - -;; $JettonDefaultWallet$_fun_get_wallet_data -((int, slice, slice), (int, slice, slice, cell)) $JettonDefaultWallet$_fun_get_wallet_data((int, slice, slice) $self) impure inline_ref; - -;; $SendParameters$_constructor_to_value_mode_bounce_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_mode_bounce_body_code_data(slice to, int value, int mode, int bounce, cell body, cell code, cell data) inline; - -;; $SendParameters$_constructor_to_value_bounce_body -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_bounce_body(slice to, int value, int bounce, cell body) inline; - -;; $TokenNotification$_constructor_queryId_amount_from_forward_payload -((int, int, slice, slice)) $TokenNotification$_constructor_queryId_amount_from_forward_payload(int queryId, int amount, slice from, slice forward_payload) inline; - -;; $SendParameters$_constructor_to_value_bounce_body_mode -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_bounce_body_mode(slice to, int value, int bounce, cell body, int mode) inline; - -;; $TokenExcesses$_constructor_queryId -((int)) $TokenExcesses$_constructor_queryId(int queryId) inline; - -;; $SendParameters$_constructor_to_value_mode_bounce_body -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_mode_bounce_body(slice to, int value, int mode, int bounce, cell body) inline; - -;; $TokenBurnNotification$_constructor_queryId_amount_owner_response_destination -((int, int, slice, slice)) $TokenBurnNotification$_constructor_queryId_amount_owner_response_destination(int queryId, int amount, slice owner, slice response_destination) inline; diff --git a/src/test/bugs/output/bugs_JettonDefaultWallet.md b/src/test/bugs/output/bugs_JettonDefaultWallet.md deleted file mode 100644 index 33e9bef1c..000000000 --- a/src/test/bugs/output/bugs_JettonDefaultWallet.md +++ /dev/null @@ -1,129 +0,0 @@ -# TACT Compilation Report -Contract: JettonDefaultWallet -BOC Size: 2193 bytes - -# Types -Total Types: 20 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## TokenInfo -TLB: `_ ticker:^string decimals:int257 = TokenInfo` -Signature: `TokenInfo{ticker:^string,decimals:int257}` - -## Replace -TLB: `replace#5285f402 items:dict = Replace` -Signature: `Replace{items:dict}` - -## Mint -TLB: `mint#fc708bd2 amount:int257 receiver:address = Mint` -Signature: `Mint{amount:int257,receiver:address}` - -## JettonData -TLB: `_ totalSupply:int257 mintable:bool owner:address content:^cell walletCode:^cell = JettonData` -Signature: `JettonData{totalSupply:int257,mintable:bool,owner:address,content:^cell,walletCode:^cell}` - -## TokenTransfer -TLB: `token_transfer#0f8a7ea5 queryId:uint64 amount:coins destination:address response_destination:address custom_payload:Maybe ^cell forward_ton_amount:coins forward_payload:remainder = TokenTransfer` -Signature: `TokenTransfer{queryId:uint64,amount:coins,destination:address,response_destination:address,custom_payload:Maybe ^cell,forward_ton_amount:coins,forward_payload:remainder}` - -## TokenTransferInternal -TLB: `token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address response_destination:address forward_ton_amount:coins forward_payload:remainder = TokenTransferInternal` -Signature: `TokenTransferInternal{queryId:uint64,amount:coins,from:address,response_destination:address,forward_ton_amount:coins,forward_payload:remainder}` - -## TokenNotification -TLB: `token_notification#7362d09c queryId:uint64 amount:coins from:address forward_payload:remainder = TokenNotification` -Signature: `TokenNotification{queryId:uint64,amount:coins,from:address,forward_payload:remainder}` - -## TokenBurn -TLB: `token_burn#595f07bc queryId:uint64 amount:coins owner:address response_destination:address = TokenBurn` -Signature: `TokenBurn{queryId:uint64,amount:coins,owner:address,response_destination:address}` - -## TokenBurnNotification -TLB: `token_burn_notification#7bdd97de queryId:uint64 amount:coins owner:address response_destination:Maybe address = TokenBurnNotification` -Signature: `TokenBurnNotification{queryId:uint64,amount:coins,owner:address,response_destination:Maybe address}` - -## TokenExcesses -TLB: `token_excesses#d53276db queryId:uint64 = TokenExcesses` -Signature: `TokenExcesses{queryId:uint64}` - -## TokenUpdateContent -TLB: `token_update_content#af1ca26a content:^cell = TokenUpdateContent` -Signature: `TokenUpdateContent{content:^cell}` - -## JettonWalletData -TLB: `_ balance:int257 owner:address master:address walletCode:^cell = JettonWalletData` -Signature: `JettonWalletData{balance:int257,owner:address,master:address,walletCode:^cell}` - -## Deploy -TLB: `deploy#946a98b6 queryId:uint64 = Deploy` -Signature: `Deploy{queryId:uint64}` - -## DeployOk -TLB: `deploy_ok#aff90f57 queryId:uint64 = DeployOk` -Signature: `DeployOk{queryId:uint64}` - -## FactoryDeploy -TLB: `factory_deploy#6d0ff13b queryId:uint64 cashback:address = FactoryDeploy` -Signature: `FactoryDeploy{queryId:uint64,cashback:address}` - -## ChangeOwner -TLB: `change_owner#819dbe99 queryId:uint64 newOwner:address = ChangeOwner` -Signature: `ChangeOwner{queryId:uint64,newOwner:address}` - -## ChangeOwnerOk -TLB: `change_owner_ok#327b2b4a queryId:uint64 newOwner:address = ChangeOwnerOk` -Signature: `ChangeOwnerOk{queryId:uint64,newOwner:address}` - -# Get Methods -Total Get Methods: 2 - -## msgValue -Argument: value - -## get_wallet_data - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -3734: Not Owner -4159: Invalid value!! -4429: Invalid sender -6898: The total supply will be overlapping. -13650: Invalid bounced message -18668: Can't Mint Anymore -42708: Invalid sender! -43422: Invalid value - Burn -62972: Invalid balance \ No newline at end of file diff --git a/src/test/bugs/output/bugs_JettonDefaultWallet.pkg b/src/test/bugs/output/bugs_JettonDefaultWallet.pkg deleted file mode 100644 index 897399f7b..000000000 --- a/src/test/bugs/output/bugs_JettonDefaultWallet.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"JettonDefaultWallet","code":"te6ccgECJAEACIUAART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVEts88uCCIAQFAgEgFhcEwAGOK4Ag1yHTH9M/MfoAMIE1UiKCEBeNRRm6kjJ/mAKCEHvdl9664hLy9BOgAn/gcCHXScIflTAg1wsf3iCCEA+KfqW6jwgw2zxsF9s8f+AgghAXjUUZuuMCghBZXwe8ugYHCAkApsj4QwHMfwHKAFUgUCOBAQHPAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UAMbTHwGCEA+KfqW68uCB0z/6APpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGR1JJtAeL6AFFmFhUUQzAEijL4QW8kgRFNU8PHBfL0VHMhI9s8RDBSRNs8oIIJycOAAaCBED8BggiYloC2CBK88vRRhKGCAPX8IcL/8vT4Q1Qgdds8XBISGQoCEDDbPGwW2zx/DA0Buo7Y0x8BghBZXwe8uvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgUQzBsFNs8f+AwcBECwnBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIUHZwgEBwLEgTUOfIVVDbPMkQVl4iEDkCEDYQNRA02zwLFACqghAXjUUZUAfLHxXLP1AD+gIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgH6AgHPFgCy0x8BghAXjUUZuvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+gBRVRUUQzAE9vhBbyRToscFs47T+ENTuNs8AYIAptQCcFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhSQMcF8vTeUcigggD1/CHC//L0JcIAlRAoNDYw4w1BhyTbPBkOIQ8BlnAqShNQlshVMIIQc2LQnFAFyx8Tyz8B+gIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WAc8WySpURTAYQzBwAW1t2zwUFRQDdBA4RlrbPCDbPP4UMFB2oVAFoSVus46dcAPIAYIQ1TJ221jLH8s/yRA2QWByECRDAG1t2zyTMDQw4lkSEBQA3sghwQCYgC0BywcBowHeIYI4Mnyyc0EZ07epqh25jiBwIHGOFAR6qQymMCWoEqAEqgcCpCHAAEUw5jAzqgLPAY4rbwBwjhEjeqkIEm+MAaQDeqkEIMAAFOYzIqUDnFMCb4GmMFjLBwKlWeQwMeLJ0AJ6W/hBbySBEU1Tg8cF8vRRhKGCAPX8IcL/8vRDMFI52zyCAKmeAYIJMS0AoIIImJaAoBK88vRwgEADf1QzZhITAGRsMfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igw+gAxcdch+gAx+gAwpwOrAAHSyFUwghB73ZfeUAXLHxPLPwH6AgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYBIG6VMHABywGOHiDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFuLJJEQUUDMUQzBtbds8FAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAVAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAhG/2BbZ5tnjYaQgGAIBIBobARj4Q1MS2zwwVGMwUjAZANoC0PQEMG0BggDYrwGAEPQPb6Hy4IcBggDYryICgBD0F8gByPQAyQHMcAHKAEADWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJAN27vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgnCd0eAD5bNgPJ/IOrJZrKITgCAUgcHQIDeKAeHwB1sm7jQ1aXBmczovL1FtZlB1c1lqTlZES0ZVSG1rcTFSWDF6NmZXTVFvRDR5bTF1VHFwMXVYM3BveW6CACE7kts8VQLbPGwxggIQAPu+7UTQ0gABgBwO1E0NQB+GPSAAGOSIEBAdcA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIQzBsE+D4KNcLCoMJuvLgiSIALPgnbxAhoYIImJaAZrYIoYIImJaAoKEBivpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBIC0QHbPCMABHAC","abi":"{\"name\":\"JettonDefaultWallet\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TokenInfo\",\"header\":null,\"fields\":[{\"name\":\"ticker\",\"type\":{\"kind\":\"simple\",\"type\":\"string\",\"optional\":false}},{\"name\":\"decimals\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"Replace\",\"header\":1384510466,\"fields\":[{\"name\":\"items\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"address\"}}]},{\"name\":\"Mint\",\"header\":4235234258,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"receiver\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"JettonData\",\"header\":null,\"fields\":[{\"name\":\"totalSupply\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mintable\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"TokenTransfer\",\"header\":260734629,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"response_destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"custom_payload\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"forward_ton_amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forward_payload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenTransferInternal\",\"header\":395134233,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"response_destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"forward_ton_amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forward_payload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenNotification\",\"header\":1935855772,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"forward_payload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenBurn\",\"header\":1499400124,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"response_destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"TokenBurnNotification\",\"header\":2078119902,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"response_destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenExcesses\",\"header\":3576854235,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"TokenUpdateContent\",\"header\":2937889386,\"fields\":[{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"JettonWalletData\",\"header\":null,\"fields\":[{\"name\":\"balance\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"master\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Deploy\",\"header\":2490013878,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"DeployOk\",\"header\":2952335191,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"FactoryDeploy\",\"header\":1829761339,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"cashback\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"ChangeOwner\",\"header\":2174598809,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"ChangeOwnerOk\",\"header\":846932810,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenTransfer\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenTransferInternal\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenBurn\"}}],\"getters\":[{\"name\":\"msgValue\",\"arguments\":[{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"get_wallet_data\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"JettonWalletData\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"3734\":{\"message\":\"Not Owner\"},\"4159\":{\"message\":\"Invalid value!!\"},\"4429\":{\"message\":\"Invalid sender\"},\"6898\":{\"message\":\"The total supply will be overlapping.\"},\"13650\":{\"message\":\"Invalid bounced message\"},\"18668\":{\"message\":\"Can't Mint Anymore\"},\"42708\":{\"message\":\"Invalid sender!\"},\"43422\":{\"message\":\"Invalid value - Burn\"},\"62972\":{\"message\":\"Invalid balance\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\",\"org.ton.jetton.wallet\"]}","init":{"kind":"direct","args":[{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECJgEACI8AAQHAAQEFobFfAgEU/wD0pBP0vPLICwMCAWIOBAIBIAwFAgEgCwYCAUgIBwB1sm7jQ1aXBmczovL1FtZlB1c1lqTlZES0ZVSG1rcTFSWDF6NmZXTVFvRDR5bTF1VHFwMXVYM3BveW6CACA3igCgkAD7vu1E0NIAAYAhO5LbPFUC2zxsMYIxgA3bu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSCcJ3R4APls2A8n8g6slmsohOAIRv9gW2ebZ42GkIw0BGPhDUxLbPDBUYzBSMCADetAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUS2zzy4IIjEA8Apsj4QwHMfwHKAFUgUCOBAQHPAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UBMABjiuAINch0x/TPzH6ADCBNVIighAXjUUZupIyf5gCghB73ZfeuuIS8vQToAJ/4HAh10nCH5UwINcLH94gghAPin6luo8IMNs8bBfbPH/gIIIQF41FGbrjAoIQWV8HvLoiGxQRAbqO2NMfAYIQWV8HvLry4IHTP/oA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIFEMwbBTbPH/gMHASAnpb+EFvJIERTVODxwXy9FGEoYIA9fwhwv/y9EMwUjnbPIIAqZ4BggkxLQCgggiYloCgErzy9HCAQAN/VDNmIRMB0shVMIIQe92X3lAFyx8Tyz8B+gIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WASBulTBwAcsBjh4g10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbiySREFFAzFEMwbW3bPB0CEDDbPGwW2zx/GhUE9vhBbyRToscFs47T+ENTuNs8AYIAptQCcFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhSQMcF8vTeUcigggD1/CHC//L0JcIAlRAoNDYw4w1BhyTbPCAZGBYDdBA4RlrbPCDbPP4UMFB2oVAFoSVus46dcAPIAYIQ1TJ221jLH8s/yRA2QWByECRDAG1t2zyTMDQw4lkhFx0A3sghwQCYgC0BywcBowHeIYI4Mnyyc0EZ07epqh25jiBwIHGOFAR6qQymMCWoEqAEqgcCpCHAAEUw5jAzqgLPAY4rbwBwjhEjeqkIEm+MAaQDeqkEIMAAFOYzIqUDnFMCb4GmMFjLBwKlWeQwMeLJ0AAs+CdvECGhggiYloBmtgihggiYloCgoQGWcCpKE1CWyFUwghBzYtCcUAXLHxPLPwH6AgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYBzxbJKlRFMBhDMHABbW3bPBQVHQCy0x8BghAXjUUZuvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+gBRVRUUQzAEijL4QW8kgRFNU8PHBfL0VHMhI9s8RDBSRNs8oIIJycOAAaCBED8BggiYloC2CBK88vRRhKGCAPX8IcL/8vT4Q1Qgdds8XCEhIBwCwnBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIUHZwgEBwLEgTUOfIVVDbPMkQVl4iEDkCEDYQNRA02zwfHQHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAeAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAKqCEBeNRRlQB8sfFcs/UAP6AgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WAfoCAc8WANoC0PQEMG0BggDYrwGAEPQPb6Hy4IcBggDYryICgBD0F8gByPQAyQHMcAHKAEADWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJAGRsMfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igw+gAxcdch+gAx+gAwpwOrAADG0x8BghAPin6luvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABkdSSbQHi+gBRZhYVFEMwAcDtRNDUAfhj0gABjkiBAQHXAPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiEMwbBPg+CjXCwqDCbry4IkkAYr6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSAtEB2zwlAARwAmtxsYg="}},"sources":{"src\\test\\bugs\\issue42.tact":"aW1wb3J0ICJAc3RkbGliL2RlcGxveSI7DQoNCnN0cnVjdCBUb2tlbkluZm8gew0KICAgIHRpY2tlcjogU3RyaW5nOw0KICAgIGRlY2ltYWxzOiBJbnQ7IC8vIGFzIHVpbnQ4OyAvLyA8LS0tLS0tIElTU1VFIEhFUkUsIElGIFdFIFJFTU9WRSAiYXMgdWludDgiLCBUSEUgQ09ERSBDT01QSUxFUyBXSVRIT1VUIFBST0JMRU0NCn0NCg0KLy8gbWVzc2FnZXMgY2FuIGNvbnRhaW4gbWFwcw0KbWVzc2FnZSBSZXBsYWNlIHsNCiAgICBpdGVtczogbWFwPEludCwgQWRkcmVzcz47DQp9DQoNCmNvbnRyYWN0IE1hcHMgd2l0aCBEZXBsb3lhYmxlIHsNCg0KICAgIC8vIG1hcHMgd2l0aCBJbnQgYXMga2V5DQogICAgbWkxOiBtYXA8SW50LCBUb2tlbkluZm8+Ow0KICAgIG1pMjogbWFwPEludCwgQm9vbD47DQogICAgbWkzOiBtYXA8SW50LCBJbnQ+Ow0KICAgIG1pNDogbWFwPEludCwgQWRkcmVzcz47DQogICAgDQogICAgLy8gbWFwcyB3aXRoIEFkZHJlc3MgYXMga2V5DQogICAgbWExOiBtYXA8QWRkcmVzcywgVG9rZW5JbmZvPjsNCiAgICBtYTI6IG1hcDxBZGRyZXNzLCBCb29sPjsNCiAgICBtYTM6IG1hcDxBZGRyZXNzLCBJbnQ+Ow0KICAgIG1hNDogbWFwPEFkZHJlc3MsIEFkZHJlc3M+Ow0KDQogICAgaW5pdChhcmc6IG1hcDxJbnQsIEJvb2w+KSB7DQogICAgICAgIC8vIG5vIG5lZWQgdG8gaW5pdGlhbGl6ZSBtYXBzIGlmIHRoZXkncmUgZW1wdHkNCiAgICAgICAgc2VsZi5taTIgPSBhcmc7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgic2V0IGtleXMiKSB7DQogICAgICAgIC8vIGtleXMgYXJlIEludA0KICAgICAgICBzZWxmLm1pMS5zZXQoMTcsIFRva2VuSW5mb3t0aWNrZXI6ICJTSElCIiwgZGVjaW1hbHM6IDl9KTsNCiAgICAgICAgc2VsZi5taTIuc2V0KDB4OTM3NzQzM2ZmMjE4MzIsIHRydWUpOw0KICAgICAgICBzZWxmLm1pMy5zZXQocG93KDIsMjQwKSwgcG93KDIsMjMwKSk7DQogICAgICAgIHNlbGYubWk0LnNldCgtOTAwLCBhZGRyZXNzKCJFUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFCMk4iKSk7DQogICAgICAgIC8vIGtleXMgYXJlIEFkZHJlc3MNCiAgICAgICAgc2VsZi5tYTEuc2V0KGFkZHJlc3MoIkVRQ0QzOVZTNWpjcHRITDh2TWpFWHJ6R2FSY0NWWXRvN0hVbjRicEFPZzh4cUIyTiIpLCBUb2tlbkluZm97dGlja2VyOiAiRE9HRSIsIGRlY2ltYWxzOiAxOH0pOw0KICAgICAgICBzZWxmLm1hMi5zZXQoYWRkcmVzcygiVVFDRDM5VlM1amNwdEhMOHZNakVYcnpHYVJjQ1ZZdG83SFVuNGJwQU9nOHhxRUJJIiksIHRydWUpOw0KICAgICAgICBzZWxmLm1hMy5zZXQoYWRkcmVzcygiRVFDRDM5VlM1amNwdEhMOHZNakVYcnpHYVJjQ1ZZdG83SFVuNGJwQU9nOHhxQjJOIiksIHRvbigiMS4yMyIpKTsNCiAgICAgICAgc2VsZi5tYTQuc2V0KGFkZHJlc3MoIlVRQ0QzOVZTNWpjcHRITDh2TWpFWHJ6R2FSY0NWWXRvN0hVbjRicEFPZzh4cUVCSSIpLCBteUFkZHJlc3MoKSk7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgiZGVsZXRlIGtleXMiKSB7DQogICAgICAgIC8vIGtleXMgYXJlIEludA0KICAgICAgICBzZWxmLm1pMS5zZXQoMTcsIG51bGwpOw0KICAgICAgICBzZWxmLm1pMi5zZXQoMHg5Mzc3NDMzZmYyMTgzMiwgbnVsbCk7DQogICAgICAgIHNlbGYubWkzLnNldChwb3coMiwyNDApLCBudWxsKTsNCiAgICAgICAgc2VsZi5taTQuc2V0KC05MDAsIG51bGwpOw0KICAgICAgICAvLyBrZXlzIGFyZSBBZGRyZXNzDQogICAgICAgIHNlbGYubWExLnNldChhZGRyZXNzKCJFUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFCMk4iKSwgbnVsbCk7DQogICAgICAgIHNlbGYubWEyLnNldChhZGRyZXNzKCJVUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFFQkkiKSwgbnVsbCk7DQogICAgICAgIHNlbGYubWEzLnNldChhZGRyZXNzKCJFUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFCMk4iKSwgbnVsbCk7DQogICAgICAgIHNlbGYubWE0LnNldChhZGRyZXNzKCJVUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFFQkkiKSwgbnVsbCk7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgiY2xlYXIiKSB7DQogICAgICAgIHNlbGYubWkxID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5taTIgPSBlbXB0eU1hcCgpOw0KICAgICAgICBzZWxmLm1pMyA9IGVtcHR5TWFwKCk7DQogICAgICAgIHNlbGYubWk0ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5tYTEgPSBlbXB0eU1hcCgpOw0KICAgICAgICBzZWxmLm1hMiA9IGVtcHR5TWFwKCk7DQogICAgICAgIHNlbGYubWEzID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5tYTQgPSBlbXB0eU1hcCgpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBSZXBsYWNlKSB7DQogICAgICAgIC8vIHJlcGxhY2UgYWxsIGl0ZW1zIGluIHRoZSBtYXAgd2l0aCB0aG9zZSBjb21pbmcgaW4gdGhlIG1lc3NhZ2UNCiAgICAgICAgc2VsZi5taTQgPSBtc2cuaXRlbXM7DQogICAgfQ0KDQogICAgLy8gaWYgdGhlIGtleSBpcyBub3QgZm91bmQsIHRoZSBnZXQoKSBtZXRob2QgcmV0dXJucyBudWxsDQogICAgZ2V0IGZ1biBvbmVJdGVtKGtleTogSW50KTogQWRkcmVzcz8gew0KICAgICAgICByZXR1cm4gc2VsZi5taTQuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpdGVtQ2hlY2soKTogU3RyaW5nIHsNCiAgICAgICAgaWYgKHNlbGYubWkxLmdldCgxNykgPT0gbnVsbCkgew0KICAgICAgICAgICAgcmV0dXJuICJub3QgZm91bmQiOw0KICAgICAgICB9DQogICAgICAgIGxldCBpdGVtOiBUb2tlbkluZm8gPSBzZWxmLm1pMS5nZXQoMTcpISE7IC8vIHRoZSAhISB3aWxsIHRlbGwgdGhlIGNvbXBpbGVyIGl0J3Mgbm90IG51bGwNCiAgICAgICAgcmV0dXJuIGl0ZW0udGlja2VyOw0KICAgIH0NCg0KICAgIC8vIHlvdSBjYW4gcmV0dXJuIG1hcHMgZnJvbSBnZXR0ZXJzDQogICAgZ2V0IGZ1biBhbGxJdGVtcygpOiBtYXA8QWRkcmVzcywgVG9rZW5JbmZvPiB7DQogICAgICAgIHJldHVybiBzZWxmLm1hMTsNCiAgICB9DQp9DQo=","src\\test\\bugs\\issue43.tact":"aW1wb3J0ICJAc3RkbGliL293bmFibGUiOw0KDQptZXNzYWdlIE1pbnQgew0KICAgIGFtb3VudDogSW50Ow0KICAgIHJlY2VpdmVyOiBBZGRyZXNzOw0KfQ0KDQpzdHJ1Y3QgSmV0dG9uRGF0YSB7DQogICAgdG90YWxTdXBwbHk6IEludDsNCiAgICBtaW50YWJsZTogQm9vbDsNCiAgICBvd25lcjogQWRkcmVzczsNCiAgICBjb250ZW50OiBDZWxsOw0KICAgIHdhbGxldENvZGU6IENlbGw7DQp9DQoNCmNvbnRyYWN0IFNhbXBsZUpldHRvbiB3aXRoIEpldHRvbiB7DQogICAgdG90YWxTdXBwbHk6IEludCBhcyBjb2luczsNCiAgICBtYXhfc3VwcGx5OiBJbnQgYXMgY29pbnM7DQogICAgb3duZXI6IEFkZHJlc3M7DQogICAgY29udGVudDogQ2VsbDsNCiAgICBtaW50YWJsZTogQm9vbDsNCg0KICAgIGluaXQob3duZXI6IEFkZHJlc3MsIGNvbnRlbnQ6IENlbGwsIG1heF9zdXBwbHk6IEludCkgew0KICAgICAgICBzZWxmLnRvdGFsU3VwcGx5ID0gMDsNCiAgICAgICAgc2VsZi5tYXhfc3VwcGx5ID0gbWF4X3N1cHBseTsNCiAgICAgICAgc2VsZi5vd25lciA9IG93bmVyOw0KICAgICAgICBzZWxmLm1pbnRhYmxlID0gdHJ1ZTsNCiAgICAgICAgc2VsZi5jb250ZW50ID0gY29udGVudDsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogTWludCkgew0KICAgICAgICBsZXQgY3R4OiBDb250ZXh0ID0gY29udGV4dCgpOw0KICAgICAgICByZXF1aXJlKGN0eC5zZW5kZXIgPT0gc2VsZi5vd25lciwgIk5vdCBPd25lciIpOw0KICAgICAgICByZXF1aXJlKHNlbGYubWludGFibGUsICJDYW4ndCBNaW50IEFueW1vcmUiKTsNCiAgICAgICAgc2VsZi5taW50KG1zZy5yZWNlaXZlciwgbXNnLmFtb3VudCwgc2VsZi5vd25lcik7IC8vKHRvLCBhbW91bnQsIHJlc3BvbnNlX2Rlc3RpbmF0aW9uKQ0KICAgIH0NCg0KICAgIHJlY2VpdmUoIk1pbnQ6IDEwMCIpIHsgLy8gUHVibGljIE1pbnRpbmcNCiAgICAgICAgbGV0IGN0eDogQ29udGV4dCA9IGNvbnRleHQoKTsNCiAgICAgICAgcmVxdWlyZShzZWxmLm1pbnRhYmxlLCAiQ2FuJ3QgTWludCBBbnltb3JlIik7DQogICAgICAgIHNlbGYubWludChjdHguc2VuZGVyLCAxMDAsIHNlbGYub3duZXIpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoIk93bmVyOiBNaW50Q2xvc2UiKSB7DQogICAgICAgIGxldCBjdHg6IENvbnRleHQgPSBjb250ZXh0KCk7DQogICAgICAgIHJlcXVpcmUoY3R4LnNlbmRlciA9PSBzZWxmLm93bmVyLCAiTm90IE93bmVyIik7DQogICAgICAgIHNlbGYubWludGFibGUgPSBmYWxzZTsNCiAgICB9DQp9IA0KDQovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy8NCkBpbnRlcmZhY2UoIm9yZy50b24uamV0dG9uLm1hc3RlciIpDQp0cmFpdCBKZXR0b24gd2l0aCBPd25hYmxlIHsNCiAgICB0b3RhbFN1cHBseTogSW50OyAvLyBBbHJlYWR5IHNldCBpbml0aWFsbHkgDQogICAgbWF4X3N1cHBseTogSW50Ow0KICAgIG1pbnRhYmxlOiBCb29sOw0KICAgIG93bmVyOiBBZGRyZXNzOw0KICAgIGNvbnRlbnQ6IENlbGw7DQoNCiAgICByZWNlaXZlKG1zZzogVG9rZW5VcGRhdGVDb250ZW50KSB7DQogICAgICAgIHNlbGYucmVxdWlyZU93bmVyKCk7ICAgICAgICAgICAgICAgIC8vIEFsbG93IGNoYW5naW5nIGNvbnRlbnQgb25seSBieSBvd25lcg0KICAgICAgICBzZWxmLmNvbnRlbnQgPSBtc2cuY29udGVudDsgICAgICAgICAvLyBVcGRhdGUgY29udGVudA0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBUb2tlbkJ1cm5Ob3RpZmljYXRpb24pIHsNCiAgICAgICAgc2VsZi5yZXF1aXJlV2FsbGV0KG1zZy5vd25lcik7ICAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2FsbGV0DQogICAgICAgIHNlbGYudG90YWxTdXBwbHkgPSBzZWxmLnRvdGFsU3VwcGx5IC0gbXNnLmFtb3VudDsgLy8gVXBkYXRlIHN1cHBseQ0KDQogICAgICAgIGlmIChtc2cucmVzcG9uc2VfZGVzdGluYXRpb24gIT0gbnVsbCkgeyAvLyBDYXNoYmFjaw0KICAgICAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgICAgICB0bzogbXNnLnJlc3BvbnNlX2Rlc3RpbmF0aW9uISEsIA0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgIGJvdW5jZTogZmFsc2UsDQogICAgICAgICAgICAgICAgbW9kZTogU2VuZFJlbWFpbmluZ1ZhbHVlICsgU2VuZElnbm9yZUVycm9ycywNCiAgICAgICAgICAgICAgICBib2R5OiBUb2tlbkV4Y2Vzc2Vzew0KICAgICAgICAgICAgICAgICAgICBxdWVyeUlkOiBtc2cucXVlcnlJZA0KICAgICAgICAgICAgICAgIH0udG9DZWxsKCkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgLy8gUHJpdmF0ZSBNZXRob2RzIC8vIA0KICAgIC8vIEB0byBUaGUgQWRkcmVzcyByZWNlaXZlIHRoZSBKZXR0b24gdG9rZW4gYWZ0ZXIgbWludGluZw0KICAgIC8vIEBhbW91bnQgVGhlIGFtb3VudCBvZiBKZXR0b24gdG9rZW4gYmVpbmcgbWludGVkDQogICAgLy8gQHJlc3BvbnNlX2Rlc3RpbmF0aW9uIFRoZSBwcmV2aW91cyBvd25lciBhZGRyZXNzDQogICAgZnVuIG1pbnQodG86IEFkZHJlc3MsIGFtb3VudDogSW50LCByZXNwb25zZV9kZXN0aW5hdGlvbjogQWRkcmVzcykgew0KDQogICAgICAgIHJlcXVpcmUoc2VsZi50b3RhbFN1cHBseSArIGFtb3VudCA8PSBzZWxmLm1heF9zdXBwbHksICJUaGUgdG90YWwgc3VwcGx5IHdpbGwgYmUgb3ZlcmxhcHBpbmcuIik7DQogICAgICAgIHNlbGYudG90YWxTdXBwbHkgPSBzZWxmLnRvdGFsU3VwcGx5ICsgYW1vdW50OyAvLyBVcGRhdGUgdG90YWwgc3VwcGx5DQoNCiAgICAgICAgbGV0IHdpbml0OiBTdGF0ZUluaXQgPSBzZWxmLmdldEpldHRvbldhbGxldEluaXQodG8pOyAvLyBDcmVhdGUgbWVzc2FnZQ0KICAgICAgICBzZW5kKFNlbmRQYXJhbWV0ZXJzew0KICAgICAgICAgICAgdG86IGNvbnRyYWN0QWRkcmVzcyh3aW5pdCksIA0KICAgICAgICAgICAgdmFsdWU6IDAsIA0KICAgICAgICAgICAgYm91bmNlOiBmYWxzZSwNCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSwNCiAgICAgICAgICAgIGJvZHk6IFRva2VuVHJhbnNmZXJJbnRlcm5hbHsgDQogICAgICAgICAgICAgICAgcXVlcnlJZDogMCwNCiAgICAgICAgICAgICAgICBhbW91bnQ6IGFtb3VudCwNCiAgICAgICAgICAgICAgICBmcm9tOiBteUFkZHJlc3MoKSwNCiAgICAgICAgICAgICAgICByZXNwb25zZV9kZXN0aW5hdGlvbjogcmVzcG9uc2VfZGVzdGluYXRpb24sDQogICAgICAgICAgICAgICAgZm9yd2FyZF90b25fYW1vdW50OiAwLA0KICAgICAgICAgICAgICAgIGZvcndhcmRfcGF5bG9hZDogZW1wdHlTbGljZSgpDQogICAgICAgICAgICB9LnRvQ2VsbCgpLA0KICAgICAgICAgICAgY29kZTogd2luaXQuY29kZSwNCiAgICAgICAgICAgIGRhdGE6IHdpbml0LmRhdGENCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgZnVuIHJlcXVpcmVXYWxsZXQob3duZXI6IEFkZHJlc3MpIHsNCiAgICAgICAgbGV0IGN0eDogQ29udGV4dCA9IGNvbnRleHQoKTsNCiAgICAgICAgbGV0IHdpbml0OiBTdGF0ZUluaXQgPSBzZWxmLmdldEpldHRvbldhbGxldEluaXQob3duZXIpOw0KICAgICAgICByZXF1aXJlKGNvbnRyYWN0QWRkcmVzcyh3aW5pdCkgPT0gY3R4LnNlbmRlciwgIkludmFsaWQgc2VuZGVyIik7DQogICAgfQ0KDQogICAgdmlydHVhbCBmdW4gZ2V0SmV0dG9uV2FsbGV0SW5pdChhZGRyZXNzOiBBZGRyZXNzKTogU3RhdGVJbml0IHsNCiAgICAgICAgcmV0dXJuIGluaXRPZiBKZXR0b25EZWZhdWx0V2FsbGV0KG15QWRkcmVzcygpLCBhZGRyZXNzKTsNCiAgICB9DQoNCiAgICAvLyBHZXQgTWV0aG9kcyAvLw0KICAgIGdldCBmdW4gZ2V0X2pldHRvbl9kYXRhKCk6IEpldHRvbkRhdGEgew0KICAgICAgICBsZXQgY29kZTogQ2VsbCA9IHNlbGYuZ2V0SmV0dG9uV2FsbGV0SW5pdChteUFkZHJlc3MoKSkuY29kZTsNCiAgICAgICAgcmV0dXJuIEpldHRvbkRhdGF7IA0KICAgICAgICAgICAgdG90YWxTdXBwbHk6IHNlbGYudG90YWxTdXBwbHksIA0KICAgICAgICAgICAgbWludGFibGU6IHNlbGYubWludGFibGUsIA0KICAgICAgICAgICAgb3duZXI6IHNlbGYub3duZXIsIA0KICAgICAgICAgICAgY29udGVudDogc2VsZi5jb250ZW50LCANCiAgICAgICAgICAgIHdhbGxldENvZGU6IGNvZGUNCiAgICAgICAgfTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGdldF93YWxsZXRfYWRkcmVzcyhvd25lcjogQWRkcmVzcyk6IEFkZHJlc3Mgew0KICAgICAgICBsZXQgd2luaXQ6IFN0YXRlSW5pdCA9IHNlbGYuZ2V0SmV0dG9uV2FsbGV0SW5pdChvd25lcik7DQogICAgICAgIHJldHVybiBjb250cmFjdEFkZHJlc3Mod2luaXQpOw0KICAgIH0NCn0NCg0KDQptZXNzYWdlKDB4ZjhhN2VhNSkgVG9rZW5UcmFuc2ZlciB7DQogICAgcXVlcnlJZDogSW50IGFzIHVpbnQ2NDsNCiAgICBhbW91bnQ6IEludCBhcyBjb2luczsNCiAgICBkZXN0aW5hdGlvbjogQWRkcmVzczsNCiAgICByZXNwb25zZV9kZXN0aW5hdGlvbjogQWRkcmVzczsNCiAgICBjdXN0b21fcGF5bG9hZDogQ2VsbD87DQogICAgZm9yd2FyZF90b25fYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgZm9yd2FyZF9wYXlsb2FkOiBTbGljZSBhcyByZW1haW5pbmc7DQp9DQoNCm1lc3NhZ2UoMHgxNzhkNDUxOSkgVG9rZW5UcmFuc2ZlckludGVybmFsIHsNCiAgICBxdWVyeUlkOiBJbnQgYXMgdWludDY0Ow0KICAgIGFtb3VudDogSW50IGFzIGNvaW5zOw0KICAgIGZyb206IEFkZHJlc3M7DQogICAgcmVzcG9uc2VfZGVzdGluYXRpb246IEFkZHJlc3M7DQogICAgZm9yd2FyZF90b25fYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgZm9yd2FyZF9wYXlsb2FkOiBTbGljZSBhcyByZW1haW5pbmc7DQp9DQoNCm1lc3NhZ2UoMHg3MzYyZDA5YykgVG9rZW5Ob3RpZmljYXRpb24gew0KICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7DQogICAgYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgZnJvbTogQWRkcmVzczsNCiAgICBmb3J3YXJkX3BheWxvYWQ6IFNsaWNlIGFzIHJlbWFpbmluZzsgLy8gQ29tbWVudCBUZXh0IG1lc3NhZ2Ugd2hlbiBUcmFuc2ZlciB0aGUgamV0dG9uIA0KfQ0KDQptZXNzYWdlKDB4NTk1ZjA3YmMpIFRva2VuQnVybiB7DQogICAgcXVlcnlJZDogSW50IGFzIHVpbnQ2NDsNCiAgICBhbW91bnQ6IEludCBhcyBjb2luczsNCiAgICBvd25lcjogQWRkcmVzczsNCiAgICByZXNwb25zZV9kZXN0aW5hdGlvbjogQWRkcmVzczsNCn0NCg0KbWVzc2FnZSgweDdiZGQ5N2RlKSBUb2tlbkJ1cm5Ob3RpZmljYXRpb24gew0KICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7DQogICAgYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgb3duZXI6IEFkZHJlc3M7DQogICAgcmVzcG9uc2VfZGVzdGluYXRpb246IEFkZHJlc3M/Ow0KfQ0KDQptZXNzYWdlKDB4ZDUzMjc2ZGIpIFRva2VuRXhjZXNzZXMgew0KICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7DQp9DQoNCm1lc3NhZ2UgVG9rZW5VcGRhdGVDb250ZW50IHsNCiAgICBjb250ZW50OiBDZWxsOw0KfQ0KDQoNCg0KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vDQpAaW50ZXJmYWNlKCJvcmcudG9uLmpldHRvbi53YWxsZXQiKQ0KY29udHJhY3QgSmV0dG9uRGVmYXVsdFdhbGxldCB7DQogICAgY29uc3QgbWluVG9uc0ZvclN0b3JhZ2U6IEludCA9IHRvbigiMC4wMSIpOw0KICAgIGNvbnN0IGdhc0NvbnN1bXB0aW9uOiBJbnQgPSB0b24oIjAuMDEiKTsNCg0KICAgIGJhbGFuY2U6IEludDsNCiAgICBvd25lcjogQWRkcmVzczsNCiAgICBtYXN0ZXI6IEFkZHJlc3M7DQoNCiAgICBpbml0KG1hc3RlcjogQWRkcmVzcywgb3duZXI6IEFkZHJlc3MpIHsNCiAgICAgICAgc2VsZi5iYWxhbmNlID0gMDsNCiAgICAgICAgc2VsZi5vd25lciA9IG93bmVyOw0KICAgICAgICBzZWxmLm1hc3RlciA9IG1hc3RlcjsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogVG9rZW5UcmFuc2ZlcikgeyAvLyAweGY4YTdlYTUNCiAgICAgICAgbGV0IGN0eDogQ29udGV4dCA9IGNvbnRleHQoKTsgLy8gQ2hlY2sgc2VuZGVyDQogICAgICAgIHJlcXVpcmUoY3R4LnNlbmRlciA9PSBzZWxmLm93bmVyLCAiSW52YWxpZCBzZW5kZXIiKTsNCg0KICAgICAgICBsZXQgZndkRmVlOiBJbnQgPSBjdHgucmVhZEZvcndhcmRGZWUoKSArIGN0eC5yZWFkRm9yd2FyZEZlZSgpOyAgLy8gR2FzIGNoZWNrcw0KICAgICAgICBsZXQgZmluYWw6IEludCA9ICAyICogc2VsZi5nYXNDb25zdW1wdGlvbiArIHNlbGYubWluVG9uc0ZvclN0b3JhZ2UgKyBmd2RGZWU7DQogICAgICAgIHJlcXVpcmUoY3R4LnZhbHVlID4gbWluKGZpbmFsLCB0b24oIjAuMDEiKSksICJJbnZhbGlkIHZhbHVlISEiKTsgDQoNCiAgICAgICAgc2VsZi5iYWxhbmNlID0gc2VsZi5iYWxhbmNlIC0gbXNnLmFtb3VudDsgLy8gVXBkYXRlIGJhbGFuY2UNCiAgICAgICAgcmVxdWlyZShzZWxmLmJhbGFuY2UgPj0gMCwgIkludmFsaWQgYmFsYW5jZSIpOw0KDQogICAgICAgIGxldCBpbml0OiBTdGF0ZUluaXQgPSBpbml0T2YgSmV0dG9uRGVmYXVsdFdhbGxldChzZWxmLm1hc3RlciwgbXNnLmRlc3RpbmF0aW9uKTsgIA0KICAgICAgICBsZXQgd2FsbGV0QWRkcmVzczogQWRkcmVzcyA9IGNvbnRyYWN0QWRkcmVzcyhpbml0KTsNCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgICAgICB0bzogd2FsbGV0QWRkcmVzcywgDQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgbW9kZTogU2VuZFJlbWFpbmluZ1ZhbHVlLCANCiAgICAgICAgICAgICAgICBib3VuY2U6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGJvZHk6IFRva2VuVHJhbnNmZXJJbnRlcm5hbHsNCiAgICAgICAgICAgICAgICAgICAgcXVlcnlJZDogbXNnLnF1ZXJ5SWQsDQogICAgICAgICAgICAgICAgICAgIGFtb3VudDogbXNnLmFtb3VudCwNCiAgICAgICAgICAgICAgICAgICAgZnJvbTogc2VsZi5vd25lciwNCiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VfZGVzdGluYXRpb246IG1zZy5yZXNwb25zZV9kZXN0aW5hdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgZm9yd2FyZF90b25fYW1vdW50OiBtc2cuZm9yd2FyZF90b25fYW1vdW50LA0KICAgICAgICAgICAgICAgICAgICBmb3J3YXJkX3BheWxvYWQ6IG1zZy5mb3J3YXJkX3BheWxvYWQNCiAgICAgICAgICAgICAgICB9LnRvQ2VsbCgpLA0KICAgICAgICAgICAgICAgIGNvZGU6IGluaXQuY29kZSwNCiAgICAgICAgICAgICAgICBkYXRhOiBpbml0LmRhdGENCiAgICAgICAgICAgIH0pOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBUb2tlblRyYW5zZmVySW50ZXJuYWwpIHsgLy8gMHgxNzhkNDUxOQ0KICAgICAgICBsZXQgY3R4OiBDb250ZXh0ID0gY29udGV4dCgpOw0KDQogICAgICAgIGlmIChjdHguc2VuZGVyICE9IHNlbGYubWFzdGVyKSB7DQogICAgICAgICAgICBsZXQgc2luaXQ6IFN0YXRlSW5pdCA9IGluaXRPZiBKZXR0b25EZWZhdWx0V2FsbGV0KHNlbGYubWFzdGVyLCBtc2cuZnJvbSk7DQogICAgICAgICAgICByZXF1aXJlKGNvbnRyYWN0QWRkcmVzcyhzaW5pdCkgPT0gY3R4LnNlbmRlciwgIkludmFsaWQgc2VuZGVyISIpOw0KICAgICAgICB9DQoNCiAgICAgICAgc2VsZi5iYWxhbmNlID0gc2VsZi5iYWxhbmNlICsgbXNnLmFtb3VudDsNCiAgICAgICAgcmVxdWlyZShzZWxmLmJhbGFuY2UgPj0gMCwgIkludmFsaWQgYmFsYW5jZSIpOyAvLyBVcGRhdGUgYmFsYW5jZQ0KDQogICAgICAgIGlmIChtc2cuZm9yd2FyZF90b25fYW1vdW50ID4gMCkgeyANCiAgICAgICAgICAgIHNlbmQoU2VuZFBhcmFtZXRlcnN7DQogICAgICAgICAgICAgICAgdG86IHNlbGYub3duZXIsDQogICAgICAgICAgICAgICAgdmFsdWU6IG1zZy5mb3J3YXJkX3Rvbl9hbW91bnQsDQogICAgICAgICAgICAgICAgYm91bmNlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBib2R5OiBUb2tlbk5vdGlmaWNhdGlvbiB7IC8vIDB4NzM2MmQwOWMgLSBub3RpZnkgbmV3IG93bmVyDQogICAgICAgICAgICAgICAgICAgIHF1ZXJ5SWQ6IG1zZy5xdWVyeUlkLA0KICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IG1zZy5hbW91bnQsDQogICAgICAgICAgICAgICAgICAgIGZyb206IG1zZy5mcm9tLA0KICAgICAgICAgICAgICAgICAgICBmb3J3YXJkX3BheWxvYWQ6IG1zZy5mb3J3YXJkX3BheWxvYWQNCiAgICAgICAgICAgICAgICB9LnRvQ2VsbCgpDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KDQogICAgICAgIGxldCBtc2dWYWx1ZTogSW50ID0gc2VsZi5tc2dWYWx1ZShjdHgudmFsdWUpOyAgLy8gR2V0IHZhbHVlIGZvciBnYXMNCiAgICAgICAgbGV0IGZ3ZEZlZTogSW50ID0gY3R4LnJlYWRGb3J3YXJkRmVlKCk7DQogICAgICAgIGR1bXAoZndkRmVlKTsNCiAgICAgICAgbXNnVmFsdWUgPSBtc2dWYWx1ZSAtIG1zZy5mb3J3YXJkX3Rvbl9hbW91bnQgLSBmd2RGZWU7DQogICAgICAgIC8vIG1zZ1ZhbHVlID0gbXNnVmFsdWUgLSBtc2cuZm9yd2FyZF90b25fYW1vdW50IC0gbWluKGZ3ZEZlZSwgdG9uKCIwLjAxIikpOw0KICAgICAgICANCiAgICAgICAgaWYgKG1zZy5yZXNwb25zZV9kZXN0aW5hdGlvbiAhPSBudWxsKSB7IC8vIENhc2hiYWNrDQogICAgICAgICAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVycyB7DQogICAgICAgICAgICAgICAgICAgIHRvOiBtc2cucmVzcG9uc2VfZGVzdGluYXRpb24sIA0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbXNnVmFsdWUsICANCiAgICAgICAgICAgICAgICAgICAgYm91bmNlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgYm9keTogVG9rZW5FeGNlc3NlcyB7IC8vIDB4ZDUzMjc2ZGINCiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5SWQ6IG1zZy5xdWVyeUlkDQogICAgICAgICAgICAgICAgICAgIH0udG9DZWxsKCksDQogICAgICAgICAgICAgICAgICAgIG1vZGU6IFNlbmRJZ25vcmVFcnJvcnMNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGdldCBmdW4gbXNnVmFsdWUodmFsdWU6IEludCk6IEludCB7DQogICAgICAgIGxldCBtc2dWYWx1ZTogSW50ID0gdmFsdWU7DQogICAgICAgIGxldCB0b25CYWxhbmNlQmVmb3JlTXNnOiBJbnQgPSBteUJhbGFuY2UoKSAtIG1zZ1ZhbHVlOw0KICAgICAgICBsZXQgc3RvcmFnZUZlZTogSW50ID0gc2VsZi5taW5Ub25zRm9yU3RvcmFnZSAtIG1pbih0b25CYWxhbmNlQmVmb3JlTXNnLCBzZWxmLm1pblRvbnNGb3JTdG9yYWdlKTsNCiAgICAgICAgbXNnVmFsdWUgPSBtc2dWYWx1ZSAtIChzdG9yYWdlRmVlICsgc2VsZi5nYXNDb25zdW1wdGlvbik7DQogICAgICAgIHJldHVybiBtc2dWYWx1ZTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogVG9rZW5CdXJuKSB7DQogICAgICAgIGxldCBjdHg6IENvbnRleHQgPSBjb250ZXh0KCk7DQogICAgICAgIHJlcXVpcmUoY3R4LnNlbmRlciA9PSBzZWxmLm93bmVyLCAiSW52YWxpZCBzZW5kZXIiKTsgIC8vIENoZWNrIHNlbmRlcg0KDQogICAgICAgIHNlbGYuYmFsYW5jZSA9IHNlbGYuYmFsYW5jZSAtIG1zZy5hbW91bnQ7IC8vIFVwZGF0ZSBiYWxhbmNlDQogICAgICAgIHJlcXVpcmUoc2VsZi5iYWxhbmNlID49IDAsICJJbnZhbGlkIGJhbGFuY2UiKTsNCg0KICAgICAgICBsZXQgZndkRmVlOiBJbnQgPSBjdHgucmVhZEZvcndhcmRGZWUoKTsgLy8gR2FzIGNoZWNrcw0KICAgICAgICByZXF1aXJlKGN0eC52YWx1ZSA+IGZ3ZEZlZSArIDIgKiBzZWxmLmdhc0NvbnN1bXB0aW9uICsgc2VsZi5taW5Ub25zRm9yU3RvcmFnZSwgIkludmFsaWQgdmFsdWUgLSBCdXJuIik7DQoNCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sgIC8vIEJ1cm4gdG9rZW5zDQogICAgICAgICAgICB0bzogc2VsZi5tYXN0ZXIsDQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSwNCiAgICAgICAgICAgIGJvdW5jZTogdHJ1ZSwNCiAgICAgICAgICAgIGJvZHk6IFRva2VuQnVybk5vdGlmaWNhdGlvbnsNCiAgICAgICAgICAgICAgICBxdWVyeUlkOiBtc2cucXVlcnlJZCwNCiAgICAgICAgICAgICAgICBhbW91bnQ6IG1zZy5hbW91bnQsDQogICAgICAgICAgICAgICAgb3duZXI6IHNlbGYub3duZXIsDQogICAgICAgICAgICAgICAgcmVzcG9uc2VfZGVzdGluYXRpb246IHNlbGYub3duZXINCiAgICAgICAgICAgIH0udG9DZWxsKCkNCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgYm91bmNlZChtc2c6IFNsaWNlKSB7DQogICAgICAgIGxldCBvcDogSW50ID0gbXNnLmxvYWRVaW50KDMyKTsNCiAgICAgICAgbGV0IHF1ZXJ5SWQ6IEludCA9IG1zZy5sb2FkVWludCg2NCk7DQogICAgICAgIGxldCBqZXR0b25BbW91bnQ6IEludCA9IG1zZy5sb2FkQ29pbnMoKTsNCiAgICAgICAgcmVxdWlyZShvcCA9PSAweDE3OGQ0NTE5IHx8IG9wID09IDB4N2JkZDk3ZGUsICJJbnZhbGlkIGJvdW5jZWQgbWVzc2FnZSIpOw0KICAgICAgICANCiAgICAgICAgc2VsZi5iYWxhbmNlID0gc2VsZi5iYWxhbmNlICsgamV0dG9uQW1vdW50OyAvLyBVcGRhdGUgYmFsYW5jZQ0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0X3dhbGxldF9kYXRhKCk6IEpldHRvbldhbGxldERhdGEgew0KICAgICAgICByZXR1cm4gSmV0dG9uV2FsbGV0RGF0YXsNCiAgICAgICAgICAgIGJhbGFuY2U6IHNlbGYuYmFsYW5jZSwNCiAgICAgICAgICAgIG93bmVyOiBzZWxmLm93bmVyLA0KICAgICAgICAgICAgbWFzdGVyOiBzZWxmLm1hc3RlciwNCiAgICAgICAgICAgIHdhbGxldENvZGU6IChpbml0T2YgSmV0dG9uRGVmYXVsdFdhbGxldChzZWxmLm1hc3Rlciwgc2VsZi5vd25lcikpLmNvZGUNCiAgICAgICAgfTsNCiAgICB9DQp9DQoNCnN0cnVjdCBKZXR0b25XYWxsZXREYXRhIHsNCiAgICBiYWxhbmNlOiBJbnQ7DQogICAgb3duZXI6IEFkZHJlc3M7DQogICAgbWFzdGVyOiBBZGRyZXNzOw0KICAgIHdhbGxldENvZGU6IENlbGw7DQp9","src\\test\\bugs\\bugs.tact":"aW1wb3J0ICIuL2lzc3VlNDIudGFjdCI7DQppbXBvcnQgIi4vaXNzdWU0My50YWN0Ijs="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/bugs/bugs.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_JettonDefaultWallet.stdlib.fc b/src/test/bugs/output/bugs_JettonDefaultWallet.stdlib.fc deleted file mode 100644 index 8c4e5774e..000000000 --- a/src/test/bugs/output/bugs_JettonDefaultWallet.stdlib.fc +++ /dev/null @@ -1,181 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -builder __tact_store_address_opt(builder b, slice address) inline { - if (null?(address)) { - b = b.store_uint(0, 2); - return b; - } else { - return __tact_store_address(b, address); - } -} - -slice __tact_create_address(int chain, int hash) inline { - var b = begin_cell(); - b = b.store_uint(2, 2); - b = b.store_uint(0, 1); - b = b.store_int(chain, 8); - b = b.store_uint(hash, 256); - var addr = b.end_cell().begin_parse(); - return __tact_verify_address(addr); -} - -slice __tact_compute_contract_address(int chain, cell code, cell data) inline { - var b = begin_cell(); - b = b.store_uint(0, 2); - b = b.store_uint(3, 2); - b = b.store_uint(0, 1); - b = b.store_ref(code); - b = b.store_ref(data); - var hash = cell_hash(b.end_cell()); - return __tact_create_address(chain, hash); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -() __tact_debug_str(slice value) impure asm "STRDUMP" "DROP"; - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -int __tact_slice_eq_bits(slice a, slice b) inline { - return equal_slice_bits(a, b); -} - -cell __tact_dict_set_code(cell dict, int id, cell code) inline { - return udict_set_ref(dict, 16, id, code); -} - -cell __tact_dict_get_code(cell dict, int id) inline { - var (data, ok) = udict_get_ref?(dict, 16, id); - throw_unless(135, ok); - return data; -} - -slice __tact_int_to_string(int src) inline_ref { - var b = begin_cell(); - if (src < 0) { - b = b.store_uint(45, 8); - src = - src; - } - - if (src < 1000000000000000000000000000000) { - int len = 0; - int value = 0; - int mult = 1; - do { - (src, int res) = src.divmod(10); - value = value + (res + 48) * mult; - mult = mult * 256; - len = len + 1; - } until (src == 0); - - b = b.store_uint(value, len * 8); - } else { - tuple t = empty_tuple(); - int len = 0; - do { - int digit = src % 10; - t~tpush(digit); - len = len + 1; - src = src / 10; - } until (src == 0); - - int c = len - 1; - repeat(len) { - int v = t.at(c); - b = b.store_uint(v + 48, 8); - c = c - 1; - } - } - return b.end_cell().begin_parse(); -} - -slice $global_contractAddress((cell, cell) $s) impure inline { - var (($s'code, $s'data)) = $s; - return __tact_compute_contract_address(0, $s'code, $s'data); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -int $Context$_fun_readForwardFee((int, slice, int, slice) $self) impure inline_ref { - var (($self'bounced, $self'sender, $self'value, $self'raw)) = $self; - var (($self'bounced, $self'sender, $self'value, $self'raw)) = $self; - slice $sc = $self'raw; - $sc~__tact_load_address(); - $sc~load_coins(); - $sc~skip_bits(1); - $sc~load_coins(); - return (($sc~load_coins() * 3) / 2); -} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_JettonDefaultWallet.storage.fc b/src/test/bugs/output/bugs_JettonDefaultWallet.storage.fc deleted file mode 100644 index 290a4c469..000000000 --- a/src/test/bugs/output/bugs_JettonDefaultWallet.storage.fc +++ /dev/null @@ -1,255 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -_ $StateInit$_get_code((cell, cell) v) inline { - var (v'code, v'data) = v; - return v'code; -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_mode_bounce_body_code_data(slice to, int value, int mode, int bounce, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_bounce_body(slice to, int value, int bounce, cell body) inline { - return (bounce, to, value, 0, body, null(), null()); -} - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_bounce_body_mode(slice to, int value, int bounce, cell body, int mode) inline { - return (bounce, to, value, mode, body, null(), null()); -} - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_mode_bounce_body(slice to, int value, int mode, int bounce, cell body) inline { - return (bounce, to, value, mode, body, null(), null()); -} - -;; -;; Type: TokenTransfer -;; Header: 0x0f8a7ea5 -;; TLB: token_transfer#0f8a7ea5 queryId:uint64 amount:coins destination:address response_destination:address custom_payload:Maybe ^cell forward_ton_amount:coins forward_payload:remainder = TokenTransfer -;; - -(slice, ((int, int, slice, slice, cell, int, slice))) $TokenTransfer$_load(slice sc_0) inline_ref { - throw_unless(129, sc_0~load_uint(32) == 260734629); - var v'queryId = sc_0~load_uint(64); - var v'amount = sc_0~load_coins(); - var v'destination = sc_0~__tact_load_address(); - var v'response_destination = sc_0~__tact_load_address(); - var v'custom_payload = sc_0~load_int(1) ? sc_0~load_ref() : null(); - var v'forward_ton_amount = sc_0~load_coins(); - var v'forward_payload = sc_0; - return (sc_0, (v'queryId, v'amount, v'destination, v'response_destination, v'custom_payload, v'forward_ton_amount, v'forward_payload)); -} - -;; -;; Type: TokenTransferInternal -;; Header: 0x178d4519 -;; TLB: token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address response_destination:address forward_ton_amount:coins forward_payload:remainder = TokenTransferInternal -;; - -builder $TokenTransferInternal$_store(builder build_0, (int, int, slice, slice, int, slice) v) inline_ref { - var (v'queryId, v'amount, v'from, v'response_destination, v'forward_ton_amount, v'forward_payload) = v; - build_0 = store_uint(build_0, 395134233, 32); - build_0 = build_0.store_uint(v'queryId, 64); - build_0 = build_0.store_coins(v'amount); - build_0 = __tact_store_address(build_0, v'from); - build_0 = __tact_store_address(build_0, v'response_destination); - build_0 = build_0.store_coins(v'forward_ton_amount); - build_0 = build_0.store_slice(v'forward_payload); - return build_0; -} - -cell $TokenTransferInternal$_store_cell((int, int, slice, slice, int, slice) v) inline { - return $TokenTransferInternal$_store(begin_cell(), v).end_cell(); -} - -(slice, ((int, int, slice, slice, int, slice))) $TokenTransferInternal$_load(slice sc_0) inline_ref { - throw_unless(129, sc_0~load_uint(32) == 395134233); - var v'queryId = sc_0~load_uint(64); - var v'amount = sc_0~load_coins(); - var v'from = sc_0~__tact_load_address(); - var v'response_destination = sc_0~__tact_load_address(); - var v'forward_ton_amount = sc_0~load_coins(); - var v'forward_payload = sc_0; - return (sc_0, (v'queryId, v'amount, v'from, v'response_destination, v'forward_ton_amount, v'forward_payload)); -} - -((int, int, slice, slice, int, slice)) $TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload(int queryId, int amount, slice from, slice response_destination, int forward_ton_amount, slice forward_payload) inline { - return (queryId, amount, from, response_destination, forward_ton_amount, forward_payload); -} - -;; -;; Type: TokenNotification -;; Header: 0x7362d09c -;; TLB: token_notification#7362d09c queryId:uint64 amount:coins from:address forward_payload:remainder = TokenNotification -;; - -builder $TokenNotification$_store(builder build_0, (int, int, slice, slice) v) inline { - var (v'queryId, v'amount, v'from, v'forward_payload) = v; - build_0 = store_uint(build_0, 1935855772, 32); - build_0 = build_0.store_uint(v'queryId, 64); - build_0 = build_0.store_coins(v'amount); - build_0 = __tact_store_address(build_0, v'from); - build_0 = build_0.store_slice(v'forward_payload); - return build_0; -} - -cell $TokenNotification$_store_cell((int, int, slice, slice) v) inline { - return $TokenNotification$_store(begin_cell(), v).end_cell(); -} - -((int, int, slice, slice)) $TokenNotification$_constructor_queryId_amount_from_forward_payload(int queryId, int amount, slice from, slice forward_payload) inline { - return (queryId, amount, from, forward_payload); -} - -;; -;; Type: TokenBurn -;; Header: 0x595f07bc -;; TLB: token_burn#595f07bc queryId:uint64 amount:coins owner:address response_destination:address = TokenBurn -;; - -(slice, ((int, int, slice, slice))) $TokenBurn$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1499400124); - var v'queryId = sc_0~load_uint(64); - var v'amount = sc_0~load_coins(); - var v'owner = sc_0~__tact_load_address(); - var v'response_destination = sc_0~__tact_load_address(); - return (sc_0, (v'queryId, v'amount, v'owner, v'response_destination)); -} - -;; -;; Type: TokenBurnNotification -;; Header: 0x7bdd97de -;; TLB: token_burn_notification#7bdd97de queryId:uint64 amount:coins owner:address response_destination:Maybe address = TokenBurnNotification -;; - -builder $TokenBurnNotification$_store(builder build_0, (int, int, slice, slice) v) inline { - var (v'queryId, v'amount, v'owner, v'response_destination) = v; - build_0 = store_uint(build_0, 2078119902, 32); - build_0 = build_0.store_uint(v'queryId, 64); - build_0 = build_0.store_coins(v'amount); - build_0 = __tact_store_address(build_0, v'owner); - build_0 = __tact_store_address_opt(build_0, v'response_destination); - return build_0; -} - -cell $TokenBurnNotification$_store_cell((int, int, slice, slice) v) inline { - return $TokenBurnNotification$_store(begin_cell(), v).end_cell(); -} - -((int, int, slice, slice)) $TokenBurnNotification$_constructor_queryId_amount_owner_response_destination(int queryId, int amount, slice owner, slice response_destination) inline { - return (queryId, amount, owner, response_destination); -} - -;; -;; Type: TokenExcesses -;; Header: 0xd53276db -;; TLB: token_excesses#d53276db queryId:uint64 = TokenExcesses -;; - -builder $TokenExcesses$_store(builder build_0, (int) v) inline { - var (v'queryId) = v; - build_0 = store_uint(build_0, 3576854235, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell $TokenExcesses$_store_cell((int) v) inline { - return $TokenExcesses$_store(begin_cell(), v).end_cell(); -} - -((int)) $TokenExcesses$_constructor_queryId(int queryId) inline { - return (queryId); -} - -;; -;; Type: JettonWalletData -;; TLB: _ balance:int257 owner:address master:address walletCode:^cell = JettonWalletData -;; - -(int, slice, slice, cell) $JettonWalletData$_to_external(((int, slice, slice, cell)) v) inline { - var (v'balance, v'owner, v'master, v'walletCode) = v; - return (v'balance, v'owner, v'master, v'walletCode); -} - -((int, slice, slice, cell)) $JettonWalletData$_constructor_balance_owner_master_walletCode(int balance, slice owner, slice master, cell walletCode) inline { - return (balance, owner, master, walletCode); -} - -;; -;; Type: JettonDefaultWallet -;; - -builder $JettonDefaultWallet$_store(builder build_0, (int, slice, slice) v) inline { - var (v'balance, v'owner, v'master) = v; - build_0 = build_0.store_int(v'balance, 257); - build_0 = __tact_store_address(build_0, v'owner); - build_0 = __tact_store_address(build_0, v'master); - return build_0; -} - -(slice, ((int, slice, slice))) $JettonDefaultWallet$_load(slice sc_0) inline { - var v'balance = sc_0~load_int(257); - var v'owner = sc_0~__tact_load_address(); - var v'master = sc_0~__tact_load_address(); - return (sc_0, (v'balance, v'owner, v'master)); -} - -builder $JettonDefaultWallet$init$_store(builder build_0, (slice, slice) v) inline { - var (v'master, v'owner) = v; - build_0 = __tact_store_address(build_0, v'master); - build_0 = __tact_store_address(build_0, v'owner); - return build_0; -} - -(slice, ((slice, slice))) $JettonDefaultWallet$init$_load(slice sc_0) inline { - var v'master = sc_0~__tact_load_address(); - var v'owner = sc_0~__tact_load_address(); - return (sc_0, (v'master, v'owner)); -} - -(int, slice, slice) $JettonDefaultWallet$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$JettonDefaultWallet$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (slice master, slice owner) = $sc~$JettonDefaultWallet$init$_load(); - $sc.end_parse(); - return $JettonDefaultWallet$_contract_init(master, owner); - } -} - -() $JettonDefaultWallet$_contract_store((int, slice, slice) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $JettonDefaultWallet$_store(b, v); - set_data(b.end_cell()); -} - -(cell, cell) $JettonDefaultWallet$_init_child(cell sys', slice $master, slice $owner) inline_ref { - slice sc' = sys'.begin_parse(); - cell source = sc'~load_dict(); - cell contracts = new_dict(); - - ;; Contract Code: JettonDefaultWallet - cell mine = __tact_dict_get_code(source, 55471); - contracts = __tact_dict_set_code(contracts, 55471, mine); - - ;; Build cell - builder b = begin_cell(); - b = b.store_ref(begin_cell().store_dict(contracts).end_cell()); - b = b.store_int(false, 1); - b = $JettonDefaultWallet$init$_store(b, ($master, $owner)); - return (mine, b.end_cell()); -} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_JettonDefaultWallet.ts b/src/test/bugs/output/bugs_JettonDefaultWallet.ts deleted file mode 100644 index 3fab5b69d..000000000 --- a/src/test/bugs/output/bugs_JettonDefaultWallet.ts +++ /dev/null @@ -1,1219 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type TokenInfo = { - $$type: 'TokenInfo'; - ticker: string; - decimals: bigint; -} - -export function storeTokenInfo(src: TokenInfo) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeStringRefTail(src.ticker); - b_0.storeInt(src.decimals, 257); - }; -} - -export function loadTokenInfo(slice: Slice) { - let sc_0 = slice; - let _ticker = sc_0.loadStringRefTail(); - let _decimals = sc_0.loadIntBig(257); - return { $$type: 'TokenInfo' as const, ticker: _ticker, decimals: _decimals }; -} - -function loadTupleTokenInfo(source: TupleReader) { - let _ticker = source.readString(); - let _decimals = source.readBigNumber(); - return { $$type: 'TokenInfo' as const, ticker: _ticker, decimals: _decimals }; -} - -function storeTupleTokenInfo(source: TokenInfo) { - let builder = new TupleBuilder(); - builder.writeString(source.ticker); - builder.writeNumber(source.decimals); - return builder.build(); -} - -function dictValueParserTokenInfo(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenInfo(src)).endCell()); - }, - parse: (src) => { - return loadTokenInfo(src.loadRef().beginParse()); - } - } -} - -export type Replace = { - $$type: 'Replace'; - items: Dictionary; -} - -export function storeReplace(src: Replace) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1384510466, 32); - b_0.storeDict(src.items, Dictionary.Keys.BigInt(257), Dictionary.Values.Address()); - }; -} - -export function loadReplace(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1384510466) { throw Error('Invalid prefix'); } - let _items = Dictionary.load(Dictionary.Keys.BigInt(257), Dictionary.Values.Address(), sc_0); - return { $$type: 'Replace' as const, items: _items }; -} - -function loadTupleReplace(source: TupleReader) { - let _items = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Address(), source.readCellOpt()); - return { $$type: 'Replace' as const, items: _items }; -} - -function storeTupleReplace(source: Replace) { - let builder = new TupleBuilder(); - builder.writeCell(source.items.size > 0 ? beginCell().storeDictDirect(source.items, Dictionary.Keys.BigInt(257), Dictionary.Values.Address()).endCell() : null); - return builder.build(); -} - -function dictValueParserReplace(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeReplace(src)).endCell()); - }, - parse: (src) => { - return loadReplace(src.loadRef().beginParse()); - } - } -} - -export type Mint = { - $$type: 'Mint'; - amount: bigint; - receiver: Address; -} - -export function storeMint(src: Mint) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(4235234258, 32); - b_0.storeInt(src.amount, 257); - b_0.storeAddress(src.receiver); - }; -} - -export function loadMint(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 4235234258) { throw Error('Invalid prefix'); } - let _amount = sc_0.loadIntBig(257); - let _receiver = sc_0.loadAddress(); - return { $$type: 'Mint' as const, amount: _amount, receiver: _receiver }; -} - -function loadTupleMint(source: TupleReader) { - let _amount = source.readBigNumber(); - let _receiver = source.readAddress(); - return { $$type: 'Mint' as const, amount: _amount, receiver: _receiver }; -} - -function storeTupleMint(source: Mint) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - builder.writeAddress(source.receiver); - return builder.build(); -} - -function dictValueParserMint(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeMint(src)).endCell()); - }, - parse: (src) => { - return loadMint(src.loadRef().beginParse()); - } - } -} - -export type JettonData = { - $$type: 'JettonData'; - totalSupply: bigint; - mintable: boolean; - owner: Address; - content: Cell; - walletCode: Cell; -} - -export function storeJettonData(src: JettonData) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.totalSupply, 257); - b_0.storeBit(src.mintable); - b_0.storeAddress(src.owner); - b_0.storeRef(src.content); - b_0.storeRef(src.walletCode); - }; -} - -export function loadJettonData(slice: Slice) { - let sc_0 = slice; - let _totalSupply = sc_0.loadIntBig(257); - let _mintable = sc_0.loadBit(); - let _owner = sc_0.loadAddress(); - let _content = sc_0.loadRef(); - let _walletCode = sc_0.loadRef(); - return { $$type: 'JettonData' as const, totalSupply: _totalSupply, mintable: _mintable, owner: _owner, content: _content, walletCode: _walletCode }; -} - -function loadTupleJettonData(source: TupleReader) { - let _totalSupply = source.readBigNumber(); - let _mintable = source.readBoolean(); - let _owner = source.readAddress(); - let _content = source.readCell(); - let _walletCode = source.readCell(); - return { $$type: 'JettonData' as const, totalSupply: _totalSupply, mintable: _mintable, owner: _owner, content: _content, walletCode: _walletCode }; -} - -function storeTupleJettonData(source: JettonData) { - let builder = new TupleBuilder(); - builder.writeNumber(source.totalSupply); - builder.writeBoolean(source.mintable); - builder.writeAddress(source.owner); - builder.writeCell(source.content); - builder.writeCell(source.walletCode); - return builder.build(); -} - -function dictValueParserJettonData(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeJettonData(src)).endCell()); - }, - parse: (src) => { - return loadJettonData(src.loadRef().beginParse()); - } - } -} - -export type TokenTransfer = { - $$type: 'TokenTransfer'; - queryId: bigint; - amount: bigint; - destination: Address; - response_destination: Address; - custom_payload: Cell | null; - forward_ton_amount: bigint; - forward_payload: Cell; -} - -export function storeTokenTransfer(src: TokenTransfer) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(260734629, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.destination); - b_0.storeAddress(src.response_destination); - if (src.custom_payload !== null && src.custom_payload !== undefined) { b_0.storeBit(true).storeRef(src.custom_payload); } else { b_0.storeBit(false); } - b_0.storeCoins(src.forward_ton_amount); - b_0.storeBuilder(src.forward_payload.asBuilder()); - }; -} - -export function loadTokenTransfer(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 260734629) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _destination = sc_0.loadAddress(); - let _response_destination = sc_0.loadAddress(); - let _custom_payload = sc_0.loadBit() ? sc_0.loadRef() : null; - let _forward_ton_amount = sc_0.loadCoins(); - let _forward_payload = sc_0.asCell(); - return { $$type: 'TokenTransfer' as const, queryId: _queryId, amount: _amount, destination: _destination, response_destination: _response_destination, custom_payload: _custom_payload, forward_ton_amount: _forward_ton_amount, forward_payload: _forward_payload }; -} - -function loadTupleTokenTransfer(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _destination = source.readAddress(); - let _response_destination = source.readAddress(); - let _custom_payload = source.readCellOpt(); - let _forward_ton_amount = source.readBigNumber(); - let _forward_payload = source.readCell(); - return { $$type: 'TokenTransfer' as const, queryId: _queryId, amount: _amount, destination: _destination, response_destination: _response_destination, custom_payload: _custom_payload, forward_ton_amount: _forward_ton_amount, forward_payload: _forward_payload }; -} - -function storeTupleTokenTransfer(source: TokenTransfer) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.destination); - builder.writeAddress(source.response_destination); - builder.writeCell(source.custom_payload); - builder.writeNumber(source.forward_ton_amount); - builder.writeSlice(source.forward_payload); - return builder.build(); -} - -function dictValueParserTokenTransfer(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenTransfer(src)).endCell()); - }, - parse: (src) => { - return loadTokenTransfer(src.loadRef().beginParse()); - } - } -} - -export type TokenTransferInternal = { - $$type: 'TokenTransferInternal'; - queryId: bigint; - amount: bigint; - from: Address; - response_destination: Address; - forward_ton_amount: bigint; - forward_payload: Cell; -} - -export function storeTokenTransferInternal(src: TokenTransferInternal) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(395134233, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.from); - b_0.storeAddress(src.response_destination); - b_0.storeCoins(src.forward_ton_amount); - b_0.storeBuilder(src.forward_payload.asBuilder()); - }; -} - -export function loadTokenTransferInternal(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 395134233) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _from = sc_0.loadAddress(); - let _response_destination = sc_0.loadAddress(); - let _forward_ton_amount = sc_0.loadCoins(); - let _forward_payload = sc_0.asCell(); - return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, response_destination: _response_destination, forward_ton_amount: _forward_ton_amount, forward_payload: _forward_payload }; -} - -function loadTupleTokenTransferInternal(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _from = source.readAddress(); - let _response_destination = source.readAddress(); - let _forward_ton_amount = source.readBigNumber(); - let _forward_payload = source.readCell(); - return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, response_destination: _response_destination, forward_ton_amount: _forward_ton_amount, forward_payload: _forward_payload }; -} - -function storeTupleTokenTransferInternal(source: TokenTransferInternal) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.from); - builder.writeAddress(source.response_destination); - builder.writeNumber(source.forward_ton_amount); - builder.writeSlice(source.forward_payload); - return builder.build(); -} - -function dictValueParserTokenTransferInternal(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenTransferInternal(src)).endCell()); - }, - parse: (src) => { - return loadTokenTransferInternal(src.loadRef().beginParse()); - } - } -} - -export type TokenNotification = { - $$type: 'TokenNotification'; - queryId: bigint; - amount: bigint; - from: Address; - forward_payload: Cell; -} - -export function storeTokenNotification(src: TokenNotification) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1935855772, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.from); - b_0.storeBuilder(src.forward_payload.asBuilder()); - }; -} - -export function loadTokenNotification(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1935855772) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _from = sc_0.loadAddress(); - let _forward_payload = sc_0.asCell(); - return { $$type: 'TokenNotification' as const, queryId: _queryId, amount: _amount, from: _from, forward_payload: _forward_payload }; -} - -function loadTupleTokenNotification(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _from = source.readAddress(); - let _forward_payload = source.readCell(); - return { $$type: 'TokenNotification' as const, queryId: _queryId, amount: _amount, from: _from, forward_payload: _forward_payload }; -} - -function storeTupleTokenNotification(source: TokenNotification) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.from); - builder.writeSlice(source.forward_payload); - return builder.build(); -} - -function dictValueParserTokenNotification(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenNotification(src)).endCell()); - }, - parse: (src) => { - return loadTokenNotification(src.loadRef().beginParse()); - } - } -} - -export type TokenBurn = { - $$type: 'TokenBurn'; - queryId: bigint; - amount: bigint; - owner: Address; - response_destination: Address; -} - -export function storeTokenBurn(src: TokenBurn) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1499400124, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.owner); - b_0.storeAddress(src.response_destination); - }; -} - -export function loadTokenBurn(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1499400124) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _owner = sc_0.loadAddress(); - let _response_destination = sc_0.loadAddress(); - return { $$type: 'TokenBurn' as const, queryId: _queryId, amount: _amount, owner: _owner, response_destination: _response_destination }; -} - -function loadTupleTokenBurn(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _owner = source.readAddress(); - let _response_destination = source.readAddress(); - return { $$type: 'TokenBurn' as const, queryId: _queryId, amount: _amount, owner: _owner, response_destination: _response_destination }; -} - -function storeTupleTokenBurn(source: TokenBurn) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.owner); - builder.writeAddress(source.response_destination); - return builder.build(); -} - -function dictValueParserTokenBurn(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenBurn(src)).endCell()); - }, - parse: (src) => { - return loadTokenBurn(src.loadRef().beginParse()); - } - } -} - -export type TokenBurnNotification = { - $$type: 'TokenBurnNotification'; - queryId: bigint; - amount: bigint; - owner: Address; - response_destination: Address | null; -} - -export function storeTokenBurnNotification(src: TokenBurnNotification) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2078119902, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.owner); - b_0.storeAddress(src.response_destination); - }; -} - -export function loadTokenBurnNotification(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2078119902) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _owner = sc_0.loadAddress(); - let _response_destination = sc_0.loadMaybeAddress(); - return { $$type: 'TokenBurnNotification' as const, queryId: _queryId, amount: _amount, owner: _owner, response_destination: _response_destination }; -} - -function loadTupleTokenBurnNotification(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _owner = source.readAddress(); - let _response_destination = source.readAddressOpt(); - return { $$type: 'TokenBurnNotification' as const, queryId: _queryId, amount: _amount, owner: _owner, response_destination: _response_destination }; -} - -function storeTupleTokenBurnNotification(source: TokenBurnNotification) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.owner); - builder.writeAddress(source.response_destination); - return builder.build(); -} - -function dictValueParserTokenBurnNotification(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenBurnNotification(src)).endCell()); - }, - parse: (src) => { - return loadTokenBurnNotification(src.loadRef().beginParse()); - } - } -} - -export type TokenExcesses = { - $$type: 'TokenExcesses'; - queryId: bigint; -} - -export function storeTokenExcesses(src: TokenExcesses) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3576854235, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadTokenExcesses(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3576854235) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'TokenExcesses' as const, queryId: _queryId }; -} - -function loadTupleTokenExcesses(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'TokenExcesses' as const, queryId: _queryId }; -} - -function storeTupleTokenExcesses(source: TokenExcesses) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserTokenExcesses(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenExcesses(src)).endCell()); - }, - parse: (src) => { - return loadTokenExcesses(src.loadRef().beginParse()); - } - } -} - -export type TokenUpdateContent = { - $$type: 'TokenUpdateContent'; - content: Cell; -} - -export function storeTokenUpdateContent(src: TokenUpdateContent) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2937889386, 32); - b_0.storeRef(src.content); - }; -} - -export function loadTokenUpdateContent(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2937889386) { throw Error('Invalid prefix'); } - let _content = sc_0.loadRef(); - return { $$type: 'TokenUpdateContent' as const, content: _content }; -} - -function loadTupleTokenUpdateContent(source: TupleReader) { - let _content = source.readCell(); - return { $$type: 'TokenUpdateContent' as const, content: _content }; -} - -function storeTupleTokenUpdateContent(source: TokenUpdateContent) { - let builder = new TupleBuilder(); - builder.writeCell(source.content); - return builder.build(); -} - -function dictValueParserTokenUpdateContent(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenUpdateContent(src)).endCell()); - }, - parse: (src) => { - return loadTokenUpdateContent(src.loadRef().beginParse()); - } - } -} - -export type JettonWalletData = { - $$type: 'JettonWalletData'; - balance: bigint; - owner: Address; - master: Address; - walletCode: Cell; -} - -export function storeJettonWalletData(src: JettonWalletData) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.balance, 257); - b_0.storeAddress(src.owner); - b_0.storeAddress(src.master); - b_0.storeRef(src.walletCode); - }; -} - -export function loadJettonWalletData(slice: Slice) { - let sc_0 = slice; - let _balance = sc_0.loadIntBig(257); - let _owner = sc_0.loadAddress(); - let _master = sc_0.loadAddress(); - let _walletCode = sc_0.loadRef(); - return { $$type: 'JettonWalletData' as const, balance: _balance, owner: _owner, master: _master, walletCode: _walletCode }; -} - -function loadTupleJettonWalletData(source: TupleReader) { - let _balance = source.readBigNumber(); - let _owner = source.readAddress(); - let _master = source.readAddress(); - let _walletCode = source.readCell(); - return { $$type: 'JettonWalletData' as const, balance: _balance, owner: _owner, master: _master, walletCode: _walletCode }; -} - -function storeTupleJettonWalletData(source: JettonWalletData) { - let builder = new TupleBuilder(); - builder.writeNumber(source.balance); - builder.writeAddress(source.owner); - builder.writeAddress(source.master); - builder.writeCell(source.walletCode); - return builder.build(); -} - -function dictValueParserJettonWalletData(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeJettonWalletData(src)).endCell()); - }, - parse: (src) => { - return loadJettonWalletData(src.loadRef().beginParse()); - } - } -} - -export type Deploy = { - $$type: 'Deploy'; - queryId: bigint; -} - -export function storeDeploy(src: Deploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2490013878, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2490013878) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function loadTupleDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function storeTupleDeploy(source: Deploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeploy(src)).endCell()); - }, - parse: (src) => { - return loadDeploy(src.loadRef().beginParse()); - } - } -} - -export type DeployOk = { - $$type: 'DeployOk'; - queryId: bigint; -} - -export function storeDeployOk(src: DeployOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2952335191, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeployOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2952335191) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function loadTupleDeployOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function storeTupleDeployOk(source: DeployOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeployOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeployOk(src)).endCell()); - }, - parse: (src) => { - return loadDeployOk(src.loadRef().beginParse()); - } - } -} - -export type FactoryDeploy = { - $$type: 'FactoryDeploy'; - queryId: bigint; - cashback: Address; -} - -export function storeFactoryDeploy(src: FactoryDeploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1829761339, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.cashback); - }; -} - -export function loadFactoryDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1829761339) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _cashback = sc_0.loadAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function loadTupleFactoryDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _cashback = source.readAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function storeTupleFactoryDeploy(source: FactoryDeploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.cashback); - return builder.build(); -} - -function dictValueParserFactoryDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFactoryDeploy(src)).endCell()); - }, - parse: (src) => { - return loadFactoryDeploy(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwner = { - $$type: 'ChangeOwner'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwner(src: ChangeOwner) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2174598809, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwner(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2174598809) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwner(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwner(source: ChangeOwner) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwner(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwner(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwner(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwnerOk = { - $$type: 'ChangeOwnerOk'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwnerOk(src: ChangeOwnerOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(846932810, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwnerOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 846932810) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwnerOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwnerOk(source: ChangeOwnerOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwnerOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwnerOk(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwnerOk(src.loadRef().beginParse()); - } - } -} - - type JettonDefaultWallet_init_args = { - $$type: 'JettonDefaultWallet_init_args'; - master: Address; - owner: Address; -} - -function initJettonDefaultWallet_init_args(src: JettonDefaultWallet_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeAddress(src.master); - b_0.storeAddress(src.owner); - }; -} - -async function JettonDefaultWallet_init(master: Address, owner: Address) { - const __code = Cell.fromBase64('te6ccgECJAEACIUAART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVEts88uCCIAQFAgEgFhcEwAGOK4Ag1yHTH9M/MfoAMIE1UiKCEBeNRRm6kjJ/mAKCEHvdl9664hLy9BOgAn/gcCHXScIflTAg1wsf3iCCEA+KfqW6jwgw2zxsF9s8f+AgghAXjUUZuuMCghBZXwe8ugYHCAkApsj4QwHMfwHKAFUgUCOBAQHPAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UAMbTHwGCEA+KfqW68uCB0z/6APpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGR1JJtAeL6AFFmFhUUQzAEijL4QW8kgRFNU8PHBfL0VHMhI9s8RDBSRNs8oIIJycOAAaCBED8BggiYloC2CBK88vRRhKGCAPX8IcL/8vT4Q1Qgdds8XBISGQoCEDDbPGwW2zx/DA0Buo7Y0x8BghBZXwe8uvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgUQzBsFNs8f+AwcBECwnBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIUHZwgEBwLEgTUOfIVVDbPMkQVl4iEDkCEDYQNRA02zwLFACqghAXjUUZUAfLHxXLP1AD+gIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgH6AgHPFgCy0x8BghAXjUUZuvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+gBRVRUUQzAE9vhBbyRToscFs47T+ENTuNs8AYIAptQCcFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhSQMcF8vTeUcigggD1/CHC//L0JcIAlRAoNDYw4w1BhyTbPBkOIQ8BlnAqShNQlshVMIIQc2LQnFAFyx8Tyz8B+gIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WAc8WySpURTAYQzBwAW1t2zwUFRQDdBA4RlrbPCDbPP4UMFB2oVAFoSVus46dcAPIAYIQ1TJ221jLH8s/yRA2QWByECRDAG1t2zyTMDQw4lkSEBQA3sghwQCYgC0BywcBowHeIYI4Mnyyc0EZ07epqh25jiBwIHGOFAR6qQymMCWoEqAEqgcCpCHAAEUw5jAzqgLPAY4rbwBwjhEjeqkIEm+MAaQDeqkEIMAAFOYzIqUDnFMCb4GmMFjLBwKlWeQwMeLJ0AJ6W/hBbySBEU1Tg8cF8vRRhKGCAPX8IcL/8vRDMFI52zyCAKmeAYIJMS0AoIIImJaAoBK88vRwgEADf1QzZhITAGRsMfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igw+gAxcdch+gAx+gAwpwOrAAHSyFUwghB73ZfeUAXLHxPLPwH6AgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYBIG6VMHABywGOHiDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFuLJJEQUUDMUQzBtbds8FAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAVAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAhG/2BbZ5tnjYaQgGAIBIBobARj4Q1MS2zwwVGMwUjAZANoC0PQEMG0BggDYrwGAEPQPb6Hy4IcBggDYryICgBD0F8gByPQAyQHMcAHKAEADWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJAN27vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgnCd0eAD5bNgPJ/IOrJZrKITgCAUgcHQIDeKAeHwB1sm7jQ1aXBmczovL1FtZlB1c1lqTlZES0ZVSG1rcTFSWDF6NmZXTVFvRDR5bTF1VHFwMXVYM3BveW6CACE7kts8VQLbPGwxggIQAPu+7UTQ0gABgBwO1E0NQB+GPSAAGOSIEBAdcA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIQzBsE+D4KNcLCoMJuvLgiSIALPgnbxAhoYIImJaAZrYIoYIImJaAoKEBivpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBIC0QHbPCMABHAC'); - const __system = Cell.fromBase64('te6cckECJgEACI8AAQHAAQEFobFfAgEU/wD0pBP0vPLICwMCAWIOBAIBIAwFAgEgCwYCAUgIBwB1sm7jQ1aXBmczovL1FtZlB1c1lqTlZES0ZVSG1rcTFSWDF6NmZXTVFvRDR5bTF1VHFwMXVYM3BveW6CACA3igCgkAD7vu1E0NIAAYAhO5LbPFUC2zxsMYIxgA3bu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSCcJ3R4APls2A8n8g6slmsohOAIRv9gW2ebZ42GkIw0BGPhDUxLbPDBUYzBSMCADetAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUS2zzy4IIjEA8Apsj4QwHMfwHKAFUgUCOBAQHPAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UBMABjiuAINch0x/TPzH6ADCBNVIighAXjUUZupIyf5gCghB73ZfeuuIS8vQToAJ/4HAh10nCH5UwINcLH94gghAPin6luo8IMNs8bBfbPH/gIIIQF41FGbrjAoIQWV8HvLoiGxQRAbqO2NMfAYIQWV8HvLry4IHTP/oA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIFEMwbBTbPH/gMHASAnpb+EFvJIERTVODxwXy9FGEoYIA9fwhwv/y9EMwUjnbPIIAqZ4BggkxLQCgggiYloCgErzy9HCAQAN/VDNmIRMB0shVMIIQe92X3lAFyx8Tyz8B+gIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WASBulTBwAcsBjh4g10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbiySREFFAzFEMwbW3bPB0CEDDbPGwW2zx/GhUE9vhBbyRToscFs47T+ENTuNs8AYIAptQCcFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhSQMcF8vTeUcigggD1/CHC//L0JcIAlRAoNDYw4w1BhyTbPCAZGBYDdBA4RlrbPCDbPP4UMFB2oVAFoSVus46dcAPIAYIQ1TJ221jLH8s/yRA2QWByECRDAG1t2zyTMDQw4lkhFx0A3sghwQCYgC0BywcBowHeIYI4Mnyyc0EZ07epqh25jiBwIHGOFAR6qQymMCWoEqAEqgcCpCHAAEUw5jAzqgLPAY4rbwBwjhEjeqkIEm+MAaQDeqkEIMAAFOYzIqUDnFMCb4GmMFjLBwKlWeQwMeLJ0AAs+CdvECGhggiYloBmtgihggiYloCgoQGWcCpKE1CWyFUwghBzYtCcUAXLHxPLPwH6AgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYBzxbJKlRFMBhDMHABbW3bPBQVHQCy0x8BghAXjUUZuvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+gBRVRUUQzAEijL4QW8kgRFNU8PHBfL0VHMhI9s8RDBSRNs8oIIJycOAAaCBED8BggiYloC2CBK88vRRhKGCAPX8IcL/8vT4Q1Qgdds8XCEhIBwCwnBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIUHZwgEBwLEgTUOfIVVDbPMkQVl4iEDkCEDYQNRA02zwfHQHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAeAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAKqCEBeNRRlQB8sfFcs/UAP6AgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WAfoCAc8WANoC0PQEMG0BggDYrwGAEPQPb6Hy4IcBggDYryICgBD0F8gByPQAyQHMcAHKAEADWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJAGRsMfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igw+gAxcdch+gAx+gAwpwOrAADG0x8BghAPin6luvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABkdSSbQHi+gBRZhYVFEMwAcDtRNDUAfhj0gABjkiBAQHXAPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiEMwbBPg+CjXCwqDCbry4IkkAYr6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSAtEB2zwlAARwAmtxsYg='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initJettonDefaultWallet_init_args({ $$type: 'JettonDefaultWallet_init_args', master, owner })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const JettonDefaultWallet_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 3734: { message: `Not Owner` }, - 4159: { message: `Invalid value!!` }, - 4429: { message: `Invalid sender` }, - 6898: { message: `The total supply will be overlapping.` }, - 13650: { message: `Invalid bounced message` }, - 18668: { message: `Can't Mint Anymore` }, - 42708: { message: `Invalid sender!` }, - 43422: { message: `Invalid value - Burn` }, - 62972: { message: `Invalid balance` }, -} - -const JettonDefaultWallet_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"TokenInfo","header":null,"fields":[{"name":"ticker","type":{"kind":"simple","type":"string","optional":false}},{"name":"decimals","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"Replace","header":1384510466,"fields":[{"name":"items","type":{"kind":"dict","key":"int","value":"address"}}]}, - {"name":"Mint","header":4235234258,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"receiver","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"JettonData","header":null,"fields":[{"name":"totalSupply","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mintable","type":{"kind":"simple","type":"bool","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"TokenTransfer","header":260734629,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"custom_payload","type":{"kind":"simple","type":"cell","optional":true}},{"name":"forward_ton_amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]}, - {"name":"TokenTransferInternal","header":395134233,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"forward_ton_amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]}, - {"name":"TokenNotification","header":1935855772,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]}, - {"name":"TokenBurn","header":1499400124,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"TokenBurnNotification","header":2078119902,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":true}}]}, - {"name":"TokenExcesses","header":3576854235,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"TokenUpdateContent","header":2937889386,"fields":[{"name":"content","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"JettonWalletData","header":null,"fields":[{"name":"balance","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, -] - -const JettonDefaultWallet_getters: ABIGetter[] = [ - {"name":"msgValue","arguments":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"get_wallet_data","arguments":[],"returnType":{"kind":"simple","type":"JettonWalletData","optional":false}}, -] - -const JettonDefaultWallet_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"TokenTransfer"}}, - {"receiver":"internal","message":{"kind":"typed","type":"TokenTransferInternal"}}, - {"receiver":"internal","message":{"kind":"typed","type":"TokenBurn"}}, -] - -export class JettonDefaultWallet implements Contract { - - static async init(master: Address, owner: Address) { - return await JettonDefaultWallet_init(master, owner); - } - - static async fromInit(master: Address, owner: Address) { - const init = await JettonDefaultWallet_init(master, owner); - const address = contractAddress(0, init); - return new JettonDefaultWallet(address, init); - } - - static fromAddress(address: Address) { - return new JettonDefaultWallet(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: JettonDefaultWallet_types, - getters: JettonDefaultWallet_getters, - receivers: JettonDefaultWallet_receivers, - errors: JettonDefaultWallet_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: TokenTransfer | TokenTransferInternal | TokenBurn) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'TokenTransfer') { - body = beginCell().store(storeTokenTransfer(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'TokenTransferInternal') { - body = beginCell().store(storeTokenTransferInternal(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'TokenBurn') { - body = beginCell().store(storeTokenBurn(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getMsgValue(provider: ContractProvider, value: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(value); - let source = (await provider.get('msgValue', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetWalletData(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('get_wallet_data', builder.build())).stack; - const result = loadTupleJettonWalletData(source); - return result; - } - -} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_Maps.abi b/src/test/bugs/output/bugs_Maps.abi deleted file mode 100644 index 05648ee58..000000000 --- a/src/test/bugs/output/bugs_Maps.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Maps","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TokenInfo","header":null,"fields":[{"name":"ticker","type":{"kind":"simple","type":"string","optional":false}},{"name":"decimals","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"Replace","header":1384510466,"fields":[{"name":"items","type":{"kind":"dict","key":"int","value":"address"}}]},{"name":"Mint","header":4235234258,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"receiver","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"JettonData","header":null,"fields":[{"name":"totalSupply","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mintable","type":{"kind":"simple","type":"bool","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"TokenTransfer","header":260734629,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"custom_payload","type":{"kind":"simple","type":"cell","optional":true}},{"name":"forward_ton_amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenTransferInternal","header":395134233,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"forward_ton_amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenNotification","header":1935855772,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenBurn","header":1499400124,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"TokenBurnNotification","header":2078119902,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenExcesses","header":3576854235,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"TokenUpdateContent","header":2937889386,"fields":[{"name":"content","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"JettonWalletData","header":null,"fields":[{"name":"balance","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"set keys"}},{"receiver":"internal","message":{"kind":"text","text":"delete keys"}},{"receiver":"internal","message":{"kind":"text","text":"clear"}},{"receiver":"internal","message":{"kind":"typed","type":"Replace"}},{"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}],"getters":[{"name":"oneItem","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"address","optional":true}},{"name":"itemCheck","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"allItems","arguments":[],"returnType":{"kind":"dict","key":"address","value":"TokenInfo","valueFormat":"ref"}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"3734":{"message":"Not Owner"},"4159":{"message":"Invalid value!!"},"4429":{"message":"Invalid sender"},"6898":{"message":"The total supply will be overlapping."},"13650":{"message":"Invalid bounced message"},"18668":{"message":"Can't Mint Anymore"},"42708":{"message":"Invalid sender!"},"43422":{"message":"Invalid value - Burn"},"62972":{"message":"Invalid balance"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_Maps.code.bac.fif b/src/test/bugs/output/bugs_Maps.code.bac.fif deleted file mode 100644 index 1d4b448b9..000000000 --- a/src/test/bugs/output/bugs_Maps.code.bac.fif +++ /dev/null @@ -1,778 +0,0 @@ -// automatically generated from `./stdlib/stdlib.fc` `./stdlib/stdlib_ex.fc` `./src/test/bugs/output/bugs_Maps.code.fc` incl:`./src/test/bugs/output/bugs_Maps.headers.fc` incl:`./src/test/bugs/output/bugs_Maps.stdlib.fc` incl:`./src/test/bugs/output/bugs_Maps.constants.fc` incl:`./src/test/bugs/output/bugs_Maps.storage.fc` -DECLPROC __tact_verify_address -DECLPROC __tact_store_address -DECLPROC __tact_not_null -DECLPROC __tact_context_get_sender -DECLPROC __tact_store_bool -DECLPROC __tact_dict_set_int_int -DECLPROC __tact_dict_set_int_cell -DECLPROC __tact_dict_get_int_cell -DECLPROC __tact_dict_set_int_slice -DECLPROC __tact_dict_get_int_slice -DECLPROC __tact_dict_set_slice_int -DECLPROC __tact_dict_set_slice_cell -DECLPROC __tact_dict_set_slice_slice -DECLPROC $TokenInfo$_store -DECLPROC $TokenInfo$_store_cell -DECLPROC $TokenInfo$_not_null -DECLPROC $TokenInfo$_store_opt -DECLPROC $TokenInfo$_load -DECLPROC $TokenInfo$_as_optional -DECLPROC $TokenInfo$_load_opt -DECLPROC $Replace$_load -DECLPROC $Deploy$_load -DECLPROC $DeployOk$_store -DECLPROC $DeployOk$_store_cell -DECLPROC $Maps$_store -DECLPROC $Maps$_load -DECLPROC $Maps$init$_load -DECLPROC $Maps$_contract_init -DECLPROC $Maps$_contract_load -DECLPROC $Maps$_contract_store -DECLPROC $global_send -DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body -DECLPROC $global_reply -DECLPROC $Maps$_fun_oneItem -DECLPROC $Maps$_fun_itemCheck -DECLPROC $Maps$_fun_allItems -DECLPROC $TokenInfo$_constructor_ticker_decimals -DECLPROC $DeployOk$_constructor_queryId -DECLPROC $Maps$_internal_text_2db851a56a7d13c238a59783d8ff80cf1858df1504309cbd940f1daa4f32dec5 -DECLPROC $Maps$_internal_text_cb12f2784b4b1117ff896a549c344705dda2007d8c283d970bc6ecf3a62f4651 -DECLPROC $Maps$_internal_text_0c1cd7659460b0f81b94237cd5ffc13a4fb58ea689b2815de74dd3770646a4ea -DECLPROC $Maps$_internal_binary_Replace -DECLPROC $Maps$_internal_binary_Deploy -68660 DECLMETHOD %oneItem -102138 DECLMETHOD %itemCheck -68968 DECLMETHOD %allItems -113617 DECLMETHOD supported_interfaces -121275 DECLMETHOD get_abi_ipfs -115390 DECLMETHOD lazy_deployment_completed -DECLPROC $Maps$_contract_router_internal -DECLPROC recv_internal -DECLGLOBVAR __tact_context -DECLGLOBVAR __tact_context_sender -DECLGLOBVAR __tact_context_sys -DECLGLOBVAR __tact_randomized -__tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT -}> -__tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER -}> -__tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF -}> -__tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB -}> -__tact_store_bool PROCINLINE:<{ - SWAP - 1 STI -}> -__tact_dict_set_int_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> -}> -__tact_dict_set_int_cell PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTISETREF - }> -}> -__tact_dict_get_int_cell PROCINLINE:<{ - -ROT - DICTIGETREF - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> -}> -__tact_dict_set_int_slice PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTISET - }> -}> -__tact_dict_get_int_slice PROCINLINE:<{ - -ROT - DICTIGET - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> -}> -__tact_dict_set_slice_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> -}> -__tact_dict_set_slice_cell PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTSETREF - }> -}> -__tact_dict_set_slice_slice PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - NEWC - SWAP - STSLICER - s1 s3 s3 XCHG3 - DICTSETB - }> -}> -$TokenInfo$_store PROCINLINE:<{ - NEWC - ROT - STSLICER - ENDC - ROT - STREF - 8 STU -}> -$TokenInfo$_store_cell PROCINLINE:<{ - NEWC - -ROT - $TokenInfo$_store INLINECALLDICT - ENDC -}> -$TokenInfo$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE -}> -$TokenInfo$_store_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $TokenInfo$_not_null INLINECALLDICT - $TokenInfo$_store_cell INLINECALLDICT - }> -}> -$TokenInfo$_load PROCINLINE:<{ - LDREF - SWAP - CTOS - SWAP - 8 LDU - -ROT -}> -$TokenInfo$_as_optional PROCINLINE:<{ - 2 TUPLE -}> -$TokenInfo$_load_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - CTOS - $TokenInfo$_load INLINECALLDICT - 1 2 BLKDROP2 - $TokenInfo$_as_optional INLINECALLDICT - }> -}> -$Replace$_load PROCINLINE:<{ - 32 LDU - SWAP - 1384510466 PUSHINT - EQUAL - 129 THROWIFNOT - LDDICT - SWAP -}> -$Deploy$_load PROCINLINE:<{ - 32 LDU - SWAP - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - SWAP -}> -$DeployOk$_store PROCINLINE:<{ - 2952335191 PUSHINT - ROT - 32 STU - 64 STU -}> -$DeployOk$_store_cell PROCINLINE:<{ - NEWC - SWAP - $DeployOk$_store INLINECALLDICT - ENDC -}> -$Maps$_store PROCINLINE:<{ - s7 s8 XCHG2 - STDICT - s1 s5 XCHG - STDICT - s0 s3 XCHG - NEWC - STDICT - s1 s2 XCHG - STDICT - STDICT - s0 s2 XCHG - NEWC - STDICT - s1 s3 XCHG - STDICT - s1 s3 XCHG - STDICT - ENDC - ROT - STREF - ENDC - SWAP - STREF -}> -$Maps$_load PROCINLINE:<{ - LDDICT - LDDICT - LDREF - SWAP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - DROP - s6 s8 XCHG - s6 s7 XCHG -}> -$Maps$init$_load PROCINLINE:<{ - LDDICT - SWAP -}> -$Maps$_contract_init PROCREF:<{ - PUSHNULL - SWAP - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL -}> -$Maps$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Maps$_load INLINECALLDICT - 1 8 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Maps$init$_load INLINECALLDICT - SWAP - ENDS - $Maps$_contract_init INLINECALLDICT -}> -$Maps$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 8 -ROLL - $Maps$_store INLINECALLDICT - ENDC - c4 POP -}> -$global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG -}> -$SendParameters$_constructor_bounce_to_value_mode_body PROCINLINE:<{ - PUSHNULL - PUSHNULL -}> -$global_reply PROCINLINE:<{ - TRUE - __tact_context_get_sender INLINECALLDICT - 0 PUSHINT - ROT - s0 s3 XCHG - 66 PUSHINT - SWAP - $SendParameters$_constructor_bounce_to_value_mode_body INLINECALLDICT - $global_send INLINECALLDICT -}> -$Maps$_fun_oneItem PROCREF:<{ - 257 PUSHINT - s6 PUSH - s0 s2 XCHG - __tact_dict_get_int_slice INLINECALLDICT -}> -$Maps$_fun_itemCheck PROCREF:<{ - s7 PUSH - 257 PUSHINT - 17 PUSHINT - __tact_dict_get_int_cell INLINECALLDICT - $TokenInfo$_load_opt INLINECALLDICT - ISNULL - IFJMP:<{ - B{b5ee9c7241010101000b0000126e6f7420666f756e64de9b0ed2} B>boc - s7 PUSH - 257 PUSHINT - 17 PUSHINT - __tact_dict_get_int_cell INLINECALLDICT - $TokenInfo$_load_opt INLINECALLDICT - $TokenInfo$_not_null INLINECALLDICT - DROP -}> -$Maps$_fun_allItems PROCREF:<{ - s3 PUSH -}> -$TokenInfo$_constructor_ticker_decimals PROCINLINE:<{ -}> -$DeployOk$_constructor_queryId PROCINLINE:<{ -}> -$Maps$_internal_text_2db851a56a7d13c238a59783d8ff80cf1858df1504309cbd940f1daa4f32dec5 PROCINLINE:<{ - 257 PUSHINT - 17 PUSHINT - B{b5ee9c72410101010006000008534849429c299a01} B>boc boc boc boc boc boc boc -$Maps$_internal_text_cb12f2784b4b1117ff896a549c344705dda2007d8c283d970bc6ecf3a62f4651 PROCINLINE:<{ - 257 PUSHINT - 17 PUSHINT - PUSHNULL - $TokenInfo$_store_opt INLINECALLDICT - s3 s10 XCHG - __tact_dict_set_int_cell INLINECALLDICT - s0 s6 XCHG - 257 PUSHINT - 41507952295811122 PUSHINT - PUSHNULL - 1 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - 257 PUSHINT - 240 PUSHPOW2 - PUSHNULL - s2 PUSH - s4 s9 XCHG - __tact_dict_set_int_int INLINECALLDICT - s0 s4 XCHG - 257 PUSHINT - -900 PUSHINT - PUSHNULL - __tact_dict_set_int_slice INLINECALLDICT - 267 PUSHINT - B{b5ee9c7241010101002400004380107bfaaa5cc6e5368e5f9799188bd798cd22e04ab16d1d8ea4fc37480741e6351064a3e1a6} B>boc boc boc boc -$Maps$_internal_text_0c1cd7659460b0f81b94237cd5ffc13a4fb58ea689b2815de74dd3770646a4ea PROCINLINE:<{ - 8 BLKDROP - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL -}> -$Maps$_internal_binary_Replace PROCINLINE:<{ - s5 POP -}> -$Maps$_internal_binary_Deploy PROCINLINE:<{ - $DeployOk$_constructor_queryId INLINECALLDICT - $DeployOk$_store_cell INLINECALLDICT - $global_reply INLINECALLDICT -}> -%oneItem PROC:<{ - $Maps$_contract_load INLINECALLDICT - 8 ROLL - $Maps$_fun_oneItem INLINECALLDICT - 8 1 BLKDROP2 -}> -%itemCheck PROC:<{ - $Maps$_contract_load INLINECALLDICT - $Maps$_fun_itemCheck INLINECALLDICT - 8 1 BLKDROP2 -}> -%allItems PROC:<{ - $Maps$_contract_load INLINECALLDICT - $Maps$_fun_allItems INLINECALLDICT - 8 1 BLKDROP2 -}> -supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT -}> -get_abi_ipfs PROC:<{ - x{697066733a2f2f516d6174446b5856355750664c51684a774470445948444565337a676e69375365673346596b487272506b6a6d76} PUSHSLICE -}> -lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP -}> -$Maps$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - s0 s2 XCHG - IFJMP:<{ - 2DROP - TRUE - }> - OVER - 1384510466 PUSHINT - EQUAL - IFJMP:<{ - NIP - $Replace$_load INLINECALLDICT - NIP - $Maps$_internal_binary_Replace INLINECALLDICT - TRUE - }> - OVER - 2490013878 PUSHINT - EQUAL - IFJMP:<{ - NIP - $Deploy$_load INLINECALLDICT - NIP - $Maps$_internal_binary_Deploy INLINECALLDICT - TRUE - }> - SWAP - 0 EQINT - IF:<{ - HASHSU - DUP - 20679741547226056994218165901989272276431841371562016390891270178720653172421 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Maps$_internal_text_2db851a56a7d13c238a59783d8ff80cf1858df1504309cbd940f1daa4f32dec5 INLINECALLDICT - TRUE - RETALT - }> - DUP - 91852984975307913686408035959712270224946049965597414967854176874959492564561 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Maps$_internal_text_cb12f2784b4b1117ff896a549c344705dda2007d8c283d970bc6ecf3a62f4651 INLINECALLDICT - TRUE - RETALT - }> - 5478712514858160429952559455580538452086151038933333316181387135928500659434 PUSHINT - EQUAL - IFJMP:<{ - $Maps$_internal_text_0c1cd7659460b0f81b94237cd5ffc13a4fb58ea689b2815de74dd3770646a4ea INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE -}> -recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Maps$_contract_load INLINECALLDICT - 2 8 BLKSWAP - $Maps$_contract_router_internal INLINECALLDICT - DROP - $Maps$_contract_store INLINECALLDICT -}> diff --git a/src/test/bugs/output/bugs_Maps.code.bac2.fif b/src/test/bugs/output/bugs_Maps.code.bac2.fif deleted file mode 100644 index de805e074..000000000 --- a/src/test/bugs/output/bugs_Maps.code.bac2.fif +++ /dev/null @@ -1,780 +0,0 @@ -// automatically generated from `./stdlib/stdlib.fc` `./stdlib/stdlib_ex.fc` `./src/test/bugs/output/bugs_Maps.code.fc` incl:`./src/test/bugs/output/bugs_Maps.headers.fc` incl:`./src/test/bugs/output/bugs_Maps.stdlib.fc` incl:`./src/test/bugs/output/bugs_Maps.constants.fc` incl:`./src/test/bugs/output/bugs_Maps.storage.fc` -DECLPROC __tact_verify_address -DECLPROC __tact_store_address -DECLPROC __tact_not_null -DECLPROC __tact_context_get_sender -DECLPROC __tact_store_bool -DECLPROC __tact_dict_set_int_int -DECLPROC __tact_dict_set_int_cell -DECLPROC __tact_dict_get_int_cell -DECLPROC __tact_dict_set_int_slice -DECLPROC __tact_dict_get_int_slice -DECLPROC __tact_dict_set_slice_int -DECLPROC __tact_dict_set_slice_cell -DECLPROC __tact_dict_set_slice_slice -DECLPROC $TokenInfo$_store -DECLPROC $TokenInfo$_store_cell -DECLPROC $TokenInfo$_not_null -DECLPROC $TokenInfo$_store_opt -DECLPROC $TokenInfo$_load -DECLPROC $TokenInfo$_as_optional -DECLPROC $TokenInfo$_load_opt -DECLPROC $Replace$_load -DECLPROC $Deploy$_load -DECLPROC $DeployOk$_store -DECLPROC $DeployOk$_store_cell -DECLPROC $Maps$_store -DECLPROC $Maps$_load -DECLPROC $Maps$init$_load -DECLPROC $Maps$_contract_init -DECLPROC $Maps$_contract_load -DECLPROC $Maps$_contract_store -DECLPROC $global_send -DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body -DECLPROC $global_reply -DECLPROC $Maps$_fun_oneItem -DECLPROC $Maps$_fun_itemCheck -DECLPROC $Maps$_fun_allItems -DECLPROC $TokenInfo$_constructor_ticker_decimals -DECLPROC $DeployOk$_constructor_queryId -DECLPROC $Maps$_internal_text_2db851a56a7d13c238a59783d8ff80cf1858df1504309cbd940f1daa4f32dec5 -DECLPROC $Maps$_internal_text_cb12f2784b4b1117ff896a549c344705dda2007d8c283d970bc6ecf3a62f4651 -DECLPROC $Maps$_internal_text_0c1cd7659460b0f81b94237cd5ffc13a4fb58ea689b2815de74dd3770646a4ea -DECLPROC $Maps$_internal_binary_Replace -DECLPROC $Maps$_internal_binary_Deploy -68660 DECLMETHOD %oneItem -102138 DECLMETHOD %itemCheck -68968 DECLMETHOD %allItems -113617 DECLMETHOD supported_interfaces -121275 DECLMETHOD get_abi_ipfs -115390 DECLMETHOD lazy_deployment_completed -DECLPROC $Maps$_contract_router_internal -DECLPROC recv_internal -DECLGLOBVAR __tact_context -DECLGLOBVAR __tact_context_sender -DECLGLOBVAR __tact_context_sys -DECLGLOBVAR __tact_randomized -__tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT -}> -__tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER -}> -__tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF -}> -__tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB -}> -__tact_store_bool PROCINLINE:<{ - SWAP - 1 STI -}> -__tact_dict_set_int_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> -}> -__tact_dict_set_int_cell PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTISETREF - }> -}> -__tact_dict_get_int_cell PROCINLINE:<{ - -ROT - DICTIGETREF - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> -}> -__tact_dict_set_int_slice PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTISET - }> -}> -__tact_dict_get_int_slice PROCINLINE:<{ - -ROT - DICTIGET - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> -}> -__tact_dict_set_slice_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> -}> -__tact_dict_set_slice_cell PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTSETREF - }> -}> -__tact_dict_set_slice_slice PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - NEWC - SWAP - STSLICER - s1 s3 s3 XCHG3 - DICTSETB - }> -}> -$TokenInfo$_store PROCINLINE:<{ - NEWC - ROT - STSLICER - ENDC - ROT - STREF - 257 PUSHINT - STIX -}> -$TokenInfo$_store_cell PROCINLINE:<{ - NEWC - -ROT - $TokenInfo$_store INLINECALLDICT - ENDC -}> -$TokenInfo$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE -}> -$TokenInfo$_store_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $TokenInfo$_not_null INLINECALLDICT - $TokenInfo$_store_cell INLINECALLDICT - }> -}> -$TokenInfo$_load PROCINLINE:<{ - LDREF - SWAP - CTOS - SWAP - 257 PUSHINT - LDIX - -ROT -}> -$TokenInfo$_as_optional PROCINLINE:<{ - 2 TUPLE -}> -$TokenInfo$_load_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - CTOS - $TokenInfo$_load INLINECALLDICT - 1 2 BLKDROP2 - $TokenInfo$_as_optional INLINECALLDICT - }> -}> -$Replace$_load PROCINLINE:<{ - 32 LDU - SWAP - 1384510466 PUSHINT - EQUAL - 129 THROWIFNOT - LDDICT - SWAP -}> -$Deploy$_load PROCINLINE:<{ - 32 LDU - SWAP - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - SWAP -}> -$DeployOk$_store PROCINLINE:<{ - 2952335191 PUSHINT - ROT - 32 STU - 64 STU -}> -$DeployOk$_store_cell PROCINLINE:<{ - NEWC - SWAP - $DeployOk$_store INLINECALLDICT - ENDC -}> -$Maps$_store PROCINLINE:<{ - s7 s8 XCHG2 - STDICT - s1 s5 XCHG - STDICT - s0 s3 XCHG - NEWC - STDICT - s1 s2 XCHG - STDICT - STDICT - s0 s2 XCHG - NEWC - STDICT - s1 s3 XCHG - STDICT - s1 s3 XCHG - STDICT - ENDC - ROT - STREF - ENDC - SWAP - STREF -}> -$Maps$_load PROCINLINE:<{ - LDDICT - LDDICT - LDREF - SWAP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - DROP - s6 s8 XCHG - s6 s7 XCHG -}> -$Maps$init$_load PROCINLINE:<{ - LDDICT - SWAP -}> -$Maps$_contract_init PROCREF:<{ - PUSHNULL - SWAP - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL -}> -$Maps$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Maps$_load INLINECALLDICT - 1 8 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Maps$init$_load INLINECALLDICT - SWAP - ENDS - $Maps$_contract_init INLINECALLDICT -}> -$Maps$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 8 -ROLL - $Maps$_store INLINECALLDICT - ENDC - c4 POP -}> -$global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG -}> -$SendParameters$_constructor_bounce_to_value_mode_body PROCINLINE:<{ - PUSHNULL - PUSHNULL -}> -$global_reply PROCINLINE:<{ - TRUE - __tact_context_get_sender INLINECALLDICT - 0 PUSHINT - ROT - s0 s3 XCHG - 66 PUSHINT - SWAP - $SendParameters$_constructor_bounce_to_value_mode_body INLINECALLDICT - $global_send INLINECALLDICT -}> -$Maps$_fun_oneItem PROCREF:<{ - 257 PUSHINT - s6 PUSH - s0 s2 XCHG - __tact_dict_get_int_slice INLINECALLDICT -}> -$Maps$_fun_itemCheck PROCREF:<{ - s7 PUSH - 257 PUSHINT - 17 PUSHINT - __tact_dict_get_int_cell INLINECALLDICT - $TokenInfo$_load_opt INLINECALLDICT - ISNULL - IFJMP:<{ - B{b5ee9c7241010101000b0000126e6f7420666f756e64de9b0ed2} B>boc - s7 PUSH - 257 PUSHINT - 17 PUSHINT - __tact_dict_get_int_cell INLINECALLDICT - $TokenInfo$_load_opt INLINECALLDICT - $TokenInfo$_not_null INLINECALLDICT - DROP -}> -$Maps$_fun_allItems PROCREF:<{ - s3 PUSH -}> -$TokenInfo$_constructor_ticker_decimals PROCINLINE:<{ -}> -$DeployOk$_constructor_queryId PROCINLINE:<{ -}> -$Maps$_internal_text_2db851a56a7d13c238a59783d8ff80cf1858df1504309cbd940f1daa4f32dec5 PROCINLINE:<{ - 257 PUSHINT - 17 PUSHINT - B{b5ee9c72410101010006000008534849429c299a01} B>boc boc boc boc boc boc boc -$Maps$_internal_text_cb12f2784b4b1117ff896a549c344705dda2007d8c283d970bc6ecf3a62f4651 PROCINLINE:<{ - 257 PUSHINT - 17 PUSHINT - PUSHNULL - $TokenInfo$_store_opt INLINECALLDICT - s3 s10 XCHG - __tact_dict_set_int_cell INLINECALLDICT - s0 s6 XCHG - 257 PUSHINT - 41507952295811122 PUSHINT - PUSHNULL - 1 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - 257 PUSHINT - 240 PUSHPOW2 - PUSHNULL - s2 PUSH - s4 s9 XCHG - __tact_dict_set_int_int INLINECALLDICT - s0 s4 XCHG - 257 PUSHINT - -900 PUSHINT - PUSHNULL - __tact_dict_set_int_slice INLINECALLDICT - 267 PUSHINT - B{b5ee9c7241010101002400004380107bfaaa5cc6e5368e5f9799188bd798cd22e04ab16d1d8ea4fc37480741e6351064a3e1a6} B>boc boc boc boc -$Maps$_internal_text_0c1cd7659460b0f81b94237cd5ffc13a4fb58ea689b2815de74dd3770646a4ea PROCINLINE:<{ - 8 BLKDROP - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL -}> -$Maps$_internal_binary_Replace PROCINLINE:<{ - s5 POP -}> -$Maps$_internal_binary_Deploy PROCINLINE:<{ - $DeployOk$_constructor_queryId INLINECALLDICT - $DeployOk$_store_cell INLINECALLDICT - $global_reply INLINECALLDICT -}> -%oneItem PROC:<{ - $Maps$_contract_load INLINECALLDICT - 8 ROLL - $Maps$_fun_oneItem INLINECALLDICT - 8 1 BLKDROP2 -}> -%itemCheck PROC:<{ - $Maps$_contract_load INLINECALLDICT - $Maps$_fun_itemCheck INLINECALLDICT - 8 1 BLKDROP2 -}> -%allItems PROC:<{ - $Maps$_contract_load INLINECALLDICT - $Maps$_fun_allItems INLINECALLDICT - 8 1 BLKDROP2 -}> -supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT -}> -get_abi_ipfs PROC:<{ - x{697066733a2f2f516d58464638484e6e424568654d7a3655627a794a7a595774446e554d707447385170526368347a61693936326f} PUSHSLICE -}> -lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP -}> -$Maps$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - s0 s2 XCHG - IFJMP:<{ - 2DROP - TRUE - }> - OVER - 1384510466 PUSHINT - EQUAL - IFJMP:<{ - NIP - $Replace$_load INLINECALLDICT - NIP - $Maps$_internal_binary_Replace INLINECALLDICT - TRUE - }> - OVER - 2490013878 PUSHINT - EQUAL - IFJMP:<{ - NIP - $Deploy$_load INLINECALLDICT - NIP - $Maps$_internal_binary_Deploy INLINECALLDICT - TRUE - }> - SWAP - 0 EQINT - IF:<{ - HASHSU - DUP - 20679741547226056994218165901989272276431841371562016390891270178720653172421 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Maps$_internal_text_2db851a56a7d13c238a59783d8ff80cf1858df1504309cbd940f1daa4f32dec5 INLINECALLDICT - TRUE - RETALT - }> - DUP - 91852984975307913686408035959712270224946049965597414967854176874959492564561 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Maps$_internal_text_cb12f2784b4b1117ff896a549c344705dda2007d8c283d970bc6ecf3a62f4651 INLINECALLDICT - TRUE - RETALT - }> - 5478712514858160429952559455580538452086151038933333316181387135928500659434 PUSHINT - EQUAL - IFJMP:<{ - $Maps$_internal_text_0c1cd7659460b0f81b94237cd5ffc13a4fb58ea689b2815de74dd3770646a4ea INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE -}> -recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Maps$_contract_load INLINECALLDICT - 2 8 BLKSWAP - $Maps$_contract_router_internal INLINECALLDICT - DROP - $Maps$_contract_store INLINECALLDICT -}> diff --git a/src/test/bugs/output/bugs_Maps.code.boc b/src/test/bugs/output/bugs_Maps.code.boc deleted file mode 100644 index c034855a3..000000000 Binary files a/src/test/bugs/output/bugs_Maps.code.boc and /dev/null differ diff --git a/src/test/bugs/output/bugs_Maps.code.boc.html b/src/test/bugs/output/bugs_Maps.code.boc.html deleted file mode 100644 index c117eb780..000000000 --- a/src/test/bugs/output/bugs_Maps.code.boc.html +++ /dev/null @@ -1,969 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_68660;
-            ..DECLPROC ?fun_68968;
-            ..DECLPROC ?fun_102138;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_0d1a805e0fc5efb2;
-            ..DECLPROC ?fun_ref_10c319ce0484d846;
-            ..DECLPROC ?fun_ref_24e49a921269dc27;
-            ..DECLPROC ?fun_ref_7ca9042b0b911c4c;
-            ..DECLPROC ?fun_ref_b2a3baab4bcc4202;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_c5719d112936d17a;
-            ..DECLPROC ?fun_ref_d9390365e4e77f51;
-            ..DECLPROC ?fun_ref_e051ccf6dcd4d4e0;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_7ca9042b0b911c4c INLINECALLDICT
-            ....2 8 BLKSWAP
-            ....?fun_ref_24e49a921269dc27 INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....8 1 BLKSWAP
-            ....s7 s8 XCHG2
-            ....STDICT
-            ....s1 s5 XCHG
-            ....STDICT
-            ....s0 s3 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s2 XCHG
-            ....STDICT
-            ....STDICT
-            ....s0 s2 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s3 XCHG
-            ....STDICT
-            ....s1 s3 XCHG
-            ....STDICT
-            ....ENDC
-            ....ROT
-            ....STREF
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..?fun_68660 PROC:<{
-            ....?fun_ref_7ca9042b0b911c4c INLINECALLDICT
-            ....1 8 BLKSWAP
-            ....?fun_ref_0d1a805e0fc5efb2 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_68968 PROC:<{
-            ....?fun_ref_7ca9042b0b911c4c INLINECALLDICT
-            ....?fun_ref_10c319ce0484d846 INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..?fun_102138 PROC:<{
-            ....?fun_ref_7ca9042b0b911c4c INLINECALLDICT
-            ....?fun_ref_c5719d112936d17a INLINECALLDICT
-            ....8 1 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D5851387A7158666E7461436234724176626348664B4D6D596D527046534678446733376D687A4D55736B514682_} PUSHSLICE
-            ..}>
-            ..?fun_ref_0d1a805e0fc5efb2 PROCREF:<{
-            ....257 PUSHINT
-            ....s6 PUSH
-            ....s0 s2 XCHG
-            ....ROTREV
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ..}>
-            x2..?fun_ref_10c319ce0484d846 PROCREF:<{
-            18x2....s3 PUSH
-            x2..}>
-            ..?fun_ref_24e49a921269dc27 PROCREF:<{
-            ....2 SAVE
-            ....SAMEALTSAVE
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....s0 PUSH
-            ....1384510466 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1384510466 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDDICT
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......s5 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....2490013878 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2490013878 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......64 LDU
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......NEWC
-            ......s0 s1 XCHG
-            ......2952335191 PUSHINT
-            ......ROT
-            ......32 STU
-            ......64 STU
-            ......ENDC
-            ......2 GETGLOBVAR
-            ......s0 s1 XCHG
-            ......0 PUSHINT
-            ......NULL
-            ......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 EQINT
-            ....<{
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......HASHSU
-            ......s0 PUSH
-            ......20679741547226056994218165901989272276431841371562016390891270178720653172421 PUSHINT
-            ......EQUAL
-            ......<{
-            ........s0 POP
-            ........?fun_ref_e051ccf6dcd4d4e0 INLINECALLDICT
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ......s0 PUSH
-            ......91852984975307913686408035959712270224946049965597414967854176874959492564561 PUSHINT
-            ......EQUAL
-            ......<{
-            ........s0 POP
-            ........?fun_ref_d9390365e4e77f51 INLINECALLDICT
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ......5478712514858160429952559455580538452086151038933333316181387135928500659434 PUSHINT
-            ......EQUAL
-            ......<{
-            ........8 BLKDROP
-            ........NULL
-            ........NULL
-            ........NULL
-            ........NULL
-            ........NULL
-            ........NULL
-            ........NULL
-            ........NULL
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ....}> IFREFELSE
-            ....0 PUSHINT
-            ..}>
-            ..?fun_ref_7ca9042b0b911c4c PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDDICT
-            ......LDDICT
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......LDDICT
-            ......LDDICT
-            ......LDDICT
-            ......LDREF
-            ......s0 POP
-            ......CTOS
-            ......LDDICT
-            ......LDDICT
-            ......LDDICT
-            ......s0 POP
-            ......s6 s8 XCHG
-            ......s6 s7 XCHG
-            ......1 8 BLKDROP2
-            ....}> PUSHCONT
-            ....IFJMP
-            ....MYADDR
-            ....11 PLDU
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....137 THROWIFNOT
-            ....LDDICT
-            ....s0 s1 XCHG
-            ....s0 s1 XCHG
-            ....ENDS
-            ....?fun_ref_b2a3baab4bcc4202 INLINECALLDICT
-            ..}>
-            ..?fun_ref_b2a3baab4bcc4202 PROCREF:<{
-            ....NULL
-            ....s0 s1 XCHG
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            ..?fun_ref_c5719d112936d17a PROCREF:<{
-            ....s7 PUSH
-            ....257 PUSHINT
-            ....17 PUSHINT
-            ....ROTREV
-            ....DICTIGETREF
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......CTOS
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......s0 s1 XCHG
-            ......257 PUSHINT
-            ......LDIX
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......2 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ....ISNULL
-            ....<{
-            ......x{6E6F7420666F756E648} PUSHSLICE
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s7 PUSH
-            ....257 PUSHINT
-            ....17 PUSHINT
-            ....ROTREV
-            ....DICTIGETREF
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......CTOS
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......s0 s1 XCHG
-            ......257 PUSHINT
-            ......LDIX
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......2 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 PUSH
-            ....ISNULL
-            ....128 THROWIF
-            ....2 UNTUPLE
-            ....s0 POP
-            ..}>
-            ..?fun_ref_d9390365e4e77f51 PROCREF:<{
-            ....257 PUSHINT
-            ....17 PUSHINT
-            ....NULL
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......NEWC
-            ......ROTREV
-            ......NEWC
-            ......ROT
-            ......STSLICER
-            ......ENDC
-            ......ROT
-            ......STREF
-            ......257 PUSHINT
-            ......STIX
-            ......ENDC
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s3 s10 XCHG
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......s1 s3 s3 XCHG3
-            ......DICTISETREF
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s6 XCHG
-            ....257 PUSHINT
-            ....41507952295811122 PUSHINT
-            ....NULL
-            ....1 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....257 PUSHINT
-            ....240 PUSHPOW2
-            ....NULL
-            ....s2 PUSH
-            ....s4 s9 XCHG
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s4 XCHG
-            ....257 PUSHINT
-            ....-900 PUSHINT
-            ....NULL
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......s1 s3 s3 XCHG3
-            ......DICTISET
-            ....}> PUSHCONT
-            ....IFELSE
-            ....267 PUSHINT
-            ....x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE
-            ....NULL
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......NEWC
-            ......ROTREV
-            ......NEWC
-            ......ROT
-            ......STSLICER
-            ......ENDC
-            ......ROT
-            ......STREF
-            ......257 PUSHINT
-            ......STIX
-            ......ENDC
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s3 s6 XCHG
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......s1 s3 s3 XCHG3
-            ......DICTSETREF
-            ....}> PUSHCONT
-            ....IFELSE
-            ....267 PUSHINT
-            ....x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E6351_} PUSHREFSLICE
-            ....s2 s4 XCHG
-            ....NULL
-            ....1 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....267 PUSHINT
-            ....x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE
-            ....s2 s3 XCHG
-            ....NULL
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....267 PUSHINT
-            ....x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE
-            ....s2 s9 XCHG
-            ....NULL
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STSLICER
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s6 s7 XCHG
-            ....s5 s6 XCHG
-            ....s4 s5 XCHG
-            ....s3 s4 XCHG
-            ....s1 s3 s0 XCHG3
-            ..}>
-            ..?fun_ref_e051ccf6dcd4d4e0 PROCREF:<{
-            ....257 PUSHINT
-            ....17 PUSHINT
-            ....x{534849428} PUSHSLICE
-            ....9 PUSHINT
-            ....NEWC
-            ....ROTREV
-            ....NEWC
-            ....ROT
-            ....STSLICER
-            ....ENDC
-            ....ROT
-            ....STREF
-            ....257 PUSHINT
-            ....STIX
-            ....ENDC
-            ....s3 s10 XCHG
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......s1 s3 s3 XCHG3
-            ......DICTISETREF
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s6 XCHG
-            ....257 PUSHINT
-            ....41507952295811122 PUSHINT
-            ....-1 PUSHINT
-            ....1 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....257 PUSHINT
-            ....240 PUSHPOW2
-            ....230 PUSHPOW2
-            ....s2 PUSH
-            ....s4 s9 XCHG
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....257 PUSHINT
-            ....-900 PUSHINT
-            ....x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E6351_} PUSHREFSLICE
-            ....s3 s7 XCHG
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......s1 s3 s3 XCHG3
-            ......DICTISET
-            ....}> PUSHCONT
-            ....IFELSE
-            ....267 PUSHINT
-            ....x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE
-            ....x{444F47458} PUSHSLICE
-            ....18 PUSHINT
-            ....NEWC
-            ....ROTREV
-            ....NEWC
-            ....ROT
-            ....STSLICER
-            ....ENDC
-            ....ROT
-            ....STREF
-            ....257 PUSHINT
-            ....STIX
-            ....ENDC
-            ....s3 s6 XCHG
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......s1 s3 s3 XCHG3
-            ......DICTSETREF
-            ....}> PUSHCONT
-            ....IFELSE
-            ....267 PUSHINT
-            ....x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E6351_} PUSHREFSLICE
-            ....s2 s4 XCHG
-            ....-1 PUSHINT
-            ....1 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....267 PUSHINT
-            ....x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E6351_} PUSHREFSLICE
-            ....s2 s3 XCHG
-            ....1230000000 PUSHINT
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....267 PUSHINT
-            ....x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE
-            ....MYADDR
-            ....s3 s10 XCHG
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STSLICER
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s6 s7 XCHG
-            ....s5 s6 XCHG
-            ....s4 s5 XCHG
-            ....s3 s4 XCHG
-            ....s1 s3 s0 XCHG3
-            ..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/bugs/output/bugs_Maps.code.fc b/src/test/bugs/output/bugs_Maps.code.fc deleted file mode 100644 index 582cb0854..000000000 --- a/src/test/bugs/output/bugs_Maps.code.fc +++ /dev/null @@ -1,215 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "bugs_Maps.headers.fc"; -#include "bugs_Maps.stdlib.fc"; -#include "bugs_Maps.constants.fc"; -#include "bugs_Maps.storage.fc"; - -;; -;; Contract Maps functions -;; - -(cell, cell, cell, cell, cell, cell, cell, cell) $Maps$_contract_init(cell $arg) impure inline_ref { - var (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4)) = (null(), null(), null(), null(), null(), null(), null(), null()); - $self'mi2 = $arg; - return ($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), slice) $Maps$_fun_oneItem((cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4)) = $self; - return (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4), __tact_dict_get_int_slice($self'mi4, 257, $key)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), slice) $Maps$_fun_itemCheck((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4)) = $self; - if (null?($TokenInfo$_load_opt(__tact_dict_get_int_cell($self'mi1, 257, 17)))) { - return (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4), __gen_slice_string_ef17d523607831d9b150cef9b36c6e32272887eac302eefcd2ca22fed29f4e21()); - } - var ($item'ticker, $item'decimals) = $TokenInfo$_not_null($TokenInfo$_load_opt(__tact_dict_get_int_cell($self'mi1, 257, 17))); - return (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4), $item'ticker); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $Maps$_fun_allItems((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4)) = $self; - return (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4), $self'ma1); -} - -;; -;; Receivers of a Contract Maps -;; - -((cell, cell, cell, cell, cell, cell, cell, cell), ()) $Maps$_internal_text_2db851a56a7d13c238a59783d8ff80cf1858df1504309cbd940f1daa4f32dec5((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline { - var ($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4) = $self; - $self'mi1~__tact_dict_set_int_cell(257, 17, $TokenInfo$_store_cell($TokenInfo$_constructor_ticker_decimals(__gen_slice_string_974f8ddbc705ede61e61b42cacf124a05423b9c40120e70d786f3889001bd327(), 9))); - $self'mi2~__tact_dict_set_int_int(257, 41507952295811122, true, 1); - $self'mi3~__tact_dict_set_int_int(257, 1766847064778384329583297500742918515827483896875618958121606201292619776, 1725436586697640946858688965569256363112777243042596638790631055949824, 257); - $self'mi4~__tact_dict_set_int_slice(257, (- 900), __gen_slice_address_58e2d2fc9446d00e70b3ad3ea1eb88797c323bae517f2527f807f62d09a56fdc()); - $self'ma1~__tact_dict_set_slice_cell(267, __gen_slice_address_58e2d2fc9446d00e70b3ad3ea1eb88797c323bae517f2527f807f62d09a56fdc(), $TokenInfo$_store_cell($TokenInfo$_constructor_ticker_decimals(__gen_slice_string_78fea0ad55f744389997adb1b2c7823104a9b1ad6443ff331d83f89f506d2239(), 18))); - $self'ma2~__tact_dict_set_slice_int(267, __gen_slice_address_58e2d2fc9446d00e70b3ad3ea1eb88797c323bae517f2527f807f62d09a56fdc(), true, 1); - $self'ma3~__tact_dict_set_slice_int(267, __gen_slice_address_58e2d2fc9446d00e70b3ad3ea1eb88797c323bae517f2527f807f62d09a56fdc(), 1230000000, 257); - $self'ma4~__tact_dict_set_slice_slice(267, __gen_slice_address_58e2d2fc9446d00e70b3ad3ea1eb88797c323bae517f2527f807f62d09a56fdc(), my_address()); - return (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4), ()); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), ()) $Maps$_internal_text_cb12f2784b4b1117ff896a549c344705dda2007d8c283d970bc6ecf3a62f4651((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline { - var ($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4) = $self; - $self'mi1~__tact_dict_set_int_cell(257, 17, $TokenInfo$_store_opt(null())); - $self'mi2~__tact_dict_set_int_int(257, 41507952295811122, null(), 1); - $self'mi3~__tact_dict_set_int_int(257, 1766847064778384329583297500742918515827483896875618958121606201292619776, null(), 257); - $self'mi4~__tact_dict_set_int_slice(257, (- 900), null()); - $self'ma1~__tact_dict_set_slice_cell(267, __gen_slice_address_58e2d2fc9446d00e70b3ad3ea1eb88797c323bae517f2527f807f62d09a56fdc(), $TokenInfo$_store_opt(null())); - $self'ma2~__tact_dict_set_slice_int(267, __gen_slice_address_58e2d2fc9446d00e70b3ad3ea1eb88797c323bae517f2527f807f62d09a56fdc(), null(), 1); - $self'ma3~__tact_dict_set_slice_int(267, __gen_slice_address_58e2d2fc9446d00e70b3ad3ea1eb88797c323bae517f2527f807f62d09a56fdc(), null(), 257); - $self'ma4~__tact_dict_set_slice_slice(267, __gen_slice_address_58e2d2fc9446d00e70b3ad3ea1eb88797c323bae517f2527f807f62d09a56fdc(), null()); - return (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4), ()); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), ()) $Maps$_internal_text_0c1cd7659460b0f81b94237cd5ffc13a4fb58ea689b2815de74dd3770646a4ea((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline { - var ($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4) = $self; - $self'mi1 = null(); - $self'mi2 = null(); - $self'mi3 = null(); - $self'mi4 = null(); - $self'ma1 = null(); - $self'ma2 = null(); - $self'ma3 = null(); - $self'ma4 = null(); - return (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell)), ()) $Maps$_internal_binary_Replace((cell, cell, cell, cell, cell, cell, cell, cell) $self, (cell) $msg) impure inline { - var ($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4) = $self; - var ($msg'items) = $msg; - $self'mi4 = $msg'items; - return (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell)), ()) $Maps$_internal_binary_Deploy((cell, cell, cell, cell, cell, cell, cell, cell) $self, (int) $deploy) impure inline { - var ($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4) = $self; - var ($deploy'queryId) = $deploy; - ($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4)~$Maps$_fun_notify($DeployOk$_store_cell($DeployOk$_constructor_queryId($deploy'queryId))); - return (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4), ()); -} - -;; -;; Get methods of a Contract Maps -;; - -_ %oneItem(int $$key) method_id(68660) { - int $key = $$key; - var self = $Maps$_contract_load(); - var res = self~$Maps$_fun_oneItem($key); - return res; -} - -_ %itemCheck() method_id(102138) { - var self = $Maps$_contract_load(); - var res = self~$Maps$_fun_itemCheck(); - return res; -} - -_ %allItems() method_id(68968) { - var self = $Maps$_contract_load(); - var res = self~$Maps$_fun_allItems(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmXQ8zqXfntaCb4rAvbcHfKMmYmRpFSFxDg37mhzMUskQF"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Maps -;; - -((cell, cell, cell, cell, cell, cell, cell, cell), int) $Maps$_contract_router_internal((cell, cell, cell, cell, cell, cell, cell, cell) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Replace message - if (op == 1384510466) { - var msg = in_msg~$Replace$_load(); - self~$Maps$_internal_binary_Replace(msg); - return (self, true); - } - - ;; Receive Deploy message - if (op == 2490013878) { - var msg = in_msg~$Deploy$_load(); - self~$Maps$_internal_binary_Deploy(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "set keys" message - if (text_op == 0x2db851a56a7d13c238a59783d8ff80cf1858df1504309cbd940f1daa4f32dec5) { - self~$Maps$_internal_text_2db851a56a7d13c238a59783d8ff80cf1858df1504309cbd940f1daa4f32dec5(); - return (self, true); - } - - ;; Receive "delete keys" message - if (text_op == 0xcb12f2784b4b1117ff896a549c344705dda2007d8c283d970bc6ecf3a62f4651) { - self~$Maps$_internal_text_cb12f2784b4b1117ff896a549c344705dda2007d8c283d970bc6ecf3a62f4651(); - return (self, true); - } - - ;; Receive "clear" message - if (text_op == 0x0c1cd7659460b0f81b94237cd5ffc13a4fb58ea689b2815de74dd3770646a4ea) { - self~$Maps$_internal_text_0c1cd7659460b0f81b94237cd5ffc13a4fb58ea689b2815de74dd3770646a4ea(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Maps$_contract_load(); - - ;; Handle operation - int handled = self~$Maps$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Maps$_contract_store(self); -} diff --git a/src/test/bugs/output/bugs_Maps.code.fif b/src/test/bugs/output/bugs_Maps.code.fif deleted file mode 100644 index b459ffaa8..000000000 --- a/src/test/bugs/output/bugs_Maps.code.fif +++ /dev/null @@ -1,814 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC __tact_dict_set_int_int - DECLPROC __tact_dict_set_int_cell - DECLPROC __tact_dict_get_int_cell - DECLPROC __tact_dict_set_int_slice - DECLPROC __tact_dict_get_int_slice - DECLPROC __tact_dict_set_slice_int - DECLPROC __tact_dict_set_slice_cell - DECLPROC __tact_dict_set_slice_slice - DECLPROC $TokenInfo$_store - DECLPROC $TokenInfo$_store_cell - DECLPROC $TokenInfo$_not_null - DECLPROC $TokenInfo$_store_opt - DECLPROC $TokenInfo$_load - DECLPROC $TokenInfo$_as_optional - DECLPROC $TokenInfo$_load_opt - DECLPROC $Replace$_load - DECLPROC $Deploy$_load - DECLPROC $DeployOk$_store - DECLPROC $DeployOk$_store_cell - DECLPROC $Maps$_store - DECLPROC $Maps$_load - DECLPROC $StateInit$_not_null - DECLPROC $Maps$init$_load - DECLPROC $Maps$_contract_init - DECLPROC $Maps$_contract_load - DECLPROC $Maps$_contract_store - DECLPROC $global_send - DECLPROC $Maps$_fun_oneItem - DECLPROC $Maps$_fun_itemCheck - DECLPROC $Maps$_fun_allItems - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $Maps$_fun_forward - DECLPROC $Maps$_fun_notify - DECLPROC $TokenInfo$_constructor_ticker_decimals - DECLPROC $DeployOk$_constructor_queryId - DECLPROC $Maps$_internal_text_2db851a56a7d13c238a59783d8ff80cf1858df1504309cbd940f1daa4f32dec5 - DECLPROC $Maps$_internal_text_cb12f2784b4b1117ff896a549c344705dda2007d8c283d970bc6ecf3a62f4651 - DECLPROC $Maps$_internal_text_0c1cd7659460b0f81b94237cd5ffc13a4fb58ea689b2815de74dd3770646a4ea - DECLPROC $Maps$_internal_binary_Replace - DECLPROC $Maps$_internal_binary_Deploy - 68660 DECLMETHOD %oneItem - 102138 DECLMETHOD %itemCheck - 68968 DECLMETHOD %allItems - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Maps$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_dict_set_int_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> - }> - __tact_dict_set_int_cell PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTISETREF - }> - }> - __tact_dict_get_int_cell PROCINLINE:<{ - -ROT - DICTIGETREF - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> - }> - __tact_dict_set_int_slice PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTISET - }> - }> - __tact_dict_get_int_slice PROCINLINE:<{ - -ROT - DICTIGET - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> - }> - __tact_dict_set_slice_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> - }> - __tact_dict_set_slice_cell PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTSETREF - }> - }> - __tact_dict_set_slice_slice PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - NEWC - SWAP - STSLICER - s1 s3 s3 XCHG3 - DICTSETB - }> - }> - $TokenInfo$_store PROCINLINE:<{ - NEWC - ROT - STSLICER - ENDC - ROT - STREF - 257 PUSHINT - STIX - }> - $TokenInfo$_store_cell PROCINLINE:<{ - NEWC - -ROT - $TokenInfo$_store INLINECALLDICT - ENDC - }> - $TokenInfo$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $TokenInfo$_store_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $TokenInfo$_not_null INLINECALLDICT - $TokenInfo$_store_cell INLINECALLDICT - }> - }> - $TokenInfo$_load PROCINLINE:<{ - LDREF - SWAP - CTOS - SWAP - 257 PUSHINT - LDIX - -ROT - }> - $TokenInfo$_as_optional PROCINLINE:<{ - 2 TUPLE - }> - $TokenInfo$_load_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - CTOS - $TokenInfo$_load INLINECALLDICT - 1 2 BLKDROP2 - $TokenInfo$_as_optional INLINECALLDICT - }> - }> - $Replace$_load PROCINLINE:<{ - 32 LDU - SWAP - 1384510466 PUSHINT - EQUAL - 129 THROWIFNOT - LDDICT - SWAP - }> - $Deploy$_load PROCINLINE:<{ - 32 LDU - SWAP - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - SWAP - }> - $DeployOk$_store PROCINLINE:<{ - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - }> - $DeployOk$_store_cell PROCINLINE:<{ - NEWC - SWAP - $DeployOk$_store INLINECALLDICT - ENDC - }> - $Maps$_store PROCINLINE:<{ - s7 s8 XCHG2 - STDICT - s1 s5 XCHG - STDICT - s0 s3 XCHG - NEWC - STDICT - s1 s2 XCHG - STDICT - STDICT - s0 s2 XCHG - NEWC - STDICT - s1 s3 XCHG - STDICT - s1 s3 XCHG - STDICT - ENDC - ROT - STREF - ENDC - SWAP - STREF - }> - $Maps$_load PROCINLINE:<{ - LDDICT - LDDICT - LDREF - SWAP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - DROP - s6 s8 XCHG - s6 s7 XCHG - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $Maps$init$_load PROCINLINE:<{ - LDDICT - SWAP - }> - $Maps$_contract_init PROCREF:<{ - PUSHNULL - SWAP - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - }> - $Maps$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Maps$_load INLINECALLDICT - 1 8 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Maps$init$_load INLINECALLDICT - SWAP - ENDS - $Maps$_contract_init INLINECALLDICT - }> - $Maps$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 8 -ROLL - $Maps$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $Maps$_fun_oneItem PROCREF:<{ - 257 PUSHINT - s6 PUSH - s0 s2 XCHG - __tact_dict_get_int_slice INLINECALLDICT - }> - $Maps$_fun_itemCheck PROCREF:<{ - s7 PUSH - 257 PUSHINT - 17 PUSHINT - __tact_dict_get_int_cell INLINECALLDICT - $TokenInfo$_load_opt INLINECALLDICT - ISNULL - IFJMP:<{ - B{b5ee9c7241010101000b0000126e6f7420666f756e64de9b0ed2} B>boc - s7 PUSH - 257 PUSHINT - 17 PUSHINT - __tact_dict_get_int_cell INLINECALLDICT - $TokenInfo$_load_opt INLINECALLDICT - $TokenInfo$_not_null INLINECALLDICT - DROP - }> - $Maps$_fun_allItems PROCREF:<{ - s3 PUSH - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $Maps$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $Maps$_fun_notify PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - FALSE - PUSHNULL - $Maps$_fun_forward INLINECALLDICT - }> - $TokenInfo$_constructor_ticker_decimals PROCINLINE:<{ - }> - $DeployOk$_constructor_queryId PROCINLINE:<{ - }> - $Maps$_internal_text_2db851a56a7d13c238a59783d8ff80cf1858df1504309cbd940f1daa4f32dec5 PROCINLINE:<{ - 257 PUSHINT - 17 PUSHINT - B{b5ee9c72410101010006000008534849429c299a01} B>boc boc boc boc boc boc boc - $Maps$_internal_text_cb12f2784b4b1117ff896a549c344705dda2007d8c283d970bc6ecf3a62f4651 PROCINLINE:<{ - 257 PUSHINT - 17 PUSHINT - PUSHNULL - $TokenInfo$_store_opt INLINECALLDICT - s3 s10 XCHG - __tact_dict_set_int_cell INLINECALLDICT - s0 s6 XCHG - 257 PUSHINT - 41507952295811122 PUSHINT - PUSHNULL - 1 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - 257 PUSHINT - 240 PUSHPOW2 - PUSHNULL - s2 PUSH - s4 s9 XCHG - __tact_dict_set_int_int INLINECALLDICT - s0 s4 XCHG - 257 PUSHINT - -900 PUSHINT - PUSHNULL - __tact_dict_set_int_slice INLINECALLDICT - 267 PUSHINT - B{b5ee9c7241010101002400004380107bfaaa5cc6e5368e5f9799188bd798cd22e04ab16d1d8ea4fc37480741e6351064a3e1a6} B>boc boc boc boc - $Maps$_internal_text_0c1cd7659460b0f81b94237cd5ffc13a4fb58ea689b2815de74dd3770646a4ea PROCINLINE:<{ - 8 BLKDROP - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - }> - $Maps$_internal_binary_Replace PROCINLINE:<{ - s5 POP - }> - $Maps$_internal_binary_Deploy PROCINLINE:<{ - $DeployOk$_constructor_queryId INLINECALLDICT - $DeployOk$_store_cell INLINECALLDICT - $Maps$_fun_notify INLINECALLDICT - }> - %oneItem PROC:<{ - $Maps$_contract_load INLINECALLDICT - 8 ROLL - $Maps$_fun_oneItem INLINECALLDICT - 8 1 BLKDROP2 - }> - %itemCheck PROC:<{ - $Maps$_contract_load INLINECALLDICT - $Maps$_fun_itemCheck INLINECALLDICT - 8 1 BLKDROP2 - }> - %allItems PROC:<{ - $Maps$_contract_load INLINECALLDICT - $Maps$_fun_allItems INLINECALLDICT - 8 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d5851387a7158666e7461436234724176626348664b4d6d596d527046534678446733376d687a4d55736b5146} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Maps$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 1384510466 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Replace$_load INLINECALLDICT - NIP - $Maps$_internal_binary_Replace INLINECALLDICT - TRUE - }> - DUP - 2490013878 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Deploy$_load INLINECALLDICT - NIP - $Maps$_internal_binary_Deploy INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - DUP - 20679741547226056994218165901989272276431841371562016390891270178720653172421 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Maps$_internal_text_2db851a56a7d13c238a59783d8ff80cf1858df1504309cbd940f1daa4f32dec5 INLINECALLDICT - TRUE - RETALT - }> - DUP - 91852984975307913686408035959712270224946049965597414967854176874959492564561 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Maps$_internal_text_cb12f2784b4b1117ff896a549c344705dda2007d8c283d970bc6ecf3a62f4651 INLINECALLDICT - TRUE - RETALT - }> - 5478712514858160429952559455580538452086151038933333316181387135928500659434 PUSHINT - EQUAL - IFJMP:<{ - $Maps$_internal_text_0c1cd7659460b0f81b94237cd5ffc13a4fb58ea689b2815de74dd3770646a4ea INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Maps$_contract_load INLINECALLDICT - 2 8 BLKSWAP - $Maps$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Maps$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/bugs/output/bugs_Maps.code.rev.fif b/src/test/bugs/output/bugs_Maps.code.rev.fif deleted file mode 100644 index 7173e0343..000000000 --- a/src/test/bugs/output/bugs_Maps.code.rev.fif +++ /dev/null @@ -1,933 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_68660; - DECLPROC ?fun_68968; - DECLPROC ?fun_102138; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_0d1a805e0fc5efb2; - DECLPROC ?fun_ref_10c319ce0484d846; - DECLPROC ?fun_ref_24e49a921269dc27; - DECLPROC ?fun_ref_7ca9042b0b911c4c; - DECLPROC ?fun_ref_b2a3baab4bcc4202; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_c5719d112936d17a; - DECLPROC ?fun_ref_d9390365e4e77f51; - DECLPROC ?fun_ref_e051ccf6dcd4d4e0; - DECLPROC ?fun_ref_e31d986f279fa0fb; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_7ca9042b0b911c4c INLINECALLDICT - 2 8 BLKSWAP - ?fun_ref_24e49a921269dc27 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 8 1 BLKSWAP - s7 s8 XCHG2 - STDICT - s1 s5 XCHG - STDICT - s0 s3 XCHG - NEWC - STDICT - s1 s2 XCHG - STDICT - STDICT - s0 s2 XCHG - NEWC - STDICT - s1 s3 XCHG - STDICT - s1 s3 XCHG - STDICT - ENDC - ROT - STREF - ENDC - s0 s1 XCHG - STREF - ENDC - c4 POP - }> - ?fun_68660 PROC:<{ - ?fun_ref_7ca9042b0b911c4c INLINECALLDICT - 1 8 BLKSWAP - ?fun_ref_0d1a805e0fc5efb2 INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_68968 PROC:<{ - ?fun_ref_7ca9042b0b911c4c INLINECALLDICT - ?fun_ref_10c319ce0484d846 INLINECALLDICT - 8 1 BLKDROP2 - }> - ?fun_102138 PROC:<{ - ?fun_ref_7ca9042b0b911c4c INLINECALLDICT - ?fun_ref_c5719d112936d17a INLINECALLDICT - 8 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D5851387A7158666E7461436234724176626348664B4D6D596D527046534678446733376D687A4D55736B514682_} PUSHSLICE - }> - ?fun_ref_0d1a805e0fc5efb2 PROCREF:<{ - 257 PUSHINT - s6 PUSH - s0 s2 XCHG - ROTREV - DICTIGET - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - }> - ?fun_ref_10c319ce0484d846 PROCREF:<{ - s3 PUSH - }> - ?fun_ref_24e49a921269dc27 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 1384510466 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1384510466 PUSHINT - EQUAL - 129 THROWIFNOT - LDDICT - s0 s1 XCHG - s1 POP - s5 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 2490013878 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - s0 s1 XCHG - s1 POP - NEWC - s0 s1 XCHG - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - 0 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 EQINT - <{ - s0 POP - }> PUSHCONT - <{ - HASHSU - s0 PUSH - 20679741547226056994218165901989272276431841371562016390891270178720653172421 PUSHINT - EQUAL - <{ - s0 POP - ?fun_ref_e051ccf6dcd4d4e0 INLINECALLDICT - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - s0 PUSH - 91852984975307913686408035959712270224946049965597414967854176874959492564561 PUSHINT - EQUAL - <{ - s0 POP - ?fun_ref_d9390365e4e77f51 INLINECALLDICT - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - 5478712514858160429952559455580538452086151038933333316181387135928500659434 PUSHINT - EQUAL - <{ - 8 BLKDROP - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> IFREFELSE - 0 PUSHINT - }> - ?fun_ref_7ca9042b0b911c4c PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDDICT - LDDICT - LDREF - s0 s1 XCHG - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - s0 POP - s6 s8 XCHG - s6 s7 XCHG - 1 8 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDDICT - s0 s1 XCHG - s0 s1 XCHG - ENDS - ?fun_ref_b2a3baab4bcc4202 INLINECALLDICT - }> - ?fun_ref_b2a3baab4bcc4202 PROCREF:<{ - NULL - s0 s1 XCHG - NULL - NULL - NULL - NULL - NULL - NULL - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_c5719d112936d17a PROCREF:<{ - s7 PUSH - 257 PUSHINT - 17 PUSHINT - ROTREV - DICTIGETREF - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - CTOS - LDREF - s0 s1 XCHG - CTOS - s0 s1 XCHG - 257 PUSHINT - LDIX - ROTREV - 1 2 BLKDROP2 - 2 TUPLE - }> PUSHCONT - IFELSE - ISNULL - <{ - x{6E6F7420666F756E648} PUSHSLICE - }> PUSHCONT - IFJMP - s7 PUSH - 257 PUSHINT - 17 PUSHINT - ROTREV - DICTIGETREF - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - CTOS - LDREF - s0 s1 XCHG - CTOS - s0 s1 XCHG - 257 PUSHINT - LDIX - ROTREV - 1 2 BLKDROP2 - 2 TUPLE - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 POP - }> - ?fun_ref_d9390365e4e77f51 PROCREF:<{ - 257 PUSHINT - 17 PUSHINT - NULL - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - NEWC - ROTREV - NEWC - ROT - STSLICER - ENDC - ROT - STREF - 257 PUSHINT - STIX - ENDC - }> PUSHCONT - IFELSE - s3 s10 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISETREF - }> PUSHCONT - IFELSE - s0 s6 XCHG - 257 PUSHINT - 41507952295811122 PUSHINT - NULL - 1 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - 257 PUSHINT - 240 PUSHPOW2 - NULL - s2 PUSH - s4 s9 XCHG - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s4 XCHG - 257 PUSHINT - -900 PUSHINT - NULL - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISET - }> PUSHCONT - IFELSE - 267 PUSHINT - x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE - NULL - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - NEWC - ROTREV - NEWC - ROT - STSLICER - ENDC - ROT - STREF - 257 PUSHINT - STIX - ENDC - }> PUSHCONT - IFELSE - s3 s6 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTSETREF - }> PUSHCONT - IFELSE - 267 PUSHINT - x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E6351_} PUSHREFSLICE - s2 s4 XCHG - NULL - 1 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - 267 PUSHINT - x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE - s2 s3 XCHG - NULL - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - 267 PUSHINT - x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE - s2 s9 XCHG - NULL - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STSLICER - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s6 s7 XCHG - s5 s6 XCHG - s4 s5 XCHG - s3 s4 XCHG - s1 s3 s0 XCHG3 - }> - ?fun_ref_e051ccf6dcd4d4e0 PROCREF:<{ - 257 PUSHINT - 17 PUSHINT - x{534849428} PUSHSLICE - 9 PUSHINT - NEWC - ROTREV - NEWC - ROT - STSLICER - ENDC - ROT - STREF - 257 PUSHINT - STIX - ENDC - s3 s10 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISETREF - }> PUSHCONT - IFELSE - s0 s6 XCHG - 257 PUSHINT - 41507952295811122 PUSHINT - -1 PUSHINT - 1 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - 257 PUSHINT - 240 PUSHPOW2 - 230 PUSHPOW2 - s2 PUSH - s4 s9 XCHG - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - 257 PUSHINT - -900 PUSHINT - x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E6351_} PUSHREFSLICE - s3 s7 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISET - }> PUSHCONT - IFELSE - 267 PUSHINT - x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE - x{444F47458} PUSHSLICE - 18 PUSHINT - NEWC - ROTREV - NEWC - ROT - STSLICER - ENDC - ROT - STREF - 257 PUSHINT - STIX - ENDC - s3 s6 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTSETREF - }> PUSHCONT - IFELSE - 267 PUSHINT - x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E6351_} PUSHREFSLICE - s2 s4 XCHG - -1 PUSHINT - 1 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - 267 PUSHINT - x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E6351_} PUSHREFSLICE - s2 s3 XCHG - 1230000000 PUSHINT - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - 267 PUSHINT - x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE - MYADDR - s3 s10 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STSLICER - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s6 s7 XCHG - s5 s6 XCHG - s4 s5 XCHG - s3 s4 XCHG - s1 s3 s0 XCHG3 - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> -}END>c \ No newline at end of file diff --git a/src/test/bugs/output/bugs_Maps.constants.fc b/src/test/bugs/output/bugs_Maps.constants.fc deleted file mode 100644 index fb82a0e73..000000000 --- a/src/test/bugs/output/bugs_Maps.constants.fc +++ /dev/null @@ -1,11 +0,0 @@ -;; String "not found" -slice __gen_slice_string_ef17d523607831d9b150cef9b36c6e32272887eac302eefcd2ca22fed29f4e21() asm "B{b5ee9c7241010101000b0000126e6f7420666f756e64de9b0ed2} B>boc boc boc boc X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_dict_set_int_int -(cell, ()) __tact_dict_set_int_int(cell d, int kl, int k, int v, int vl) inline; - -;; __tact_dict_set_int_cell -(cell, ()) __tact_dict_set_int_cell(cell d, int kl, int k, cell v) inline; - -;; __tact_dict_get_int_cell -cell __tact_dict_get_int_cell(cell d, int kl, int k) inline; - -;; __tact_dict_set_int_slice -(cell, ()) __tact_dict_set_int_slice(cell d, int kl, int k, slice v) inline; - -;; __tact_dict_get_int_slice -slice __tact_dict_get_int_slice(cell d, int kl, int k) inline; - -;; __tact_dict_set_slice_int -(cell, ()) __tact_dict_set_slice_int(cell d, int kl, slice k, int v, int vl) inline; - -;; __tact_dict_set_slice_cell -(cell, ()) __tact_dict_set_slice_cell(cell d, int kl, slice k, cell v) inline; - -;; __tact_dict_set_slice_slice -(cell, ()) __tact_dict_set_slice_slice(cell d, int kl, slice k, slice v) inline; - -;; $TokenInfo$_store -builder $TokenInfo$_store(builder build_0, (slice, int) v) inline; - -;; $TokenInfo$_store_cell -cell $TokenInfo$_store_cell((slice, int) v) inline; - -;; $TokenInfo$_not_null -((slice, int)) $TokenInfo$_not_null(tuple v) inline; - -;; $TokenInfo$_store_opt -cell $TokenInfo$_store_opt(tuple v) inline; - -;; $TokenInfo$_load -(slice, ((slice, int))) $TokenInfo$_load(slice sc_0) inline; - -;; $TokenInfo$_as_optional -tuple $TokenInfo$_as_optional((slice, int) v) inline; - -;; $TokenInfo$_load_opt -tuple $TokenInfo$_load_opt(cell cl) inline; - -;; $Replace$_load -(slice, ((cell))) $Replace$_load(slice sc_0) inline; - -;; $Deploy$_load -(slice, ((int))) $Deploy$_load(slice sc_0) inline; - -;; $DeployOk$_store -builder $DeployOk$_store(builder build_0, (int) v) inline; - -;; $DeployOk$_store_cell -cell $DeployOk$_store_cell((int) v) inline; - -;; $Maps$_store -builder $Maps$_store(builder build_0, (cell, cell, cell, cell, cell, cell, cell, cell) v) inline; - -;; $Maps$_load -(slice, ((cell, cell, cell, cell, cell, cell, cell, cell))) $Maps$_load(slice sc_0) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $Maps$init$_load -(slice, ((cell))) $Maps$init$_load(slice sc_0) inline; - -;; $Maps$_contract_init -(cell, cell, cell, cell, cell, cell, cell, cell) $Maps$_contract_init(cell $arg) impure inline_ref; - -;; $Maps$_contract_load -(cell, cell, cell, cell, cell, cell, cell, cell) $Maps$_contract_load() impure inline_ref; - -;; $Maps$_contract_store -() $Maps$_contract_store((cell, cell, cell, cell, cell, cell, cell, cell) v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $Maps$_fun_oneItem -((cell, cell, cell, cell, cell, cell, cell, cell), slice) $Maps$_fun_oneItem((cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $Maps$_fun_itemCheck -((cell, cell, cell, cell, cell, cell, cell, cell), slice) $Maps$_fun_itemCheck((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $Maps$_fun_allItems -((cell, cell, cell, cell, cell, cell, cell, cell), cell) $Maps$_fun_allItems((cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $Maps$_fun_forward -((cell, cell, cell, cell, cell, cell, cell, cell), ()) $Maps$_fun_forward((cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $Maps$_fun_notify -((cell, cell, cell, cell, cell, cell, cell, cell), ()) $Maps$_fun_notify((cell, cell, cell, cell, cell, cell, cell, cell) $self, cell $body) impure inline; - -;; $TokenInfo$_constructor_ticker_decimals -((slice, int)) $TokenInfo$_constructor_ticker_decimals(slice ticker, int decimals) inline; - -;; $DeployOk$_constructor_queryId -((int)) $DeployOk$_constructor_queryId(int queryId) inline; diff --git a/src/test/bugs/output/bugs_Maps.md b/src/test/bugs/output/bugs_Maps.md deleted file mode 100644 index 85f6d4387..000000000 --- a/src/test/bugs/output/bugs_Maps.md +++ /dev/null @@ -1,131 +0,0 @@ -# TACT Compilation Report -Contract: Maps -BOC Size: 1814 bytes - -# Types -Total Types: 20 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## TokenInfo -TLB: `_ ticker:^string decimals:int257 = TokenInfo` -Signature: `TokenInfo{ticker:^string,decimals:int257}` - -## Replace -TLB: `replace#5285f402 items:dict = Replace` -Signature: `Replace{items:dict}` - -## Mint -TLB: `mint#fc708bd2 amount:int257 receiver:address = Mint` -Signature: `Mint{amount:int257,receiver:address}` - -## JettonData -TLB: `_ totalSupply:int257 mintable:bool owner:address content:^cell walletCode:^cell = JettonData` -Signature: `JettonData{totalSupply:int257,mintable:bool,owner:address,content:^cell,walletCode:^cell}` - -## TokenTransfer -TLB: `token_transfer#0f8a7ea5 queryId:uint64 amount:coins destination:address response_destination:address custom_payload:Maybe ^cell forward_ton_amount:coins forward_payload:remainder = TokenTransfer` -Signature: `TokenTransfer{queryId:uint64,amount:coins,destination:address,response_destination:address,custom_payload:Maybe ^cell,forward_ton_amount:coins,forward_payload:remainder}` - -## TokenTransferInternal -TLB: `token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address response_destination:address forward_ton_amount:coins forward_payload:remainder = TokenTransferInternal` -Signature: `TokenTransferInternal{queryId:uint64,amount:coins,from:address,response_destination:address,forward_ton_amount:coins,forward_payload:remainder}` - -## TokenNotification -TLB: `token_notification#7362d09c queryId:uint64 amount:coins from:address forward_payload:remainder = TokenNotification` -Signature: `TokenNotification{queryId:uint64,amount:coins,from:address,forward_payload:remainder}` - -## TokenBurn -TLB: `token_burn#595f07bc queryId:uint64 amount:coins owner:address response_destination:address = TokenBurn` -Signature: `TokenBurn{queryId:uint64,amount:coins,owner:address,response_destination:address}` - -## TokenBurnNotification -TLB: `token_burn_notification#7bdd97de queryId:uint64 amount:coins owner:address response_destination:Maybe address = TokenBurnNotification` -Signature: `TokenBurnNotification{queryId:uint64,amount:coins,owner:address,response_destination:Maybe address}` - -## TokenExcesses -TLB: `token_excesses#d53276db queryId:uint64 = TokenExcesses` -Signature: `TokenExcesses{queryId:uint64}` - -## TokenUpdateContent -TLB: `token_update_content#af1ca26a content:^cell = TokenUpdateContent` -Signature: `TokenUpdateContent{content:^cell}` - -## JettonWalletData -TLB: `_ balance:int257 owner:address master:address walletCode:^cell = JettonWalletData` -Signature: `JettonWalletData{balance:int257,owner:address,master:address,walletCode:^cell}` - -## Deploy -TLB: `deploy#946a98b6 queryId:uint64 = Deploy` -Signature: `Deploy{queryId:uint64}` - -## DeployOk -TLB: `deploy_ok#aff90f57 queryId:uint64 = DeployOk` -Signature: `DeployOk{queryId:uint64}` - -## FactoryDeploy -TLB: `factory_deploy#6d0ff13b queryId:uint64 cashback:address = FactoryDeploy` -Signature: `FactoryDeploy{queryId:uint64,cashback:address}` - -## ChangeOwner -TLB: `change_owner#819dbe99 queryId:uint64 newOwner:address = ChangeOwner` -Signature: `ChangeOwner{queryId:uint64,newOwner:address}` - -## ChangeOwnerOk -TLB: `change_owner_ok#327b2b4a queryId:uint64 newOwner:address = ChangeOwnerOk` -Signature: `ChangeOwnerOk{queryId:uint64,newOwner:address}` - -# Get Methods -Total Get Methods: 3 - -## oneItem -Argument: key - -## itemCheck - -## allItems - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -3734: Not Owner -4159: Invalid value!! -4429: Invalid sender -6898: The total supply will be overlapping. -13650: Invalid bounced message -18668: Can't Mint Anymore -42708: Invalid sender! -43422: Invalid value - Burn -62972: Invalid balance \ No newline at end of file diff --git a/src/test/bugs/output/bugs_Maps.pkg b/src/test/bugs/output/bugs_Maps.pkg deleted file mode 100644 index 78ac50502..000000000 --- a/src/test/bugs/output/bugs_Maps.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Maps","code":"te6ccgECIQEABwoAART/APSkE/S88sgLAQIBYgIDAtbQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVF9s88uCCyPhDAcx/AcoAVXBQePQAFfQAA8j0ABL0APQAAsj0ABP0ABP0AMlYzMkBzMntVBwEAgEgEhMC3u2i7fsBkjB/4HAh10nCH5UwINcLH94gghBShfQCuo4UMNMfAYIQUoX0Arry4IH0BAExNX/gIIIQlGqYtrqOqDDTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gwACRMOMNcAUGATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPAcD/vkBIILwLbhRpWp9E8I4pZeD2P+AzxhY3xUEMJy9lA8dqk8y3sW6joYw2zx/2zHgIILwyxLyeEtLERf/iWpUnDRHBd2iAH2MKD2XC8bs86YvRlG6joYw2zx/2zHggvAMHNdllGCw+BuUI3zV/8E6T7WOpomygV3nTdN3Bkak6roJCgsByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsACACYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzALigQEBgBGLRTSElCh5yFnIWM8WyVjMgQEBzwDJEDogbpUwWfRaMJRBM/QV4gaBAQGCKJN3Qz/yGDJ/cSFulVtZ9FowmMgBzwBBM/RC4oEBAYPvg+UiEEkhbpVbWfRaMJjIAc8AQTP0QuKBAQGB/HyJEDcPDAHwgQEBgBFtIG6SMG2OFiBu8tCAbyLIWchYzxbJWMyBAQHPAMniEDogbpUwWfRaMJRBM/QV4gaBAQGCKJN3Qz/yGDJtcSFulVtZ9FowmMgBzwBBM/RC4oEBAYPvbSIQSSFulVtZ9FowmMgBzwBBM/RC4gSBAQGB/HxtDgAenV8IbW1tbW1tbW1/2zHgA/ggbpUwWfRaMJRBM/QU4oEBC40IYAQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRItERPR0WIASyFnIWM8WyVjMgQEBzwDJEDYgbpUwWfRZMJRBM/QT4oEBC4kQJH9xIW6VW1n0WTCYyAHPAEEz9EHigQELiRAjDw8NAMSCEElQT4CBAQEhbpVbWfRZMJjIAc8AQTP0QeKBAQuNCGAEHv6qlzG5TaOX5eZGIvXmM0i4EqxbR2OpPw3SAdB5jUT4KBA6IG6VMFn0WTCYyAHPFkEz9EHiEGcQVhBFEDRBMAL8IG6VMFn0WjCUQTP0FOKBAQuNCGAEHv6qlzG5TaOX5eZGIvXmM0i4EqxbR2OpPw3SAdB5jURtIG6SMG2OFiBu8tCAbyLIWchYzxbJWMyBAQHPAMniEDYgbpUwWfRZMJRBM/QT4oEBC4kQJG1xIW6VW1n0WTCYyAHPAEEz9EHiDxAAQ4AQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRAB/oEBC40IYAQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRBAjbYEBASFulVtZ9FkwmMgBzwBBM/RB4oEBC40IYAQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRBApbSBulTBZ9FkwmMgBzxZBM/RB4hBnEFYRAAwQRRA0QTACA5hoFBUCASAYGQIToNNs8VQfbPGyBhwWAg+ho2zzbPGyBhwXAByBAQEmAln0DG+hkjBt3wACIwIBIBobAgFIHyACEbXfW2ebZ42QMBwdALm3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOE7Lpy1Zp2W5nQdLNsozdFJABeO1E0NQB+GPSAAGOHfQE9ATUAdD0BPQE9ATUMND0BPQE9AQwEGgQZ2wY4Pgo1wsKgwm68uCJ9AQBAdHbPB4AwCeBAQGAEVn0DW+hkjBt3yBukjBtn9DUAdABgQEB1wBZbBJvAuJum4uW5vdCBmb3VuZI4CeBAQGAEVn0DW+hkjBt3yBukjBtn9DUAdABgQEB1wBZbBJvAuIgbvLQgG8iMAAQbQFtbW1tbW0AEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtWFE4enFYZm50YUNiNHJBdmJjSGZLTW1ZbVJwRlNGeERnMzdtaHpNVXNrUUaCA=","abi":"{\"name\":\"Maps\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TokenInfo\",\"header\":null,\"fields\":[{\"name\":\"ticker\",\"type\":{\"kind\":\"simple\",\"type\":\"string\",\"optional\":false}},{\"name\":\"decimals\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"Replace\",\"header\":1384510466,\"fields\":[{\"name\":\"items\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"address\"}}]},{\"name\":\"Mint\",\"header\":4235234258,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"receiver\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"JettonData\",\"header\":null,\"fields\":[{\"name\":\"totalSupply\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mintable\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"TokenTransfer\",\"header\":260734629,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"response_destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"custom_payload\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"forward_ton_amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forward_payload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenTransferInternal\",\"header\":395134233,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"response_destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"forward_ton_amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forward_payload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenNotification\",\"header\":1935855772,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"forward_payload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenBurn\",\"header\":1499400124,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"response_destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"TokenBurnNotification\",\"header\":2078119902,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"response_destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenExcesses\",\"header\":3576854235,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"TokenUpdateContent\",\"header\":2937889386,\"fields\":[{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"JettonWalletData\",\"header\":null,\"fields\":[{\"name\":\"balance\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"master\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Deploy\",\"header\":2490013878,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"DeployOk\",\"header\":2952335191,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"FactoryDeploy\",\"header\":1829761339,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"cashback\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"ChangeOwner\",\"header\":2174598809,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"ChangeOwnerOk\",\"header\":846932810,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"set keys\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"delete keys\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"clear\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Replace\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Deploy\"}}],\"getters\":[{\"name\":\"oneItem\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"itemCheck\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"string\",\"optional\":false}},{\"name\":\"allItems\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"TokenInfo\",\"valueFormat\":\"ref\"}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"3734\":{\"message\":\"Not Owner\"},\"4159\":{\"message\":\"Invalid value!!\"},\"4429\":{\"message\":\"Invalid sender\"},\"6898\":{\"message\":\"The total supply will be overlapping.\"},\"13650\":{\"message\":\"Invalid bounced message\"},\"18668\":{\"message\":\"Can't Mint Anymore\"},\"42708\":{\"message\":\"Invalid sender!\"},\"43422\":{\"message\":\"Invalid value - Burn\"},\"62972\":{\"message\":\"Invalid balance\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"arg","type":{"kind":"dict","key":"int","value":"bool"}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECIwEABxQAAQHAAQEFoXvZAgEU/wD0pBP0vPLICwMCAWISBAIBIA0FAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtWFE4enFYZm50YUNiNHJBdmJjSGZLTW1ZbVJwRlNGeERnMzdtaHpNVXNrUUaCAAEbCvu1E0NIAAYAIBIAsKALm3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOE7Lpy1Zp2W5nQdLNsozdFJACEbXfW2ebZ42QMCEMAMAngQEBgBFZ9A1voZIwbd8gbpIwbZ/Q1AHQAYEBAdcAWWwSbwLibpuLlub3QgZm91bmSOAngQEBgBFZ9A1voZIwbd8gbpIwbZ/Q1AHQAYEBAdcAWWwSbwLiIG7y0IBvIjACA5hoEA4CD6GjbPNs8bIGIQ8AAiMCE6DTbPFUH2zxsgYhEQAcgQEBJgJZ9AxvoZIwbd8C1tAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUX2zzy4ILI+EMBzH8BygBVcFB49AAV9AADyPQAEvQA9AACyPQAE/QAE/QAyVjMyQHMye1UIRMC3u2i7fsBkjB/4HAh10nCH5UwINcLH94gghBShfQCuo4UMNMfAYIQUoX0Arry4IH0BAExNX/gIIIQlGqYtrqOqDDTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gwACRMOMNcB4UA/75ASCC8C24UaVqfRPCOKWXg9j/gM8YWN8VBDCcvZQPHapPMt7Fuo6GMNs8f9sx4CCC8MsS8nhLSxEX/4lqVJw0RwXdogB9jCg9lwvG7POmL0ZRuo6GMNs8f9sx4ILwDBzXZZRgsPgblCN81f/BOk+1jqaJsoFd503TdwZGpOq6GhYVAB6dXwhtbW1tbW1tbX/bMeAB8IEBAYARbSBukjBtjhYgbvLQgG8iyFnIWM8WyVjMgQEBzwDJ4hA6IG6VMFn0WjCUQTP0FeIGgQEBgiiTd0M/8hgybXEhbpVbWfRaMJjIAc8AQTP0QuKBAQGD720iEEkhbpVbWfRaMJjIAc8AQTP0QuIEgQEBgfx8bRcC/CBulTBZ9FowlEEz9BTigQELjQhgBB7+qpcxuU2jl+XmRiL15jNIuBKsW0djqT8N0gHQeY1EbSBukjBtjhYgbvLQgG8iyFnIWM8WyVjMgQEBzwDJ4hA2IG6VMFn0WTCUQTP0E+KBAQuJECRtcSFulVtZ9FkwmMgBzwBBM/RB4h0YAf6BAQuNCGAEHv6qlzG5TaOX5eZGIvXmM0i4EqxbR2OpPw3SAdB5jUQQI22BAQEhbpVbWfRZMJjIAc8AQTP0QeKBAQuNCGAEHv6qlzG5TaOX5eZGIvXmM0i4EqxbR2OpPw3SAdB5jUQQKW0gbpUwWfRZMJjIAc8WQTP0QeIQZxBWGQAMEEUQNEEwAuKBAQGAEYtFNISUKHnIWchYzxbJWMyBAQHPAMkQOiBulTBZ9FowlEEz9BXiBoEBAYIok3dDP/IYMn9xIW6VW1n0WjCYyAHPAEEz9ELigQEBg++D5SIQSSFulVtZ9FowmMgBzwBBM/RC4oEBAYH8fIkQNx0bA/ggbpUwWfRaMJRBM/QU4oEBC40IYAQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRItERPR0WIASyFnIWM8WyVjMgQEBzwDJEDYgbpUwWfRZMJRBM/QT4oEBC4kQJH9xIW6VW1n0WTCYyAHPAEEz9EHigQELiRAjHR0cAMSCEElQT4CBAQEhbpVbWfRZMJjIAc8AQTP0QeKBAQuNCGAEHv6qlzG5TaOX5eZGIvXmM0i4EqxbR2OpPw3SAdB5jUT4KBA6IG6VMFn0WTCYyAHPFkEz9EHiEGcQVhBFEDRBMABDgBB7+qpcxuU2jl+XmRiL15jNIuBKsW0djqT8N0gHQeY1EAE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwfAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ACAAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwBeO1E0NQB+GPSAAGOHfQE9ATUAdD0BPQE9ATUMND0BPQE9AQwEGgQZ2wY4Pgo1wsKgwm68uCJ9AQBAdHbPCIAEG0BbW1tbW1tO7QBiw=="}},"sources":{"src\\test\\bugs\\issue42.tact":"aW1wb3J0ICJAc3RkbGliL2RlcGxveSI7DQoNCnN0cnVjdCBUb2tlbkluZm8gew0KICAgIHRpY2tlcjogU3RyaW5nOw0KICAgIGRlY2ltYWxzOiBJbnQ7IC8vIGFzIHVpbnQ4OyAvLyA8LS0tLS0tIElTU1VFIEhFUkUsIElGIFdFIFJFTU9WRSAiYXMgdWludDgiLCBUSEUgQ09ERSBDT01QSUxFUyBXSVRIT1VUIFBST0JMRU0NCn0NCg0KLy8gbWVzc2FnZXMgY2FuIGNvbnRhaW4gbWFwcw0KbWVzc2FnZSBSZXBsYWNlIHsNCiAgICBpdGVtczogbWFwPEludCwgQWRkcmVzcz47DQp9DQoNCmNvbnRyYWN0IE1hcHMgd2l0aCBEZXBsb3lhYmxlIHsNCg0KICAgIC8vIG1hcHMgd2l0aCBJbnQgYXMga2V5DQogICAgbWkxOiBtYXA8SW50LCBUb2tlbkluZm8+Ow0KICAgIG1pMjogbWFwPEludCwgQm9vbD47DQogICAgbWkzOiBtYXA8SW50LCBJbnQ+Ow0KICAgIG1pNDogbWFwPEludCwgQWRkcmVzcz47DQogICAgDQogICAgLy8gbWFwcyB3aXRoIEFkZHJlc3MgYXMga2V5DQogICAgbWExOiBtYXA8QWRkcmVzcywgVG9rZW5JbmZvPjsNCiAgICBtYTI6IG1hcDxBZGRyZXNzLCBCb29sPjsNCiAgICBtYTM6IG1hcDxBZGRyZXNzLCBJbnQ+Ow0KICAgIG1hNDogbWFwPEFkZHJlc3MsIEFkZHJlc3M+Ow0KDQogICAgaW5pdChhcmc6IG1hcDxJbnQsIEJvb2w+KSB7DQogICAgICAgIC8vIG5vIG5lZWQgdG8gaW5pdGlhbGl6ZSBtYXBzIGlmIHRoZXkncmUgZW1wdHkNCiAgICAgICAgc2VsZi5taTIgPSBhcmc7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgic2V0IGtleXMiKSB7DQogICAgICAgIC8vIGtleXMgYXJlIEludA0KICAgICAgICBzZWxmLm1pMS5zZXQoMTcsIFRva2VuSW5mb3t0aWNrZXI6ICJTSElCIiwgZGVjaW1hbHM6IDl9KTsNCiAgICAgICAgc2VsZi5taTIuc2V0KDB4OTM3NzQzM2ZmMjE4MzIsIHRydWUpOw0KICAgICAgICBzZWxmLm1pMy5zZXQocG93KDIsMjQwKSwgcG93KDIsMjMwKSk7DQogICAgICAgIHNlbGYubWk0LnNldCgtOTAwLCBhZGRyZXNzKCJFUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFCMk4iKSk7DQogICAgICAgIC8vIGtleXMgYXJlIEFkZHJlc3MNCiAgICAgICAgc2VsZi5tYTEuc2V0KGFkZHJlc3MoIkVRQ0QzOVZTNWpjcHRITDh2TWpFWHJ6R2FSY0NWWXRvN0hVbjRicEFPZzh4cUIyTiIpLCBUb2tlbkluZm97dGlja2VyOiAiRE9HRSIsIGRlY2ltYWxzOiAxOH0pOw0KICAgICAgICBzZWxmLm1hMi5zZXQoYWRkcmVzcygiVVFDRDM5VlM1amNwdEhMOHZNakVYcnpHYVJjQ1ZZdG83SFVuNGJwQU9nOHhxRUJJIiksIHRydWUpOw0KICAgICAgICBzZWxmLm1hMy5zZXQoYWRkcmVzcygiRVFDRDM5VlM1amNwdEhMOHZNakVYcnpHYVJjQ1ZZdG83SFVuNGJwQU9nOHhxQjJOIiksIHRvbigiMS4yMyIpKTsNCiAgICAgICAgc2VsZi5tYTQuc2V0KGFkZHJlc3MoIlVRQ0QzOVZTNWpjcHRITDh2TWpFWHJ6R2FSY0NWWXRvN0hVbjRicEFPZzh4cUVCSSIpLCBteUFkZHJlc3MoKSk7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgiZGVsZXRlIGtleXMiKSB7DQogICAgICAgIC8vIGtleXMgYXJlIEludA0KICAgICAgICBzZWxmLm1pMS5zZXQoMTcsIG51bGwpOw0KICAgICAgICBzZWxmLm1pMi5zZXQoMHg5Mzc3NDMzZmYyMTgzMiwgbnVsbCk7DQogICAgICAgIHNlbGYubWkzLnNldChwb3coMiwyNDApLCBudWxsKTsNCiAgICAgICAgc2VsZi5taTQuc2V0KC05MDAsIG51bGwpOw0KICAgICAgICAvLyBrZXlzIGFyZSBBZGRyZXNzDQogICAgICAgIHNlbGYubWExLnNldChhZGRyZXNzKCJFUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFCMk4iKSwgbnVsbCk7DQogICAgICAgIHNlbGYubWEyLnNldChhZGRyZXNzKCJVUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFFQkkiKSwgbnVsbCk7DQogICAgICAgIHNlbGYubWEzLnNldChhZGRyZXNzKCJFUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFCMk4iKSwgbnVsbCk7DQogICAgICAgIHNlbGYubWE0LnNldChhZGRyZXNzKCJVUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFFQkkiKSwgbnVsbCk7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgiY2xlYXIiKSB7DQogICAgICAgIHNlbGYubWkxID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5taTIgPSBlbXB0eU1hcCgpOw0KICAgICAgICBzZWxmLm1pMyA9IGVtcHR5TWFwKCk7DQogICAgICAgIHNlbGYubWk0ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5tYTEgPSBlbXB0eU1hcCgpOw0KICAgICAgICBzZWxmLm1hMiA9IGVtcHR5TWFwKCk7DQogICAgICAgIHNlbGYubWEzID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5tYTQgPSBlbXB0eU1hcCgpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBSZXBsYWNlKSB7DQogICAgICAgIC8vIHJlcGxhY2UgYWxsIGl0ZW1zIGluIHRoZSBtYXAgd2l0aCB0aG9zZSBjb21pbmcgaW4gdGhlIG1lc3NhZ2UNCiAgICAgICAgc2VsZi5taTQgPSBtc2cuaXRlbXM7DQogICAgfQ0KDQogICAgLy8gaWYgdGhlIGtleSBpcyBub3QgZm91bmQsIHRoZSBnZXQoKSBtZXRob2QgcmV0dXJucyBudWxsDQogICAgZ2V0IGZ1biBvbmVJdGVtKGtleTogSW50KTogQWRkcmVzcz8gew0KICAgICAgICByZXR1cm4gc2VsZi5taTQuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpdGVtQ2hlY2soKTogU3RyaW5nIHsNCiAgICAgICAgaWYgKHNlbGYubWkxLmdldCgxNykgPT0gbnVsbCkgew0KICAgICAgICAgICAgcmV0dXJuICJub3QgZm91bmQiOw0KICAgICAgICB9DQogICAgICAgIGxldCBpdGVtOiBUb2tlbkluZm8gPSBzZWxmLm1pMS5nZXQoMTcpISE7IC8vIHRoZSAhISB3aWxsIHRlbGwgdGhlIGNvbXBpbGVyIGl0J3Mgbm90IG51bGwNCiAgICAgICAgcmV0dXJuIGl0ZW0udGlja2VyOw0KICAgIH0NCg0KICAgIC8vIHlvdSBjYW4gcmV0dXJuIG1hcHMgZnJvbSBnZXR0ZXJzDQogICAgZ2V0IGZ1biBhbGxJdGVtcygpOiBtYXA8QWRkcmVzcywgVG9rZW5JbmZvPiB7DQogICAgICAgIHJldHVybiBzZWxmLm1hMTsNCiAgICB9DQp9DQo=","src\\test\\bugs\\issue43.tact":"aW1wb3J0ICJAc3RkbGliL293bmFibGUiOw0KDQptZXNzYWdlIE1pbnQgew0KICAgIGFtb3VudDogSW50Ow0KICAgIHJlY2VpdmVyOiBBZGRyZXNzOw0KfQ0KDQpzdHJ1Y3QgSmV0dG9uRGF0YSB7DQogICAgdG90YWxTdXBwbHk6IEludDsNCiAgICBtaW50YWJsZTogQm9vbDsNCiAgICBvd25lcjogQWRkcmVzczsNCiAgICBjb250ZW50OiBDZWxsOw0KICAgIHdhbGxldENvZGU6IENlbGw7DQp9DQoNCmNvbnRyYWN0IFNhbXBsZUpldHRvbiB3aXRoIEpldHRvbiB7DQogICAgdG90YWxTdXBwbHk6IEludCBhcyBjb2luczsNCiAgICBtYXhfc3VwcGx5OiBJbnQgYXMgY29pbnM7DQogICAgb3duZXI6IEFkZHJlc3M7DQogICAgY29udGVudDogQ2VsbDsNCiAgICBtaW50YWJsZTogQm9vbDsNCg0KICAgIGluaXQob3duZXI6IEFkZHJlc3MsIGNvbnRlbnQ6IENlbGwsIG1heF9zdXBwbHk6IEludCkgew0KICAgICAgICBzZWxmLnRvdGFsU3VwcGx5ID0gMDsNCiAgICAgICAgc2VsZi5tYXhfc3VwcGx5ID0gbWF4X3N1cHBseTsNCiAgICAgICAgc2VsZi5vd25lciA9IG93bmVyOw0KICAgICAgICBzZWxmLm1pbnRhYmxlID0gdHJ1ZTsNCiAgICAgICAgc2VsZi5jb250ZW50ID0gY29udGVudDsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogTWludCkgew0KICAgICAgICBsZXQgY3R4OiBDb250ZXh0ID0gY29udGV4dCgpOw0KICAgICAgICByZXF1aXJlKGN0eC5zZW5kZXIgPT0gc2VsZi5vd25lciwgIk5vdCBPd25lciIpOw0KICAgICAgICByZXF1aXJlKHNlbGYubWludGFibGUsICJDYW4ndCBNaW50IEFueW1vcmUiKTsNCiAgICAgICAgc2VsZi5taW50KG1zZy5yZWNlaXZlciwgbXNnLmFtb3VudCwgc2VsZi5vd25lcik7IC8vKHRvLCBhbW91bnQsIHJlc3BvbnNlX2Rlc3RpbmF0aW9uKQ0KICAgIH0NCg0KICAgIHJlY2VpdmUoIk1pbnQ6IDEwMCIpIHsgLy8gUHVibGljIE1pbnRpbmcNCiAgICAgICAgbGV0IGN0eDogQ29udGV4dCA9IGNvbnRleHQoKTsNCiAgICAgICAgcmVxdWlyZShzZWxmLm1pbnRhYmxlLCAiQ2FuJ3QgTWludCBBbnltb3JlIik7DQogICAgICAgIHNlbGYubWludChjdHguc2VuZGVyLCAxMDAsIHNlbGYub3duZXIpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoIk93bmVyOiBNaW50Q2xvc2UiKSB7DQogICAgICAgIGxldCBjdHg6IENvbnRleHQgPSBjb250ZXh0KCk7DQogICAgICAgIHJlcXVpcmUoY3R4LnNlbmRlciA9PSBzZWxmLm93bmVyLCAiTm90IE93bmVyIik7DQogICAgICAgIHNlbGYubWludGFibGUgPSBmYWxzZTsNCiAgICB9DQp9IA0KDQovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy8NCkBpbnRlcmZhY2UoIm9yZy50b24uamV0dG9uLm1hc3RlciIpDQp0cmFpdCBKZXR0b24gd2l0aCBPd25hYmxlIHsNCiAgICB0b3RhbFN1cHBseTogSW50OyAvLyBBbHJlYWR5IHNldCBpbml0aWFsbHkgDQogICAgbWF4X3N1cHBseTogSW50Ow0KICAgIG1pbnRhYmxlOiBCb29sOw0KICAgIG93bmVyOiBBZGRyZXNzOw0KICAgIGNvbnRlbnQ6IENlbGw7DQoNCiAgICByZWNlaXZlKG1zZzogVG9rZW5VcGRhdGVDb250ZW50KSB7DQogICAgICAgIHNlbGYucmVxdWlyZU93bmVyKCk7ICAgICAgICAgICAgICAgIC8vIEFsbG93IGNoYW5naW5nIGNvbnRlbnQgb25seSBieSBvd25lcg0KICAgICAgICBzZWxmLmNvbnRlbnQgPSBtc2cuY29udGVudDsgICAgICAgICAvLyBVcGRhdGUgY29udGVudA0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBUb2tlbkJ1cm5Ob3RpZmljYXRpb24pIHsNCiAgICAgICAgc2VsZi5yZXF1aXJlV2FsbGV0KG1zZy5vd25lcik7ICAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2FsbGV0DQogICAgICAgIHNlbGYudG90YWxTdXBwbHkgPSBzZWxmLnRvdGFsU3VwcGx5IC0gbXNnLmFtb3VudDsgLy8gVXBkYXRlIHN1cHBseQ0KDQogICAgICAgIGlmIChtc2cucmVzcG9uc2VfZGVzdGluYXRpb24gIT0gbnVsbCkgeyAvLyBDYXNoYmFjaw0KICAgICAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgICAgICB0bzogbXNnLnJlc3BvbnNlX2Rlc3RpbmF0aW9uISEsIA0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgIGJvdW5jZTogZmFsc2UsDQogICAgICAgICAgICAgICAgbW9kZTogU2VuZFJlbWFpbmluZ1ZhbHVlICsgU2VuZElnbm9yZUVycm9ycywNCiAgICAgICAgICAgICAgICBib2R5OiBUb2tlbkV4Y2Vzc2Vzew0KICAgICAgICAgICAgICAgICAgICBxdWVyeUlkOiBtc2cucXVlcnlJZA0KICAgICAgICAgICAgICAgIH0udG9DZWxsKCkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgLy8gUHJpdmF0ZSBNZXRob2RzIC8vIA0KICAgIC8vIEB0byBUaGUgQWRkcmVzcyByZWNlaXZlIHRoZSBKZXR0b24gdG9rZW4gYWZ0ZXIgbWludGluZw0KICAgIC8vIEBhbW91bnQgVGhlIGFtb3VudCBvZiBKZXR0b24gdG9rZW4gYmVpbmcgbWludGVkDQogICAgLy8gQHJlc3BvbnNlX2Rlc3RpbmF0aW9uIFRoZSBwcmV2aW91cyBvd25lciBhZGRyZXNzDQogICAgZnVuIG1pbnQodG86IEFkZHJlc3MsIGFtb3VudDogSW50LCByZXNwb25zZV9kZXN0aW5hdGlvbjogQWRkcmVzcykgew0KDQogICAgICAgIHJlcXVpcmUoc2VsZi50b3RhbFN1cHBseSArIGFtb3VudCA8PSBzZWxmLm1heF9zdXBwbHksICJUaGUgdG90YWwgc3VwcGx5IHdpbGwgYmUgb3ZlcmxhcHBpbmcuIik7DQogICAgICAgIHNlbGYudG90YWxTdXBwbHkgPSBzZWxmLnRvdGFsU3VwcGx5ICsgYW1vdW50OyAvLyBVcGRhdGUgdG90YWwgc3VwcGx5DQoNCiAgICAgICAgbGV0IHdpbml0OiBTdGF0ZUluaXQgPSBzZWxmLmdldEpldHRvbldhbGxldEluaXQodG8pOyAvLyBDcmVhdGUgbWVzc2FnZQ0KICAgICAgICBzZW5kKFNlbmRQYXJhbWV0ZXJzew0KICAgICAgICAgICAgdG86IGNvbnRyYWN0QWRkcmVzcyh3aW5pdCksIA0KICAgICAgICAgICAgdmFsdWU6IDAsIA0KICAgICAgICAgICAgYm91bmNlOiBmYWxzZSwNCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSwNCiAgICAgICAgICAgIGJvZHk6IFRva2VuVHJhbnNmZXJJbnRlcm5hbHsgDQogICAgICAgICAgICAgICAgcXVlcnlJZDogMCwNCiAgICAgICAgICAgICAgICBhbW91bnQ6IGFtb3VudCwNCiAgICAgICAgICAgICAgICBmcm9tOiBteUFkZHJlc3MoKSwNCiAgICAgICAgICAgICAgICByZXNwb25zZV9kZXN0aW5hdGlvbjogcmVzcG9uc2VfZGVzdGluYXRpb24sDQogICAgICAgICAgICAgICAgZm9yd2FyZF90b25fYW1vdW50OiAwLA0KICAgICAgICAgICAgICAgIGZvcndhcmRfcGF5bG9hZDogZW1wdHlTbGljZSgpDQogICAgICAgICAgICB9LnRvQ2VsbCgpLA0KICAgICAgICAgICAgY29kZTogd2luaXQuY29kZSwNCiAgICAgICAgICAgIGRhdGE6IHdpbml0LmRhdGENCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgZnVuIHJlcXVpcmVXYWxsZXQob3duZXI6IEFkZHJlc3MpIHsNCiAgICAgICAgbGV0IGN0eDogQ29udGV4dCA9IGNvbnRleHQoKTsNCiAgICAgICAgbGV0IHdpbml0OiBTdGF0ZUluaXQgPSBzZWxmLmdldEpldHRvbldhbGxldEluaXQob3duZXIpOw0KICAgICAgICByZXF1aXJlKGNvbnRyYWN0QWRkcmVzcyh3aW5pdCkgPT0gY3R4LnNlbmRlciwgIkludmFsaWQgc2VuZGVyIik7DQogICAgfQ0KDQogICAgdmlydHVhbCBmdW4gZ2V0SmV0dG9uV2FsbGV0SW5pdChhZGRyZXNzOiBBZGRyZXNzKTogU3RhdGVJbml0IHsNCiAgICAgICAgcmV0dXJuIGluaXRPZiBKZXR0b25EZWZhdWx0V2FsbGV0KG15QWRkcmVzcygpLCBhZGRyZXNzKTsNCiAgICB9DQoNCiAgICAvLyBHZXQgTWV0aG9kcyAvLw0KICAgIGdldCBmdW4gZ2V0X2pldHRvbl9kYXRhKCk6IEpldHRvbkRhdGEgew0KICAgICAgICBsZXQgY29kZTogQ2VsbCA9IHNlbGYuZ2V0SmV0dG9uV2FsbGV0SW5pdChteUFkZHJlc3MoKSkuY29kZTsNCiAgICAgICAgcmV0dXJuIEpldHRvbkRhdGF7IA0KICAgICAgICAgICAgdG90YWxTdXBwbHk6IHNlbGYudG90YWxTdXBwbHksIA0KICAgICAgICAgICAgbWludGFibGU6IHNlbGYubWludGFibGUsIA0KICAgICAgICAgICAgb3duZXI6IHNlbGYub3duZXIsIA0KICAgICAgICAgICAgY29udGVudDogc2VsZi5jb250ZW50LCANCiAgICAgICAgICAgIHdhbGxldENvZGU6IGNvZGUNCiAgICAgICAgfTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGdldF93YWxsZXRfYWRkcmVzcyhvd25lcjogQWRkcmVzcyk6IEFkZHJlc3Mgew0KICAgICAgICBsZXQgd2luaXQ6IFN0YXRlSW5pdCA9IHNlbGYuZ2V0SmV0dG9uV2FsbGV0SW5pdChvd25lcik7DQogICAgICAgIHJldHVybiBjb250cmFjdEFkZHJlc3Mod2luaXQpOw0KICAgIH0NCn0NCg0KDQptZXNzYWdlKDB4ZjhhN2VhNSkgVG9rZW5UcmFuc2ZlciB7DQogICAgcXVlcnlJZDogSW50IGFzIHVpbnQ2NDsNCiAgICBhbW91bnQ6IEludCBhcyBjb2luczsNCiAgICBkZXN0aW5hdGlvbjogQWRkcmVzczsNCiAgICByZXNwb25zZV9kZXN0aW5hdGlvbjogQWRkcmVzczsNCiAgICBjdXN0b21fcGF5bG9hZDogQ2VsbD87DQogICAgZm9yd2FyZF90b25fYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgZm9yd2FyZF9wYXlsb2FkOiBTbGljZSBhcyByZW1haW5pbmc7DQp9DQoNCm1lc3NhZ2UoMHgxNzhkNDUxOSkgVG9rZW5UcmFuc2ZlckludGVybmFsIHsNCiAgICBxdWVyeUlkOiBJbnQgYXMgdWludDY0Ow0KICAgIGFtb3VudDogSW50IGFzIGNvaW5zOw0KICAgIGZyb206IEFkZHJlc3M7DQogICAgcmVzcG9uc2VfZGVzdGluYXRpb246IEFkZHJlc3M7DQogICAgZm9yd2FyZF90b25fYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgZm9yd2FyZF9wYXlsb2FkOiBTbGljZSBhcyByZW1haW5pbmc7DQp9DQoNCm1lc3NhZ2UoMHg3MzYyZDA5YykgVG9rZW5Ob3RpZmljYXRpb24gew0KICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7DQogICAgYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgZnJvbTogQWRkcmVzczsNCiAgICBmb3J3YXJkX3BheWxvYWQ6IFNsaWNlIGFzIHJlbWFpbmluZzsgLy8gQ29tbWVudCBUZXh0IG1lc3NhZ2Ugd2hlbiBUcmFuc2ZlciB0aGUgamV0dG9uIA0KfQ0KDQptZXNzYWdlKDB4NTk1ZjA3YmMpIFRva2VuQnVybiB7DQogICAgcXVlcnlJZDogSW50IGFzIHVpbnQ2NDsNCiAgICBhbW91bnQ6IEludCBhcyBjb2luczsNCiAgICBvd25lcjogQWRkcmVzczsNCiAgICByZXNwb25zZV9kZXN0aW5hdGlvbjogQWRkcmVzczsNCn0NCg0KbWVzc2FnZSgweDdiZGQ5N2RlKSBUb2tlbkJ1cm5Ob3RpZmljYXRpb24gew0KICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7DQogICAgYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgb3duZXI6IEFkZHJlc3M7DQogICAgcmVzcG9uc2VfZGVzdGluYXRpb246IEFkZHJlc3M/Ow0KfQ0KDQptZXNzYWdlKDB4ZDUzMjc2ZGIpIFRva2VuRXhjZXNzZXMgew0KICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7DQp9DQoNCm1lc3NhZ2UgVG9rZW5VcGRhdGVDb250ZW50IHsNCiAgICBjb250ZW50OiBDZWxsOw0KfQ0KDQoNCg0KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vDQpAaW50ZXJmYWNlKCJvcmcudG9uLmpldHRvbi53YWxsZXQiKQ0KY29udHJhY3QgSmV0dG9uRGVmYXVsdFdhbGxldCB7DQogICAgY29uc3QgbWluVG9uc0ZvclN0b3JhZ2U6IEludCA9IHRvbigiMC4wMSIpOw0KICAgIGNvbnN0IGdhc0NvbnN1bXB0aW9uOiBJbnQgPSB0b24oIjAuMDEiKTsNCg0KICAgIGJhbGFuY2U6IEludDsNCiAgICBvd25lcjogQWRkcmVzczsNCiAgICBtYXN0ZXI6IEFkZHJlc3M7DQoNCiAgICBpbml0KG1hc3RlcjogQWRkcmVzcywgb3duZXI6IEFkZHJlc3MpIHsNCiAgICAgICAgc2VsZi5iYWxhbmNlID0gMDsNCiAgICAgICAgc2VsZi5vd25lciA9IG93bmVyOw0KICAgICAgICBzZWxmLm1hc3RlciA9IG1hc3RlcjsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogVG9rZW5UcmFuc2ZlcikgeyAvLyAweGY4YTdlYTUNCiAgICAgICAgbGV0IGN0eDogQ29udGV4dCA9IGNvbnRleHQoKTsgLy8gQ2hlY2sgc2VuZGVyDQogICAgICAgIHJlcXVpcmUoY3R4LnNlbmRlciA9PSBzZWxmLm93bmVyLCAiSW52YWxpZCBzZW5kZXIiKTsNCg0KICAgICAgICBsZXQgZndkRmVlOiBJbnQgPSBjdHgucmVhZEZvcndhcmRGZWUoKSArIGN0eC5yZWFkRm9yd2FyZEZlZSgpOyAgLy8gR2FzIGNoZWNrcw0KICAgICAgICBsZXQgZmluYWw6IEludCA9ICAyICogc2VsZi5nYXNDb25zdW1wdGlvbiArIHNlbGYubWluVG9uc0ZvclN0b3JhZ2UgKyBmd2RGZWU7DQogICAgICAgIHJlcXVpcmUoY3R4LnZhbHVlID4gbWluKGZpbmFsLCB0b24oIjAuMDEiKSksICJJbnZhbGlkIHZhbHVlISEiKTsgDQoNCiAgICAgICAgc2VsZi5iYWxhbmNlID0gc2VsZi5iYWxhbmNlIC0gbXNnLmFtb3VudDsgLy8gVXBkYXRlIGJhbGFuY2UNCiAgICAgICAgcmVxdWlyZShzZWxmLmJhbGFuY2UgPj0gMCwgIkludmFsaWQgYmFsYW5jZSIpOw0KDQogICAgICAgIGxldCBpbml0OiBTdGF0ZUluaXQgPSBpbml0T2YgSmV0dG9uRGVmYXVsdFdhbGxldChzZWxmLm1hc3RlciwgbXNnLmRlc3RpbmF0aW9uKTsgIA0KICAgICAgICBsZXQgd2FsbGV0QWRkcmVzczogQWRkcmVzcyA9IGNvbnRyYWN0QWRkcmVzcyhpbml0KTsNCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgICAgICB0bzogd2FsbGV0QWRkcmVzcywgDQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgbW9kZTogU2VuZFJlbWFpbmluZ1ZhbHVlLCANCiAgICAgICAgICAgICAgICBib3VuY2U6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGJvZHk6IFRva2VuVHJhbnNmZXJJbnRlcm5hbHsNCiAgICAgICAgICAgICAgICAgICAgcXVlcnlJZDogbXNnLnF1ZXJ5SWQsDQogICAgICAgICAgICAgICAgICAgIGFtb3VudDogbXNnLmFtb3VudCwNCiAgICAgICAgICAgICAgICAgICAgZnJvbTogc2VsZi5vd25lciwNCiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VfZGVzdGluYXRpb246IG1zZy5yZXNwb25zZV9kZXN0aW5hdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgZm9yd2FyZF90b25fYW1vdW50OiBtc2cuZm9yd2FyZF90b25fYW1vdW50LA0KICAgICAgICAgICAgICAgICAgICBmb3J3YXJkX3BheWxvYWQ6IG1zZy5mb3J3YXJkX3BheWxvYWQNCiAgICAgICAgICAgICAgICB9LnRvQ2VsbCgpLA0KICAgICAgICAgICAgICAgIGNvZGU6IGluaXQuY29kZSwNCiAgICAgICAgICAgICAgICBkYXRhOiBpbml0LmRhdGENCiAgICAgICAgICAgIH0pOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBUb2tlblRyYW5zZmVySW50ZXJuYWwpIHsgLy8gMHgxNzhkNDUxOQ0KICAgICAgICBsZXQgY3R4OiBDb250ZXh0ID0gY29udGV4dCgpOw0KDQogICAgICAgIGlmIChjdHguc2VuZGVyICE9IHNlbGYubWFzdGVyKSB7DQogICAgICAgICAgICBsZXQgc2luaXQ6IFN0YXRlSW5pdCA9IGluaXRPZiBKZXR0b25EZWZhdWx0V2FsbGV0KHNlbGYubWFzdGVyLCBtc2cuZnJvbSk7DQogICAgICAgICAgICByZXF1aXJlKGNvbnRyYWN0QWRkcmVzcyhzaW5pdCkgPT0gY3R4LnNlbmRlciwgIkludmFsaWQgc2VuZGVyISIpOw0KICAgICAgICB9DQoNCiAgICAgICAgc2VsZi5iYWxhbmNlID0gc2VsZi5iYWxhbmNlICsgbXNnLmFtb3VudDsNCiAgICAgICAgcmVxdWlyZShzZWxmLmJhbGFuY2UgPj0gMCwgIkludmFsaWQgYmFsYW5jZSIpOyAvLyBVcGRhdGUgYmFsYW5jZQ0KDQogICAgICAgIGlmIChtc2cuZm9yd2FyZF90b25fYW1vdW50ID4gMCkgeyANCiAgICAgICAgICAgIHNlbmQoU2VuZFBhcmFtZXRlcnN7DQogICAgICAgICAgICAgICAgdG86IHNlbGYub3duZXIsDQogICAgICAgICAgICAgICAgdmFsdWU6IG1zZy5mb3J3YXJkX3Rvbl9hbW91bnQsDQogICAgICAgICAgICAgICAgYm91bmNlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBib2R5OiBUb2tlbk5vdGlmaWNhdGlvbiB7IC8vIDB4NzM2MmQwOWMgLSBub3RpZnkgbmV3IG93bmVyDQogICAgICAgICAgICAgICAgICAgIHF1ZXJ5SWQ6IG1zZy5xdWVyeUlkLA0KICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IG1zZy5hbW91bnQsDQogICAgICAgICAgICAgICAgICAgIGZyb206IG1zZy5mcm9tLA0KICAgICAgICAgICAgICAgICAgICBmb3J3YXJkX3BheWxvYWQ6IG1zZy5mb3J3YXJkX3BheWxvYWQNCiAgICAgICAgICAgICAgICB9LnRvQ2VsbCgpDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KDQogICAgICAgIGxldCBtc2dWYWx1ZTogSW50ID0gc2VsZi5tc2dWYWx1ZShjdHgudmFsdWUpOyAgLy8gR2V0IHZhbHVlIGZvciBnYXMNCiAgICAgICAgbGV0IGZ3ZEZlZTogSW50ID0gY3R4LnJlYWRGb3J3YXJkRmVlKCk7DQogICAgICAgIGR1bXAoZndkRmVlKTsNCiAgICAgICAgbXNnVmFsdWUgPSBtc2dWYWx1ZSAtIG1zZy5mb3J3YXJkX3Rvbl9hbW91bnQgLSBmd2RGZWU7DQogICAgICAgIC8vIG1zZ1ZhbHVlID0gbXNnVmFsdWUgLSBtc2cuZm9yd2FyZF90b25fYW1vdW50IC0gbWluKGZ3ZEZlZSwgdG9uKCIwLjAxIikpOw0KICAgICAgICANCiAgICAgICAgaWYgKG1zZy5yZXNwb25zZV9kZXN0aW5hdGlvbiAhPSBudWxsKSB7IC8vIENhc2hiYWNrDQogICAgICAgICAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVycyB7DQogICAgICAgICAgICAgICAgICAgIHRvOiBtc2cucmVzcG9uc2VfZGVzdGluYXRpb24sIA0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbXNnVmFsdWUsICANCiAgICAgICAgICAgICAgICAgICAgYm91bmNlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgYm9keTogVG9rZW5FeGNlc3NlcyB7IC8vIDB4ZDUzMjc2ZGINCiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5SWQ6IG1zZy5xdWVyeUlkDQogICAgICAgICAgICAgICAgICAgIH0udG9DZWxsKCksDQogICAgICAgICAgICAgICAgICAgIG1vZGU6IFNlbmRJZ25vcmVFcnJvcnMNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGdldCBmdW4gbXNnVmFsdWUodmFsdWU6IEludCk6IEludCB7DQogICAgICAgIGxldCBtc2dWYWx1ZTogSW50ID0gdmFsdWU7DQogICAgICAgIGxldCB0b25CYWxhbmNlQmVmb3JlTXNnOiBJbnQgPSBteUJhbGFuY2UoKSAtIG1zZ1ZhbHVlOw0KICAgICAgICBsZXQgc3RvcmFnZUZlZTogSW50ID0gc2VsZi5taW5Ub25zRm9yU3RvcmFnZSAtIG1pbih0b25CYWxhbmNlQmVmb3JlTXNnLCBzZWxmLm1pblRvbnNGb3JTdG9yYWdlKTsNCiAgICAgICAgbXNnVmFsdWUgPSBtc2dWYWx1ZSAtIChzdG9yYWdlRmVlICsgc2VsZi5nYXNDb25zdW1wdGlvbik7DQogICAgICAgIHJldHVybiBtc2dWYWx1ZTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogVG9rZW5CdXJuKSB7DQogICAgICAgIGxldCBjdHg6IENvbnRleHQgPSBjb250ZXh0KCk7DQogICAgICAgIHJlcXVpcmUoY3R4LnNlbmRlciA9PSBzZWxmLm93bmVyLCAiSW52YWxpZCBzZW5kZXIiKTsgIC8vIENoZWNrIHNlbmRlcg0KDQogICAgICAgIHNlbGYuYmFsYW5jZSA9IHNlbGYuYmFsYW5jZSAtIG1zZy5hbW91bnQ7IC8vIFVwZGF0ZSBiYWxhbmNlDQogICAgICAgIHJlcXVpcmUoc2VsZi5iYWxhbmNlID49IDAsICJJbnZhbGlkIGJhbGFuY2UiKTsNCg0KICAgICAgICBsZXQgZndkRmVlOiBJbnQgPSBjdHgucmVhZEZvcndhcmRGZWUoKTsgLy8gR2FzIGNoZWNrcw0KICAgICAgICByZXF1aXJlKGN0eC52YWx1ZSA+IGZ3ZEZlZSArIDIgKiBzZWxmLmdhc0NvbnN1bXB0aW9uICsgc2VsZi5taW5Ub25zRm9yU3RvcmFnZSwgIkludmFsaWQgdmFsdWUgLSBCdXJuIik7DQoNCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sgIC8vIEJ1cm4gdG9rZW5zDQogICAgICAgICAgICB0bzogc2VsZi5tYXN0ZXIsDQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSwNCiAgICAgICAgICAgIGJvdW5jZTogdHJ1ZSwNCiAgICAgICAgICAgIGJvZHk6IFRva2VuQnVybk5vdGlmaWNhdGlvbnsNCiAgICAgICAgICAgICAgICBxdWVyeUlkOiBtc2cucXVlcnlJZCwNCiAgICAgICAgICAgICAgICBhbW91bnQ6IG1zZy5hbW91bnQsDQogICAgICAgICAgICAgICAgb3duZXI6IHNlbGYub3duZXIsDQogICAgICAgICAgICAgICAgcmVzcG9uc2VfZGVzdGluYXRpb246IHNlbGYub3duZXINCiAgICAgICAgICAgIH0udG9DZWxsKCkNCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgYm91bmNlZChtc2c6IFNsaWNlKSB7DQogICAgICAgIGxldCBvcDogSW50ID0gbXNnLmxvYWRVaW50KDMyKTsNCiAgICAgICAgbGV0IHF1ZXJ5SWQ6IEludCA9IG1zZy5sb2FkVWludCg2NCk7DQogICAgICAgIGxldCBqZXR0b25BbW91bnQ6IEludCA9IG1zZy5sb2FkQ29pbnMoKTsNCiAgICAgICAgcmVxdWlyZShvcCA9PSAweDE3OGQ0NTE5IHx8IG9wID09IDB4N2JkZDk3ZGUsICJJbnZhbGlkIGJvdW5jZWQgbWVzc2FnZSIpOw0KICAgICAgICANCiAgICAgICAgc2VsZi5iYWxhbmNlID0gc2VsZi5iYWxhbmNlICsgamV0dG9uQW1vdW50OyAvLyBVcGRhdGUgYmFsYW5jZQ0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0X3dhbGxldF9kYXRhKCk6IEpldHRvbldhbGxldERhdGEgew0KICAgICAgICByZXR1cm4gSmV0dG9uV2FsbGV0RGF0YXsNCiAgICAgICAgICAgIGJhbGFuY2U6IHNlbGYuYmFsYW5jZSwNCiAgICAgICAgICAgIG93bmVyOiBzZWxmLm93bmVyLA0KICAgICAgICAgICAgbWFzdGVyOiBzZWxmLm1hc3RlciwNCiAgICAgICAgICAgIHdhbGxldENvZGU6IChpbml0T2YgSmV0dG9uRGVmYXVsdFdhbGxldChzZWxmLm1hc3Rlciwgc2VsZi5vd25lcikpLmNvZGUNCiAgICAgICAgfTsNCiAgICB9DQp9DQoNCnN0cnVjdCBKZXR0b25XYWxsZXREYXRhIHsNCiAgICBiYWxhbmNlOiBJbnQ7DQogICAgb3duZXI6IEFkZHJlc3M7DQogICAgbWFzdGVyOiBBZGRyZXNzOw0KICAgIHdhbGxldENvZGU6IENlbGw7DQp9","src\\test\\bugs\\bugs.tact":"aW1wb3J0ICIuL2lzc3VlNDIudGFjdCI7DQppbXBvcnQgIi4vaXNzdWU0My50YWN0Ijs="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/bugs/bugs.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_Maps.stdlib.fc b/src/test/bugs/output/bugs_Maps.stdlib.fc deleted file mode 100644 index 5797ed2ba..000000000 --- a/src/test/bugs/output/bugs_Maps.stdlib.fc +++ /dev/null @@ -1,189 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(cell, int) __tact_dict_delete(cell dict, int key_len, slice index) asm(index dict key_len) "DICTDEL"; - -((cell), ()) __tact_dict_set_ref(cell dict, int key_len, slice index, cell value) asm(value index dict key_len) "DICTSETREF"; - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -(cell, ()) __tact_dict_set_int_int(cell d, int kl, int k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = idict_delete?(d, kl, k); - return (r, ()); - } else { - return (idict_set_builder(d, kl, k, begin_cell().store_int(v, vl)), ()); - } -} - -(cell, ()) __tact_dict_set_int_cell(cell d, int kl, int k, cell v) inline { - if (null?(v)) { - var (r, ok) = idict_delete?(d, kl, k); - return (r, ()); - } else { - return (idict_set_ref(d, kl, k, v), ()); - } -} - -cell __tact_dict_get_int_cell(cell d, int kl, int k) inline { - var (r, ok) = idict_get_ref?(d, kl, k); - if (ok) { - return r; - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_int_slice(cell d, int kl, int k, slice v) inline { - if (null?(v)) { - var (r, ok) = idict_delete?(d, kl, k); - return (r, ()); - } else { - return (idict_set(d, kl, k, v), ()); - } -} - -slice __tact_dict_get_int_slice(cell d, int kl, int k) inline { - var (r, ok) = idict_get?(d, kl, k); - if (ok) { - return r; - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_slice_int(cell d, int kl, slice k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = __tact_dict_delete(d, kl, k); - return (r, ()); - } else { - return (dict_set_builder(d, kl, k, begin_cell().store_int(v, vl)), ()); - } -} - -(cell, ()) __tact_dict_set_slice_cell(cell d, int kl, slice k, cell v) inline { - if (null?(v)) { - var (r, ok) = __tact_dict_delete(d, kl, k); - return (r, ()); - } else { - return __tact_dict_set_ref(d, kl, k, v); - } -} - -(cell, ()) __tact_dict_set_slice_slice(cell d, int kl, slice k, slice v) inline { - if (null?(v)) { - var (r, ok) = __tact_dict_delete(d, kl, k); - return (r, ()); - } else { - return (dict_set_builder(d, kl, k, begin_cell().store_slice(v)), ()); - } -} - -forall X0, X1 -> tuple __tact_tuple_create_2((X0, X1) v) asm "2 TUPLE"; - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), ()) $Maps$_fun_forward((cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4)) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4), ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4), ()); -} - -((cell, cell, cell, cell, cell, cell, cell, cell), ()) $Maps$_fun_notify((cell, cell, cell, cell, cell, cell, cell, cell) $self, cell $body) impure inline { - var (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4)) = $self; - ($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4)~$Maps$_fun_forward(__tact_context_get_sender(), $body, false, null()); - return (($self'mi1, $self'mi2, $self'mi3, $self'mi4, $self'ma1, $self'ma2, $self'ma3, $self'ma4), ()); -} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_Maps.storage.fc b/src/test/bugs/output/bugs_Maps.storage.fc deleted file mode 100644 index 31e96b8d9..000000000 --- a/src/test/bugs/output/bugs_Maps.storage.fc +++ /dev/null @@ -1,179 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: TokenInfo -;; TLB: _ ticker:^string decimals:int257 = TokenInfo -;; - -builder $TokenInfo$_store(builder build_0, (slice, int) v) inline { - var (v'ticker, v'decimals) = v; - build_0 = build_0.store_ref(begin_cell().store_slice(v'ticker).end_cell()); - build_0 = build_0.store_int(v'decimals, 257); - return build_0; -} - -cell $TokenInfo$_store_cell((slice, int) v) inline { - return $TokenInfo$_store(begin_cell(), v).end_cell(); -} - -((slice, int)) $TokenInfo$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (slice vvv'ticker, int vvv'decimals) = __tact_tuple_destroy_2(v); - return (vvv'ticker, vvv'decimals); -} - -cell $TokenInfo$_store_opt(tuple v) inline { - if (null?(v)) { - return null(); - } - return $TokenInfo$_store_cell($TokenInfo$_not_null(v)); -} - -(slice, ((slice, int))) $TokenInfo$_load(slice sc_0) inline { - var v'ticker = sc_0~load_ref().begin_parse(); - var v'decimals = sc_0~load_int(257); - return (sc_0, (v'ticker, v'decimals)); -} - -tuple $TokenInfo$_as_optional((slice, int) v) inline { - var (v'ticker, v'decimals) = v; - return __tact_tuple_create_2(v'ticker, v'decimals); -} - -tuple $TokenInfo$_load_opt(cell cl) inline { - if (null?(cl)) { - return null(); - } - var sc = cl.begin_parse(); - return $TokenInfo$_as_optional(sc~$TokenInfo$_load()); -} - -((slice, int)) $TokenInfo$_constructor_ticker_decimals(slice ticker, int decimals) inline { - return (ticker, decimals); -} - -;; -;; Type: Replace -;; Header: 0x5285f402 -;; TLB: replace#5285f402 items:dict = Replace -;; - -(slice, ((cell))) $Replace$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1384510466); - var v'items = sc_0~load_dict(); - return (sc_0, (v'items)); -} - -;; -;; Type: Deploy -;; Header: 0x946a98b6 -;; TLB: deploy#946a98b6 queryId:uint64 = Deploy -;; - -(slice, ((int))) $Deploy$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2490013878); - var v'queryId = sc_0~load_uint(64); - return (sc_0, (v'queryId)); -} - -;; -;; Type: DeployOk -;; Header: 0xaff90f57 -;; TLB: deploy_ok#aff90f57 queryId:uint64 = DeployOk -;; - -builder $DeployOk$_store(builder build_0, (int) v) inline { - var (v'queryId) = v; - build_0 = store_uint(build_0, 2952335191, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell $DeployOk$_store_cell((int) v) inline { - return $DeployOk$_store(begin_cell(), v).end_cell(); -} - -((int)) $DeployOk$_constructor_queryId(int queryId) inline { - return (queryId); -} - -;; -;; Type: Maps -;; - -builder $Maps$_store(builder build_0, (cell, cell, cell, cell, cell, cell, cell, cell) v) inline { - var (v'mi1, v'mi2, v'mi3, v'mi4, v'ma1, v'ma2, v'ma3, v'ma4) = v; - build_0 = build_0.store_dict(v'mi1); - build_0 = build_0.store_dict(v'mi2); - var build_1 = begin_cell(); - build_1 = build_1.store_dict(v'mi3); - build_1 = build_1.store_dict(v'mi4); - build_1 = build_1.store_dict(v'ma1); - var build_2 = begin_cell(); - build_2 = build_2.store_dict(v'ma2); - build_2 = build_2.store_dict(v'ma3); - build_2 = build_2.store_dict(v'ma4); - build_1 = store_ref(build_1, build_2.end_cell()); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((cell, cell, cell, cell, cell, cell, cell, cell))) $Maps$_load(slice sc_0) inline { - var v'mi1 = sc_0~load_dict(); - var v'mi2 = sc_0~load_dict(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'mi3 = sc_1~load_dict(); - var v'mi4 = sc_1~load_dict(); - var v'ma1 = sc_1~load_dict(); - slice sc_2 = sc_1~load_ref().begin_parse(); - var v'ma2 = sc_2~load_dict(); - var v'ma3 = sc_2~load_dict(); - var v'ma4 = sc_2~load_dict(); - return (sc_0, (v'mi1, v'mi2, v'mi3, v'mi4, v'ma1, v'ma2, v'ma3, v'ma4)); -} - -(slice, ((cell))) $Maps$init$_load(slice sc_0) inline { - var v'arg = sc_0~load_dict(); - return (sc_0, (v'arg)); -} - -(cell, cell, cell, cell, cell, cell, cell, cell) $Maps$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$Maps$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (cell arg) = $sc~$Maps$init$_load(); - $sc.end_parse(); - return $Maps$_contract_init(arg); - } -} - -() $Maps$_contract_store((cell, cell, cell, cell, cell, cell, cell, cell) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $Maps$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_Maps.ts b/src/test/bugs/output/bugs_Maps.ts deleted file mode 100644 index 0ec3e608d..000000000 --- a/src/test/bugs/output/bugs_Maps.ts +++ /dev/null @@ -1,1233 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type TokenInfo = { - $$type: 'TokenInfo'; - ticker: string; - decimals: bigint; -} - -export function storeTokenInfo(src: TokenInfo) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeStringRefTail(src.ticker); - b_0.storeInt(src.decimals, 257); - }; -} - -export function loadTokenInfo(slice: Slice) { - let sc_0 = slice; - let _ticker = sc_0.loadStringRefTail(); - let _decimals = sc_0.loadIntBig(257); - return { $$type: 'TokenInfo' as const, ticker: _ticker, decimals: _decimals }; -} - -function loadTupleTokenInfo(source: TupleReader) { - let _ticker = source.readString(); - let _decimals = source.readBigNumber(); - return { $$type: 'TokenInfo' as const, ticker: _ticker, decimals: _decimals }; -} - -function storeTupleTokenInfo(source: TokenInfo) { - let builder = new TupleBuilder(); - builder.writeString(source.ticker); - builder.writeNumber(source.decimals); - return builder.build(); -} - -function dictValueParserTokenInfo(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenInfo(src)).endCell()); - }, - parse: (src) => { - return loadTokenInfo(src.loadRef().beginParse()); - } - } -} - -export type Replace = { - $$type: 'Replace'; - items: Dictionary; -} - -export function storeReplace(src: Replace) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1384510466, 32); - b_0.storeDict(src.items, Dictionary.Keys.BigInt(257), Dictionary.Values.Address()); - }; -} - -export function loadReplace(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1384510466) { throw Error('Invalid prefix'); } - let _items = Dictionary.load(Dictionary.Keys.BigInt(257), Dictionary.Values.Address(), sc_0); - return { $$type: 'Replace' as const, items: _items }; -} - -function loadTupleReplace(source: TupleReader) { - let _items = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Address(), source.readCellOpt()); - return { $$type: 'Replace' as const, items: _items }; -} - -function storeTupleReplace(source: Replace) { - let builder = new TupleBuilder(); - builder.writeCell(source.items.size > 0 ? beginCell().storeDictDirect(source.items, Dictionary.Keys.BigInt(257), Dictionary.Values.Address()).endCell() : null); - return builder.build(); -} - -function dictValueParserReplace(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeReplace(src)).endCell()); - }, - parse: (src) => { - return loadReplace(src.loadRef().beginParse()); - } - } -} - -export type Mint = { - $$type: 'Mint'; - amount: bigint; - receiver: Address; -} - -export function storeMint(src: Mint) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(4235234258, 32); - b_0.storeInt(src.amount, 257); - b_0.storeAddress(src.receiver); - }; -} - -export function loadMint(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 4235234258) { throw Error('Invalid prefix'); } - let _amount = sc_0.loadIntBig(257); - let _receiver = sc_0.loadAddress(); - return { $$type: 'Mint' as const, amount: _amount, receiver: _receiver }; -} - -function loadTupleMint(source: TupleReader) { - let _amount = source.readBigNumber(); - let _receiver = source.readAddress(); - return { $$type: 'Mint' as const, amount: _amount, receiver: _receiver }; -} - -function storeTupleMint(source: Mint) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - builder.writeAddress(source.receiver); - return builder.build(); -} - -function dictValueParserMint(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeMint(src)).endCell()); - }, - parse: (src) => { - return loadMint(src.loadRef().beginParse()); - } - } -} - -export type JettonData = { - $$type: 'JettonData'; - totalSupply: bigint; - mintable: boolean; - owner: Address; - content: Cell; - walletCode: Cell; -} - -export function storeJettonData(src: JettonData) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.totalSupply, 257); - b_0.storeBit(src.mintable); - b_0.storeAddress(src.owner); - b_0.storeRef(src.content); - b_0.storeRef(src.walletCode); - }; -} - -export function loadJettonData(slice: Slice) { - let sc_0 = slice; - let _totalSupply = sc_0.loadIntBig(257); - let _mintable = sc_0.loadBit(); - let _owner = sc_0.loadAddress(); - let _content = sc_0.loadRef(); - let _walletCode = sc_0.loadRef(); - return { $$type: 'JettonData' as const, totalSupply: _totalSupply, mintable: _mintable, owner: _owner, content: _content, walletCode: _walletCode }; -} - -function loadTupleJettonData(source: TupleReader) { - let _totalSupply = source.readBigNumber(); - let _mintable = source.readBoolean(); - let _owner = source.readAddress(); - let _content = source.readCell(); - let _walletCode = source.readCell(); - return { $$type: 'JettonData' as const, totalSupply: _totalSupply, mintable: _mintable, owner: _owner, content: _content, walletCode: _walletCode }; -} - -function storeTupleJettonData(source: JettonData) { - let builder = new TupleBuilder(); - builder.writeNumber(source.totalSupply); - builder.writeBoolean(source.mintable); - builder.writeAddress(source.owner); - builder.writeCell(source.content); - builder.writeCell(source.walletCode); - return builder.build(); -} - -function dictValueParserJettonData(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeJettonData(src)).endCell()); - }, - parse: (src) => { - return loadJettonData(src.loadRef().beginParse()); - } - } -} - -export type TokenTransfer = { - $$type: 'TokenTransfer'; - queryId: bigint; - amount: bigint; - destination: Address; - response_destination: Address; - custom_payload: Cell | null; - forward_ton_amount: bigint; - forward_payload: Cell; -} - -export function storeTokenTransfer(src: TokenTransfer) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(260734629, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.destination); - b_0.storeAddress(src.response_destination); - if (src.custom_payload !== null && src.custom_payload !== undefined) { b_0.storeBit(true).storeRef(src.custom_payload); } else { b_0.storeBit(false); } - b_0.storeCoins(src.forward_ton_amount); - b_0.storeBuilder(src.forward_payload.asBuilder()); - }; -} - -export function loadTokenTransfer(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 260734629) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _destination = sc_0.loadAddress(); - let _response_destination = sc_0.loadAddress(); - let _custom_payload = sc_0.loadBit() ? sc_0.loadRef() : null; - let _forward_ton_amount = sc_0.loadCoins(); - let _forward_payload = sc_0.asCell(); - return { $$type: 'TokenTransfer' as const, queryId: _queryId, amount: _amount, destination: _destination, response_destination: _response_destination, custom_payload: _custom_payload, forward_ton_amount: _forward_ton_amount, forward_payload: _forward_payload }; -} - -function loadTupleTokenTransfer(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _destination = source.readAddress(); - let _response_destination = source.readAddress(); - let _custom_payload = source.readCellOpt(); - let _forward_ton_amount = source.readBigNumber(); - let _forward_payload = source.readCell(); - return { $$type: 'TokenTransfer' as const, queryId: _queryId, amount: _amount, destination: _destination, response_destination: _response_destination, custom_payload: _custom_payload, forward_ton_amount: _forward_ton_amount, forward_payload: _forward_payload }; -} - -function storeTupleTokenTransfer(source: TokenTransfer) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.destination); - builder.writeAddress(source.response_destination); - builder.writeCell(source.custom_payload); - builder.writeNumber(source.forward_ton_amount); - builder.writeSlice(source.forward_payload); - return builder.build(); -} - -function dictValueParserTokenTransfer(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenTransfer(src)).endCell()); - }, - parse: (src) => { - return loadTokenTransfer(src.loadRef().beginParse()); - } - } -} - -export type TokenTransferInternal = { - $$type: 'TokenTransferInternal'; - queryId: bigint; - amount: bigint; - from: Address; - response_destination: Address; - forward_ton_amount: bigint; - forward_payload: Cell; -} - -export function storeTokenTransferInternal(src: TokenTransferInternal) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(395134233, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.from); - b_0.storeAddress(src.response_destination); - b_0.storeCoins(src.forward_ton_amount); - b_0.storeBuilder(src.forward_payload.asBuilder()); - }; -} - -export function loadTokenTransferInternal(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 395134233) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _from = sc_0.loadAddress(); - let _response_destination = sc_0.loadAddress(); - let _forward_ton_amount = sc_0.loadCoins(); - let _forward_payload = sc_0.asCell(); - return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, response_destination: _response_destination, forward_ton_amount: _forward_ton_amount, forward_payload: _forward_payload }; -} - -function loadTupleTokenTransferInternal(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _from = source.readAddress(); - let _response_destination = source.readAddress(); - let _forward_ton_amount = source.readBigNumber(); - let _forward_payload = source.readCell(); - return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, response_destination: _response_destination, forward_ton_amount: _forward_ton_amount, forward_payload: _forward_payload }; -} - -function storeTupleTokenTransferInternal(source: TokenTransferInternal) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.from); - builder.writeAddress(source.response_destination); - builder.writeNumber(source.forward_ton_amount); - builder.writeSlice(source.forward_payload); - return builder.build(); -} - -function dictValueParserTokenTransferInternal(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenTransferInternal(src)).endCell()); - }, - parse: (src) => { - return loadTokenTransferInternal(src.loadRef().beginParse()); - } - } -} - -export type TokenNotification = { - $$type: 'TokenNotification'; - queryId: bigint; - amount: bigint; - from: Address; - forward_payload: Cell; -} - -export function storeTokenNotification(src: TokenNotification) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1935855772, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.from); - b_0.storeBuilder(src.forward_payload.asBuilder()); - }; -} - -export function loadTokenNotification(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1935855772) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _from = sc_0.loadAddress(); - let _forward_payload = sc_0.asCell(); - return { $$type: 'TokenNotification' as const, queryId: _queryId, amount: _amount, from: _from, forward_payload: _forward_payload }; -} - -function loadTupleTokenNotification(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _from = source.readAddress(); - let _forward_payload = source.readCell(); - return { $$type: 'TokenNotification' as const, queryId: _queryId, amount: _amount, from: _from, forward_payload: _forward_payload }; -} - -function storeTupleTokenNotification(source: TokenNotification) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.from); - builder.writeSlice(source.forward_payload); - return builder.build(); -} - -function dictValueParserTokenNotification(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenNotification(src)).endCell()); - }, - parse: (src) => { - return loadTokenNotification(src.loadRef().beginParse()); - } - } -} - -export type TokenBurn = { - $$type: 'TokenBurn'; - queryId: bigint; - amount: bigint; - owner: Address; - response_destination: Address; -} - -export function storeTokenBurn(src: TokenBurn) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1499400124, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.owner); - b_0.storeAddress(src.response_destination); - }; -} - -export function loadTokenBurn(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1499400124) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _owner = sc_0.loadAddress(); - let _response_destination = sc_0.loadAddress(); - return { $$type: 'TokenBurn' as const, queryId: _queryId, amount: _amount, owner: _owner, response_destination: _response_destination }; -} - -function loadTupleTokenBurn(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _owner = source.readAddress(); - let _response_destination = source.readAddress(); - return { $$type: 'TokenBurn' as const, queryId: _queryId, amount: _amount, owner: _owner, response_destination: _response_destination }; -} - -function storeTupleTokenBurn(source: TokenBurn) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.owner); - builder.writeAddress(source.response_destination); - return builder.build(); -} - -function dictValueParserTokenBurn(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenBurn(src)).endCell()); - }, - parse: (src) => { - return loadTokenBurn(src.loadRef().beginParse()); - } - } -} - -export type TokenBurnNotification = { - $$type: 'TokenBurnNotification'; - queryId: bigint; - amount: bigint; - owner: Address; - response_destination: Address | null; -} - -export function storeTokenBurnNotification(src: TokenBurnNotification) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2078119902, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.owner); - b_0.storeAddress(src.response_destination); - }; -} - -export function loadTokenBurnNotification(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2078119902) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _owner = sc_0.loadAddress(); - let _response_destination = sc_0.loadMaybeAddress(); - return { $$type: 'TokenBurnNotification' as const, queryId: _queryId, amount: _amount, owner: _owner, response_destination: _response_destination }; -} - -function loadTupleTokenBurnNotification(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _owner = source.readAddress(); - let _response_destination = source.readAddressOpt(); - return { $$type: 'TokenBurnNotification' as const, queryId: _queryId, amount: _amount, owner: _owner, response_destination: _response_destination }; -} - -function storeTupleTokenBurnNotification(source: TokenBurnNotification) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.owner); - builder.writeAddress(source.response_destination); - return builder.build(); -} - -function dictValueParserTokenBurnNotification(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenBurnNotification(src)).endCell()); - }, - parse: (src) => { - return loadTokenBurnNotification(src.loadRef().beginParse()); - } - } -} - -export type TokenExcesses = { - $$type: 'TokenExcesses'; - queryId: bigint; -} - -export function storeTokenExcesses(src: TokenExcesses) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3576854235, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadTokenExcesses(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3576854235) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'TokenExcesses' as const, queryId: _queryId }; -} - -function loadTupleTokenExcesses(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'TokenExcesses' as const, queryId: _queryId }; -} - -function storeTupleTokenExcesses(source: TokenExcesses) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserTokenExcesses(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenExcesses(src)).endCell()); - }, - parse: (src) => { - return loadTokenExcesses(src.loadRef().beginParse()); - } - } -} - -export type TokenUpdateContent = { - $$type: 'TokenUpdateContent'; - content: Cell; -} - -export function storeTokenUpdateContent(src: TokenUpdateContent) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2937889386, 32); - b_0.storeRef(src.content); - }; -} - -export function loadTokenUpdateContent(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2937889386) { throw Error('Invalid prefix'); } - let _content = sc_0.loadRef(); - return { $$type: 'TokenUpdateContent' as const, content: _content }; -} - -function loadTupleTokenUpdateContent(source: TupleReader) { - let _content = source.readCell(); - return { $$type: 'TokenUpdateContent' as const, content: _content }; -} - -function storeTupleTokenUpdateContent(source: TokenUpdateContent) { - let builder = new TupleBuilder(); - builder.writeCell(source.content); - return builder.build(); -} - -function dictValueParserTokenUpdateContent(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenUpdateContent(src)).endCell()); - }, - parse: (src) => { - return loadTokenUpdateContent(src.loadRef().beginParse()); - } - } -} - -export type JettonWalletData = { - $$type: 'JettonWalletData'; - balance: bigint; - owner: Address; - master: Address; - walletCode: Cell; -} - -export function storeJettonWalletData(src: JettonWalletData) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.balance, 257); - b_0.storeAddress(src.owner); - b_0.storeAddress(src.master); - b_0.storeRef(src.walletCode); - }; -} - -export function loadJettonWalletData(slice: Slice) { - let sc_0 = slice; - let _balance = sc_0.loadIntBig(257); - let _owner = sc_0.loadAddress(); - let _master = sc_0.loadAddress(); - let _walletCode = sc_0.loadRef(); - return { $$type: 'JettonWalletData' as const, balance: _balance, owner: _owner, master: _master, walletCode: _walletCode }; -} - -function loadTupleJettonWalletData(source: TupleReader) { - let _balance = source.readBigNumber(); - let _owner = source.readAddress(); - let _master = source.readAddress(); - let _walletCode = source.readCell(); - return { $$type: 'JettonWalletData' as const, balance: _balance, owner: _owner, master: _master, walletCode: _walletCode }; -} - -function storeTupleJettonWalletData(source: JettonWalletData) { - let builder = new TupleBuilder(); - builder.writeNumber(source.balance); - builder.writeAddress(source.owner); - builder.writeAddress(source.master); - builder.writeCell(source.walletCode); - return builder.build(); -} - -function dictValueParserJettonWalletData(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeJettonWalletData(src)).endCell()); - }, - parse: (src) => { - return loadJettonWalletData(src.loadRef().beginParse()); - } - } -} - -export type Deploy = { - $$type: 'Deploy'; - queryId: bigint; -} - -export function storeDeploy(src: Deploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2490013878, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2490013878) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function loadTupleDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function storeTupleDeploy(source: Deploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeploy(src)).endCell()); - }, - parse: (src) => { - return loadDeploy(src.loadRef().beginParse()); - } - } -} - -export type DeployOk = { - $$type: 'DeployOk'; - queryId: bigint; -} - -export function storeDeployOk(src: DeployOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2952335191, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeployOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2952335191) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function loadTupleDeployOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function storeTupleDeployOk(source: DeployOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeployOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeployOk(src)).endCell()); - }, - parse: (src) => { - return loadDeployOk(src.loadRef().beginParse()); - } - } -} - -export type FactoryDeploy = { - $$type: 'FactoryDeploy'; - queryId: bigint; - cashback: Address; -} - -export function storeFactoryDeploy(src: FactoryDeploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1829761339, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.cashback); - }; -} - -export function loadFactoryDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1829761339) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _cashback = sc_0.loadAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function loadTupleFactoryDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _cashback = source.readAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function storeTupleFactoryDeploy(source: FactoryDeploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.cashback); - return builder.build(); -} - -function dictValueParserFactoryDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFactoryDeploy(src)).endCell()); - }, - parse: (src) => { - return loadFactoryDeploy(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwner = { - $$type: 'ChangeOwner'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwner(src: ChangeOwner) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2174598809, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwner(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2174598809) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwner(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwner(source: ChangeOwner) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwner(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwner(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwner(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwnerOk = { - $$type: 'ChangeOwnerOk'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwnerOk(src: ChangeOwnerOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(846932810, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwnerOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 846932810) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwnerOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwnerOk(source: ChangeOwnerOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwnerOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwnerOk(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwnerOk(src.loadRef().beginParse()); - } - } -} - - type Maps_init_args = { - $$type: 'Maps_init_args'; - arg: Dictionary; -} - -function initMaps_init_args(src: Maps_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeDict(src.arg, Dictionary.Keys.BigInt(257), Dictionary.Values.Bool()); - }; -} - -async function Maps_init(arg: Dictionary) { - const __code = Cell.fromBase64('te6ccgECIQEABwoAART/APSkE/S88sgLAQIBYgIDAtbQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVF9s88uCCyPhDAcx/AcoAVXBQePQAFfQAA8j0ABL0APQAAsj0ABP0ABP0AMlYzMkBzMntVBwEAgEgEhMC3u2i7fsBkjB/4HAh10nCH5UwINcLH94gghBShfQCuo4UMNMfAYIQUoX0Arry4IH0BAExNX/gIIIQlGqYtrqOqDDTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gwACRMOMNcAUGATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPAcD/vkBIILwLbhRpWp9E8I4pZeD2P+AzxhY3xUEMJy9lA8dqk8y3sW6joYw2zx/2zHgIILwyxLyeEtLERf/iWpUnDRHBd2iAH2MKD2XC8bs86YvRlG6joYw2zx/2zHggvAMHNdllGCw+BuUI3zV/8E6T7WOpomygV3nTdN3Bkak6roJCgsByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsACACYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzALigQEBgBGLRTSElCh5yFnIWM8WyVjMgQEBzwDJEDogbpUwWfRaMJRBM/QV4gaBAQGCKJN3Qz/yGDJ/cSFulVtZ9FowmMgBzwBBM/RC4oEBAYPvg+UiEEkhbpVbWfRaMJjIAc8AQTP0QuKBAQGB/HyJEDcPDAHwgQEBgBFtIG6SMG2OFiBu8tCAbyLIWchYzxbJWMyBAQHPAMniEDogbpUwWfRaMJRBM/QV4gaBAQGCKJN3Qz/yGDJtcSFulVtZ9FowmMgBzwBBM/RC4oEBAYPvbSIQSSFulVtZ9FowmMgBzwBBM/RC4gSBAQGB/HxtDgAenV8IbW1tbW1tbW1/2zHgA/ggbpUwWfRaMJRBM/QU4oEBC40IYAQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRItERPR0WIASyFnIWM8WyVjMgQEBzwDJEDYgbpUwWfRZMJRBM/QT4oEBC4kQJH9xIW6VW1n0WTCYyAHPAEEz9EHigQELiRAjDw8NAMSCEElQT4CBAQEhbpVbWfRZMJjIAc8AQTP0QeKBAQuNCGAEHv6qlzG5TaOX5eZGIvXmM0i4EqxbR2OpPw3SAdB5jUT4KBA6IG6VMFn0WTCYyAHPFkEz9EHiEGcQVhBFEDRBMAL8IG6VMFn0WjCUQTP0FOKBAQuNCGAEHv6qlzG5TaOX5eZGIvXmM0i4EqxbR2OpPw3SAdB5jURtIG6SMG2OFiBu8tCAbyLIWchYzxbJWMyBAQHPAMniEDYgbpUwWfRZMJRBM/QT4oEBC4kQJG1xIW6VW1n0WTCYyAHPAEEz9EHiDxAAQ4AQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRAB/oEBC40IYAQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRBAjbYEBASFulVtZ9FkwmMgBzwBBM/RB4oEBC40IYAQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRBApbSBulTBZ9FkwmMgBzxZBM/RB4hBnEFYRAAwQRRA0QTACA5hoFBUCASAYGQIToNNs8VQfbPGyBhwWAg+ho2zzbPGyBhwXAByBAQEmAln0DG+hkjBt3wACIwIBIBobAgFIHyACEbXfW2ebZ42QMBwdALm3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOE7Lpy1Zp2W5nQdLNsozdFJABeO1E0NQB+GPSAAGOHfQE9ATUAdD0BPQE9ATUMND0BPQE9AQwEGgQZ2wY4Pgo1wsKgwm68uCJ9AQBAdHbPB4AwCeBAQGAEVn0DW+hkjBt3yBukjBtn9DUAdABgQEB1wBZbBJvAuJum4uW5vdCBmb3VuZI4CeBAQGAEVn0DW+hkjBt3yBukjBtn9DUAdABgQEB1wBZbBJvAuIgbvLQgG8iMAAQbQFtbW1tbW0AEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtWFE4enFYZm50YUNiNHJBdmJjSGZLTW1ZbVJwRlNGeERnMzdtaHpNVXNrUUaCA='); - const __system = Cell.fromBase64('te6cckECIwEABxQAAQHAAQEFoXvZAgEU/wD0pBP0vPLICwMCAWISBAIBIA0FAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtWFE4enFYZm50YUNiNHJBdmJjSGZLTW1ZbVJwRlNGeERnMzdtaHpNVXNrUUaCAAEbCvu1E0NIAAYAIBIAsKALm3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOE7Lpy1Zp2W5nQdLNsozdFJACEbXfW2ebZ42QMCEMAMAngQEBgBFZ9A1voZIwbd8gbpIwbZ/Q1AHQAYEBAdcAWWwSbwLibpuLlub3QgZm91bmSOAngQEBgBFZ9A1voZIwbd8gbpIwbZ/Q1AHQAYEBAdcAWWwSbwLiIG7y0IBvIjACA5hoEA4CD6GjbPNs8bIGIQ8AAiMCE6DTbPFUH2zxsgYhEQAcgQEBJgJZ9AxvoZIwbd8C1tAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUX2zzy4ILI+EMBzH8BygBVcFB49AAV9AADyPQAEvQA9AACyPQAE/QAE/QAyVjMyQHMye1UIRMC3u2i7fsBkjB/4HAh10nCH5UwINcLH94gghBShfQCuo4UMNMfAYIQUoX0Arry4IH0BAExNX/gIIIQlGqYtrqOqDDTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gwACRMOMNcB4UA/75ASCC8C24UaVqfRPCOKWXg9j/gM8YWN8VBDCcvZQPHapPMt7Fuo6GMNs8f9sx4CCC8MsS8nhLSxEX/4lqVJw0RwXdogB9jCg9lwvG7POmL0ZRuo6GMNs8f9sx4ILwDBzXZZRgsPgblCN81f/BOk+1jqaJsoFd503TdwZGpOq6GhYVAB6dXwhtbW1tbW1tbX/bMeAB8IEBAYARbSBukjBtjhYgbvLQgG8iyFnIWM8WyVjMgQEBzwDJ4hA6IG6VMFn0WjCUQTP0FeIGgQEBgiiTd0M/8hgybXEhbpVbWfRaMJjIAc8AQTP0QuKBAQGD720iEEkhbpVbWfRaMJjIAc8AQTP0QuIEgQEBgfx8bRcC/CBulTBZ9FowlEEz9BTigQELjQhgBB7+qpcxuU2jl+XmRiL15jNIuBKsW0djqT8N0gHQeY1EbSBukjBtjhYgbvLQgG8iyFnIWM8WyVjMgQEBzwDJ4hA2IG6VMFn0WTCUQTP0E+KBAQuJECRtcSFulVtZ9FkwmMgBzwBBM/RB4h0YAf6BAQuNCGAEHv6qlzG5TaOX5eZGIvXmM0i4EqxbR2OpPw3SAdB5jUQQI22BAQEhbpVbWfRZMJjIAc8AQTP0QeKBAQuNCGAEHv6qlzG5TaOX5eZGIvXmM0i4EqxbR2OpPw3SAdB5jUQQKW0gbpUwWfRZMJjIAc8WQTP0QeIQZxBWGQAMEEUQNEEwAuKBAQGAEYtFNISUKHnIWchYzxbJWMyBAQHPAMkQOiBulTBZ9FowlEEz9BXiBoEBAYIok3dDP/IYMn9xIW6VW1n0WjCYyAHPAEEz9ELigQEBg++D5SIQSSFulVtZ9FowmMgBzwBBM/RC4oEBAYH8fIkQNx0bA/ggbpUwWfRaMJRBM/QU4oEBC40IYAQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRItERPR0WIASyFnIWM8WyVjMgQEBzwDJEDYgbpUwWfRZMJRBM/QT4oEBC4kQJH9xIW6VW1n0WTCYyAHPAEEz9EHigQELiRAjHR0cAMSCEElQT4CBAQEhbpVbWfRZMJjIAc8AQTP0QeKBAQuNCGAEHv6qlzG5TaOX5eZGIvXmM0i4EqxbR2OpPw3SAdB5jUT4KBA6IG6VMFn0WTCYyAHPFkEz9EHiEGcQVhBFEDRBMABDgBB7+qpcxuU2jl+XmRiL15jNIuBKsW0djqT8N0gHQeY1EAE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwfAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ACAAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwBeO1E0NQB+GPSAAGOHfQE9ATUAdD0BPQE9ATUMND0BPQE9AQwEGgQZ2wY4Pgo1wsKgwm68uCJ9AQBAdHbPCIAEG0BbW1tbW1tO7QBiw=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initMaps_init_args({ $$type: 'Maps_init_args', arg })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Maps_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 3734: { message: `Not Owner` }, - 4159: { message: `Invalid value!!` }, - 4429: { message: `Invalid sender` }, - 6898: { message: `The total supply will be overlapping.` }, - 13650: { message: `Invalid bounced message` }, - 18668: { message: `Can't Mint Anymore` }, - 42708: { message: `Invalid sender!` }, - 43422: { message: `Invalid value - Burn` }, - 62972: { message: `Invalid balance` }, -} - -const Maps_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"TokenInfo","header":null,"fields":[{"name":"ticker","type":{"kind":"simple","type":"string","optional":false}},{"name":"decimals","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"Replace","header":1384510466,"fields":[{"name":"items","type":{"kind":"dict","key":"int","value":"address"}}]}, - {"name":"Mint","header":4235234258,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"receiver","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"JettonData","header":null,"fields":[{"name":"totalSupply","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mintable","type":{"kind":"simple","type":"bool","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"TokenTransfer","header":260734629,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"custom_payload","type":{"kind":"simple","type":"cell","optional":true}},{"name":"forward_ton_amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]}, - {"name":"TokenTransferInternal","header":395134233,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"forward_ton_amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]}, - {"name":"TokenNotification","header":1935855772,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]}, - {"name":"TokenBurn","header":1499400124,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"TokenBurnNotification","header":2078119902,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":true}}]}, - {"name":"TokenExcesses","header":3576854235,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"TokenUpdateContent","header":2937889386,"fields":[{"name":"content","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"JettonWalletData","header":null,"fields":[{"name":"balance","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, -] - -const Maps_getters: ABIGetter[] = [ - {"name":"oneItem","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"address","optional":true}}, - {"name":"itemCheck","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"allItems","arguments":[],"returnType":{"kind":"dict","key":"address","value":"TokenInfo","valueFormat":"ref"}}, -] - -const Maps_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"set keys"}}, - {"receiver":"internal","message":{"kind":"text","text":"delete keys"}}, - {"receiver":"internal","message":{"kind":"text","text":"clear"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Replace"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}, -] - -export class Maps implements Contract { - - static async init(arg: Dictionary) { - return await Maps_init(arg); - } - - static async fromInit(arg: Dictionary) { - const init = await Maps_init(arg); - const address = contractAddress(0, init); - return new Maps(address, init); - } - - static fromAddress(address: Address) { - return new Maps(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Maps_types, - getters: Maps_getters, - receivers: Maps_receivers, - errors: Maps_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'set keys' | 'delete keys' | 'clear' | Replace | Deploy) { - - let body: Cell | null = null; - if (message === 'set keys') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message === 'delete keys') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message === 'clear') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Replace') { - body = beginCell().store(storeReplace(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Deploy') { - body = beginCell().store(storeDeploy(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getOneItem(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('oneItem', builder.build())).stack; - let result = source.readAddressOpt(); - return result; - } - - async getItemCheck(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('itemCheck', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getAllItems(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('allItems', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), dictValueParserTokenInfo(), source.readCellOpt()); - return result; - } - -} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_SampleJetton.abi b/src/test/bugs/output/bugs_SampleJetton.abi deleted file mode 100644 index 6c642c33f..000000000 --- a/src/test/bugs/output/bugs_SampleJetton.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"SampleJetton","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TokenInfo","header":null,"fields":[{"name":"ticker","type":{"kind":"simple","type":"string","optional":false}},{"name":"decimals","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"Replace","header":1384510466,"fields":[{"name":"items","type":{"kind":"dict","key":"int","value":"address"}}]},{"name":"Mint","header":4235234258,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"receiver","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"JettonData","header":null,"fields":[{"name":"totalSupply","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mintable","type":{"kind":"simple","type":"bool","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"TokenTransfer","header":260734629,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"custom_payload","type":{"kind":"simple","type":"cell","optional":true}},{"name":"forward_ton_amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenTransferInternal","header":395134233,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"forward_ton_amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenNotification","header":1935855772,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]},{"name":"TokenBurn","header":1499400124,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"TokenBurnNotification","header":2078119902,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"TokenExcesses","header":3576854235,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"TokenUpdateContent","header":2937889386,"fields":[{"name":"content","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"JettonWalletData","header":null,"fields":[{"name":"balance","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"Mint"}},{"receiver":"internal","message":{"kind":"text","text":"Mint: 100"}},{"receiver":"internal","message":{"kind":"text","text":"Owner: MintClose"}},{"receiver":"internal","message":{"kind":"typed","type":"TokenUpdateContent"}},{"receiver":"internal","message":{"kind":"typed","type":"TokenBurnNotification"}}],"getters":[{"name":"get_jetton_data","arguments":[],"returnType":{"kind":"simple","type":"JettonData","optional":false}},{"name":"get_wallet_address","arguments":[{"name":"owner","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"address","optional":false}},{"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"3734":{"message":"Not Owner"},"4159":{"message":"Invalid value!!"},"4429":{"message":"Invalid sender"},"6898":{"message":"The total supply will be overlapping."},"13650":{"message":"Invalid bounced message"},"18668":{"message":"Can't Mint Anymore"},"42708":{"message":"Invalid sender!"},"43422":{"message":"Invalid value - Burn"},"62972":{"message":"Invalid balance"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0","org.ton.jetton.master","org.ton.ownable"]} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_SampleJetton.code.boc b/src/test/bugs/output/bugs_SampleJetton.code.boc deleted file mode 100644 index 618b37801..000000000 Binary files a/src/test/bugs/output/bugs_SampleJetton.code.boc and /dev/null differ diff --git a/src/test/bugs/output/bugs_SampleJetton.code.boc.html b/src/test/bugs/output/bugs_SampleJetton.code.boc.html deleted file mode 100644 index f8f1017d8..000000000 --- a/src/test/bugs/output/bugs_SampleJetton.code.boc.html +++ /dev/null @@ -1,944 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC owner;
-            ..DECLPROC get_wallet_address;
-            ..DECLPROC get_jetton_data;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_25011c0bed620945;
-            ..DECLPROC ?fun_ref_3689983192928298;
-            ..DECLPROC ?fun_ref_4f17992d157e755c;
-            ..DECLPROC ?fun_ref_500c43b8824042b8;
-            ..DECLPROC ?fun_ref_8762243e0b09a85d;
-            ..DECLPROC ?fun_ref_92b2bea96705e0e2;
-            ..DECLPROC ?fun_ref_a08eb38fc7e85e5e;
-            ..DECLPROC ?fun_ref_b2f99ae1a1dd4dfb;
-            ..DECLPROC ?fun_ref_b327c214bffdf4c6;
-            ..DECLPROC ?fun_ref_b8d6a373d037f795;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_d21437797e815e3e;
-            ..DECLPROC ?fun_ref_e20f9805701a7fc5;
-            x1..recv_internal PROC:<{
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            26x1....4 LDU
-            18x1....s0 s1 XCHG
-            18x1....1 PUSHINT
-            18x1....AND
-            18x1....-1 MULCONST
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            34x1....s0 s6 s4 PUXCPU
-            18x1....s0 s3 XCHG
-            30x1....4 TUPLE
-            28x1....1 SETGLOBVAR
-            18x1....s0 s2 XCHG
-            29x1....2 SETGLOBVAR
-            126x1....?fun_ref_500c43b8824042b8 INLINECALLDICT
-            26x1....2 5 BLKSWAP
-            126x1....?fun_ref_a08eb38fc7e85e5e INLINECALLDICT
-            34x1....130 THROWIFNOT
-            18x1....NEWC
-            26x1....3 GETGLOBVAR
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....-1 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            26x1....5 1 BLKSWAP
-            26x1....s5 s4 XCHG2
-            26x1....STGRAMS
-            18x1....ROT
-            26x1....STGRAMS
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            18x1....s1 s2 XCHG
-            18x1....STREF
-            26x1....1 STI
-            518x1....ENDC
-            26x1....c4 POP
-            x1..}>
-            ..owner PROC:<{
-            ....?fun_ref_500c43b8824042b8 INLINECALLDICT
-            ....?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT
-            ....5 1 BLKDROP2
-            ..}>
-            ..get_wallet_address PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_500c43b8824042b8 INLINECALLDICT
-            ....1 5 BLKSWAP
-            ....?fun_ref_b327c214bffdf4c6 INLINECALLDICT
-            ....5 1 BLKDROP2
-            ..}>
-            ..get_jetton_data PROC:<{
-            ....?fun_ref_500c43b8824042b8 INLINECALLDICT
-            ....?fun_ref_4f17992d157e755c INLINECALLDICT
-            ....5 5 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ....258390863389042349688353801369539695109 PUSHINT
-            ....86142586315491086060343270784266291122 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D575447674B685666335850596D66796375575039366D6862474A31724C755436356D4A61675367615851424782_} PUSHSLICE
-            ..}>
-            x1..?fun_ref_25011c0bed620945 PROCREF:<{
-            18x1....0 PUSHINT
-            26x1....s1 s3 s3 XCHG3
-            18x1....-1 PUSHINT
-            x1..}>
-            ..?fun_ref_3689983192928298 PROCREF:<{
-            ....1 GETGLOBVAR
-            ....4 UNTUPLE
-            ....s2 s3 XCHG
-            ....3 BLKDROP
-            ....6 1 BLKSWAP
-            ....?fun_ref_8762243e0b09a85d INLINECALLDICT
-            ....s0 s1 XCHG
-            ....4429 PUSHINT
-            ....s0 s2 XCHG
-            ....0 PUSHINT
-            ....ROTREV
-            ....NEWC
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....3 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STU
-            ....s1 s2 XCHG
-            ....STREF
-            ....STREF
-            ....ENDC
-            ....HASHCU
-            ....NEWC
-            ....2 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STU
-            ....s1 s2 XCHG
-            ....8 STI
-            ....256 STU
-            ....ENDC
-            ....CTOS
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s1 s7 XCHG
-            ....SDEQ
-            ....s1 s6 XCHG
-            ....THROWANYIFNOT
-            ....1 4 BLKSWAP
-            ..}>
-            ..?fun_ref_4f17992d157e755c PROCREF:<{
-            ....MYADDR
-            ....?fun_ref_8762243e0b09a85d INLINECALLDICT
-            ....s0 POP
-            ....s5 s3 s2 PU2XC
-            ....s5 s6 s2 PU2XC
-            ..}>
-            x1..?fun_ref_500c43b8824042b8 PROCREF:<{
-            26x1....c4 PUSH
-            118x1....CTOS
-            18x1....LDREF
-            18x1....s0 s1 XCHG
-            30x1....3 SETGLOBVAR
-            26x1....1 LDI
-            18x1....s0 s1 XCHG
-            26x1....<{
-            ......LDGRAMS
-            ......LDGRAMS
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......LDREF
-            ......1 LDI
-            ......5 1 BLKSWAP
-            ......1 5 BLKDROP2
-            26x1....}> PUSHCONT
-            18x1....IFJMP
-            26x1....MYADDR
-            34x1....11 PLDU
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....137 THROWIFNOT
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 s1 XCHG
-            18x1....LDREF
-            34x1....257 PUSHINT
-            26x1....LDIX
-            26x1....3 1 BLKSWAP
-            18x1....s0 s3 XCHG
-            18x1....ENDS
-            18x1....ROT
-            126x1....?fun_ref_25011c0bed620945 INLINECALLDICT
-            x1..}>
-            x1..?fun_ref_8762243e0b09a85d PROCREF:<{
-            26x1....3 GETGLOBVAR
-            26x1....MYADDR
-            18x1....ROT
-            126x1....?fun_ref_b8d6a373d037f795 INLINECALLDICT
-            x1..}>
-            ..?fun_ref_92b2bea96705e0e2 PROCREF:<{
-            ....2 GETGLOBVAR
-            ....s3 s1 PUXC
-            ....SDEQ
-            ....132 THROWIFNOT
-            ..}>
-            x1..?fun_ref_a08eb38fc7e85e5e PROCREF:<{
-            26x1....2 SAVE
-            26x1....SAMEALTSAVE
-            18x1....s0 s1 XCHG
-            18x1....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x1....}> PUSHCONT
-            18x1....IFJMP
-            18x1....0 PUSHINT
-            18x1....s1 PUSH
-            26x1....SBITS
-            26x1....31 GTINT
-            18x1....<{
-            18x1......s0 POP
-            18x1......s0 PUSH
-            34x1......32 PLDU
-            18x1....}> PUSHCONT
-            18x1....IF
-            18x1....s0 PUSH
-            23x1....4235234258 PUSHINT
-            18x1....EQUAL
-            26x1....<{
-            18x1......s0 POP
-            26x1......32 LDU
-            18x1......s0 s1 XCHG
-            23x1......4235234258 PUSHINT
-            18x1......EQUAL
-            34x1......129 THROWIFNOT
-            34x1......257 PUSHINT
-            26x1......LDIX
-            26x1......LDMSGADDR
-            18x1......s0 s1 XCHG
-            18x1......s0 PUSH
-            26x1......SBITS
-            34x1......267 PUSHINT
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            18x1......s0 PUSH
-            34x1......11 PLDU
-            18x1......s0 PUSH
-            34x1......1279 PUSHINT
-            18x1......EQUAL
-            34x1......137 THROWIF
-            26x1......10 PUSHPOW2
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            18x1......s1 s2 XCHG
-            26x1......1 2 BLKDROP2
-            26x1......1 GETGLOBVAR
-            30x1......4 UNTUPLE
-            26x1......s2 s3 XCHG
-            26x1......3 BLKDROP
-            18x1......s5 PUSH
-            34x1......3734 PUSHINT
-            18x1......s0 s2 XCHG
-            26x1......SDEQ
-            26x1......THROWANYIFNOT
-            34x1......18668 PUSHINT
-            18x1......s3 PUSH
-            26x1......THROWANYIFNOT
-            26x1......s1 s4 XCPU
-            126x1......?fun_ref_e20f9805701a7fc5 INLINECALLDICT
-            18x1......-1 PUSHINT
-            26x1....}> PUSHCONT
-            18x1....IFJMP
-            ....s0 PUSH
-            ....2937889386 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2937889386 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDREF
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......5 1 BLKSWAP
-            ......?fun_ref_92b2bea96705e0e2 INLINECALLDICT
-            ......s1 POP
-            ......s3 s4 XCHG
-            ......s1 s3 s0 XCHG3
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....2078119902 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2078119902 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......64 LDU
-            ......LDGRAMS
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......LDMSGADDR
-            ......s1 PUSH
-            ......2 PLDU
-            ......0 NEQINT
-            ......<{
-            ........s0 s1 XCHG
-            ........s0 PUSH
-            ........SBITS
-            ........267 PUSHINT
-            ........EQUAL
-            ........136 THROWIFNOT
-            ........s0 PUSH
-            ........11 PLDU
-            ........s0 PUSH
-            ........1279 PUSHINT
-            ........EQUAL
-            ........137 THROWIF
-            ........10 PUSHPOW2
-            ........EQUAL
-            ........136 THROWIFNOT
-            ......}> PUSHCONT
-            ......<{
-            ........s1 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s1 s4 XCHG
-            ......s3 s3 s0 XCHG3
-            ......1 4 BLKDROP2
-            ......s5 s8 XCHG
-            ......s4 s7 XCHG
-            ......s3 s6 XCHG
-            ......s8 s7 s7 XCHG3
-            ......?fun_ref_3689983192928298 INLINECALLDICT
-            ......s4 s7 XCHG2
-            ......SUB
-            ......s5 PUSH
-            ......ISNULL
-            ......NOT
-            ......<{
-            ........s0 s5 XCHG
-            ........s0 PUSH
-            ........ISNULL
-            ........128 THROWIF
-            ........0 PUSHINT
-            ........0 PUSHINT
-            ........66 PUSHINT
-            ........s0 s7 XCHG
-            ........NEWC
-            ........s0 s1 XCHG
-            ........3576854235 PUSHINT
-            ........ROT
-            ........32 STU
-            ........64 STU
-            ........ENDC
-            ........s3 s4 XCHG
-            ........s1 s3 s0 XCHG3
-            ........s1 s7 XCHG
-            ........s2 s4 XCHG
-            ........s2 s3 XCHG
-            ........NULL
-            ........NULL
-            ........?fun_ref_b93b9862cda1783c INLINECALLDICT
-            ........s2 s3 XCHG
-            ......}> PUSHCONT
-            ......<{
-            ........s4 POP
-            ........s4 POP
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s4 s1 s3 XCHG3
-            ......s0 s2 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....0 EQINT
-            ....<{
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......HASHSU
-            ......s0 PUSH
-            ......114319820043338273756724545349405963582647504019519623841762688061413941636854 PUSHINT
-            ......EQUAL
-            ......<{
-            ........s0 POP
-            ........1 GETGLOBVAR
-            ........4 UNTUPLE
-            ........s2 s3 XCHG
-            ........3 BLKDROP
-            ........18668 PUSHINT
-            ........s2 PUSH
-            ........THROWANYIFNOT
-            ........100 PUSHINT
-            ........s4 PUSH
-            ........?fun_ref_e20f9805701a7fc5 INLINECALLDICT
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ......99509353686795994580079343596348776708726008258819386693306414918577339272096 PUSHINT
-            ......EQUAL
-            ......<{
-            ........s0 POP
-            ........1 GETGLOBVAR
-            ........4 UNTUPLE
-            ........s2 s3 XCHG
-            ........3 BLKDROP
-            ........s2 PUSH
-            ........3734 PUSHINT
-            ........s0 s2 XCHG
-            ........SDEQ
-            ........THROWANYIFNOT
-            ........0 PUSHINT
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ....}> IFREFELSE
-            ....0 PUSHINT
-            x1..}>
-            x7..?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{
-            18x7....s2 PUSH
-            x7..}>
-            ..?fun_ref_b327c214bffdf4c6 PROCREF:<{
-            ....?fun_ref_8762243e0b09a85d INLINECALLDICT
-            ....0 PUSHINT
-            ....ROTREV
-            ....NEWC
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....3 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STU
-            ....s1 s2 XCHG
-            ....STREF
-            ....STREF
-            ....ENDC
-            ....HASHCU
-            ....NEWC
-            ....2 PUSHINT
-            ....s0 s1 XCHG
-            ....2 STU
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STU
-            ....s1 s2 XCHG
-            ....8 STI
-            ....256 STU
-            ....ENDC
-            ....CTOS
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ..}>
-            x1..?fun_ref_b8d6a373d037f795 PROCREF:<{
-            18x1....s0 s2 XCHG
-            118x1....CTOS
-            26x1....LDDICT
-            18x1....s0 POP
-            18x1....NULL
-            18x1....s0 s1 XCHG
-            23x1....55471 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....16 PUSHINT
-            226x1....DICTUGETREF
-            26x1....NULLSWAPIFNOT
-            34x1....135 THROWIFNOT
-            18x1....s0 s1 XCHG
-            23x1....55471 PUSHINT
-            18x1....s2 PUSH
-            18x1....s0 s2 XCHG
-            26x1....16 PUSHINT
-            526x1....DICTUSETREF
-            18x1....NEWC
-            18x1....s0 s1 XCHG
-            18x1....NEWC
-            26x1....STDICT
-            518x1....ENDC
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....0 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            26x1....s0 s0 s3 XCHG3
-            18x1....ROTREV
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            518x1....ENDC
-            x1..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x1..?fun_ref_d21437797e815e3e PROCREF:<{
-            23x1....395134233 PUSHINT
-            26x1....s0 s7 XCHG2
-            26x1....32 STU
-            18x1....s1 s5 XCHG
-            26x1....64 STU
-            26x1....s0 s3 XCHG2
-            26x1....STGRAMS
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            18x1....s0 s1 XCHG
-            26x1....STGRAMS
-            18x1....s0 s1 XCHG
-            26x1....STSLICER
-            x1..}>
-            x1..?fun_ref_e20f9805701a7fc5 PROCREF:<{
-            34x1....6898 PUSHINT
-            26x1....s8 s2 PUSH2
-            18x1....ADD
-            18x1....s8 PUSH
-            18x1....LEQ
-            26x1....THROWANYIFNOT
-            26x1....s7 s1 XCPU
-            18x1....ADD
-            26x1....5 2 BLKSWAP
-            126x1....?fun_ref_8762243e0b09a85d INLINECALLDICT
-            18x1....DUP2
-            18x1....0 PUSHINT
-            18x1....ROTREV
-            18x1....NEWC
-            18x1....0 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....2 STU
-            18x1....3 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....2 STU
-            18x1....0 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STU
-            18x1....s1 s2 XCHG
-            18x1....STREF
-            18x1....STREF
-            518x1....ENDC
-            26x1....HASHCU
-            18x1....NEWC
-            18x1....2 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....2 STU
-            18x1....0 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STU
-            18x1....s1 s2 XCHG
-            26x1....8 STI
-            26x1....256 STU
-            518x1....ENDC
-            118x1....CTOS
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....0 PUSHINT
-            18x1....0 PUSHINT
-            26x1....64 PUSHINT
-            18x1....s2 PUSH
-            26x1....MYADDR
-            18x1....s1 PUSH
-            18x1....NEWC
-            518x1....ENDC
-            118x1....CTOS
-            26x1....s3 s5 XCHG
-            26x1....s4 s15 XCHG
-            26x1....s2 s3 XCHG
-            18x1....s0 s2 XCHG
-            26x1....s0 s16 XCHG
-            18x1....s0 s2 XCHG
-            18x1....NEWC
-            26x1....6 1 BLKSWAP
-            126x1....?fun_ref_d21437797e815e3e INLINECALLDICT
-            518x1....ENDC
-            26x1....s6 s5 s0 XCHG3
-            26x1....s4 s11 XCHG
-            26x1....s3 s10 XCHG
-            26x1....s0 s11 s10 XCHG3
-            26x1....s4 s6 XCHG
-            26x1....s4 s5 XCHG
-            126x1....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            26x1....s0 s3 s4 XCHG3
-            x1..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/bugs/output/bugs_SampleJetton.code.fc b/src/test/bugs/output/bugs_SampleJetton.code.fc deleted file mode 100644 index 0a093f5b0..000000000 --- a/src/test/bugs/output/bugs_SampleJetton.code.fc +++ /dev/null @@ -1,239 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "bugs_SampleJetton.headers.fc"; -#include "bugs_SampleJetton.stdlib.fc"; -#include "bugs_SampleJetton.storage.fc"; - -;; -;; Contract SampleJetton functions -;; - -(int, int, slice, cell, int) $SampleJetton$_contract_init(slice $owner, cell $content, int $max_supply) impure inline_ref { - var (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)) = (null(), null(), null(), null(), null()); - $self'totalSupply = 0; - $self'max_supply = $max_supply; - $self'owner = $owner; - $self'mintable = true; - $self'content = $content; - return ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable); -} - -((int, int, slice, cell, int), (cell, cell)) $SampleJetton$_fun_getJettonWalletInit((int, int, slice, cell, int) $self, slice $address) impure inline_ref { - var (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)) = $self; - return (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable), $JettonDefaultWallet$_init_child(__tact_context_sys, my_address(), $address)); -} - -((int, int, slice, cell, int), ()) $SampleJetton$_fun_mint((int, int, slice, cell, int) $self, slice $to, int $amount, slice $response_destination) impure inline_ref { - var (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)) = $self; - throw_unless(6898, (($self'totalSupply + $amount) <= $self'max_supply)); - $self'totalSupply = ($self'totalSupply + $amount); - var ($winit'code, $winit'data) = ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)~$SampleJetton$_fun_getJettonWalletInit($to); - $global_send($SendParameters$_constructor_to_value_bounce_mode_body_code_data($global_contractAddress(($winit'code, $winit'data)), 0, false, 64, $TokenTransferInternal$_store_cell($TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload(0, $amount, my_address(), $response_destination, 0, $global_emptySlice())), $winit'code, $winit'data)); - return (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable), ()); -} - -((int, int, slice, cell, int), ()) $SampleJetton$_fun_requireWallet((int, int, slice, cell, int) $self, slice $owner) impure inline_ref { - var (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)) = $self; - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - var ($winit'code, $winit'data) = ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)~$SampleJetton$_fun_getJettonWalletInit($owner); - throw_unless(4429, ( __tact_slice_eq_bits($ctx'sender, $global_contractAddress(($winit'code, $winit'data))) )); - return (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable), ()); -} - -((int, int, slice, cell, int), (int, int, slice, cell, cell)) $SampleJetton$_fun_get_jetton_data((int, int, slice, cell, int) $self) impure inline_ref { - var (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)) = $self; - cell $code = $StateInit$_get_code(($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)~$SampleJetton$_fun_getJettonWalletInit(my_address())); - return (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable), $JettonData$_constructor_totalSupply_mintable_owner_content_walletCode($self'totalSupply, $self'mintable, $self'owner, $self'content, $code)); -} - -((int, int, slice, cell, int), slice) $SampleJetton$_fun_get_wallet_address((int, int, slice, cell, int) $self, slice $owner) impure inline_ref { - var (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)) = $self; - var ($winit'code, $winit'data) = ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)~$SampleJetton$_fun_getJettonWalletInit($owner); - return (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable), $global_contractAddress(($winit'code, $winit'data))); -} - -((int, int, slice, cell, int), ()) $SampleJetton$_fun_requireOwner((int, int, slice, cell, int) $self) impure inline_ref { - var (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)) = $self; - throw_unless(132, ( __tact_slice_eq_bits($self'owner, __tact_context_get_sender()) )); - return (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable), ()); -} - -((int, int, slice, cell, int), slice) $SampleJetton$_fun_owner((int, int, slice, cell, int) $self) impure inline_ref { - var (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)) = $self; - return (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable), $self'owner); -} - -;; -;; Receivers of a Contract SampleJetton -;; - -(((int, int, slice, cell, int)), ()) $SampleJetton$_internal_binary_Mint((int, int, slice, cell, int) $self, (int, slice) $msg) impure inline { - var ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable) = $self; - var ($msg'amount, $msg'receiver) = $msg; - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - throw_unless(3734, ( __tact_slice_eq_bits($self'owner, $ctx'sender) )); - throw_unless(18668, $self'mintable); - ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)~$SampleJetton$_fun_mint($msg'receiver, $msg'amount, $self'owner); - return (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable), ()); -} - -((int, int, slice, cell, int), ()) $SampleJetton$_internal_text_fcbeb9a480966477480639c7cea4a578aa6a113b2903b26d01bc384663eceef6((int, int, slice, cell, int) $self) impure inline { - var ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable) = $self; - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - throw_unless(18668, $self'mintable); - ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)~$SampleJetton$_fun_mint($ctx'sender, 100, $self'owner); - return (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable), ()); -} - -((int, int, slice, cell, int), ()) $SampleJetton$_internal_text_dc004c5b75be74376bd79df8713f2390620cc8a3095068b0583eb28ca3ac8ba0((int, int, slice, cell, int) $self) impure inline { - var ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable) = $self; - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - throw_unless(3734, ( __tact_slice_eq_bits($self'owner, $ctx'sender) )); - $self'mintable = false; - return (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable), ()); -} - -(((int, int, slice, cell, int)), ()) $SampleJetton$_internal_binary_TokenUpdateContent((int, int, slice, cell, int) $self, (cell) $msg) impure inline { - var ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable) = $self; - var ($msg'content) = $msg; - ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)~$SampleJetton$_fun_requireOwner(); - $self'content = $msg'content; - return (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable), ()); -} - -(((int, int, slice, cell, int)), ()) $SampleJetton$_internal_binary_TokenBurnNotification((int, int, slice, cell, int) $self, (int, int, slice, slice) $msg) impure inline { - var ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable) = $self; - var ($msg'queryId, $msg'amount, $msg'owner, $msg'response_destination) = $msg; - ($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable)~$SampleJetton$_fun_requireWallet($msg'owner); - $self'totalSupply = ($self'totalSupply - $msg'amount); - if ((~ null?($msg'response_destination))) { - $global_send($SendParameters$_constructor_to_value_bounce_mode_body(__tact_not_null($msg'response_destination), 0, false, (64 + 2), $TokenExcesses$_store_cell($TokenExcesses$_constructor_queryId($msg'queryId)))); - } - return (($self'totalSupply, $self'max_supply, $self'owner, $self'content, $self'mintable), ()); -} - -;; -;; Get methods of a Contract SampleJetton -;; - -_ %get_jetton_data() method_id(106029) { - var self = $SampleJetton$_contract_load(); - var res = self~$SampleJetton$_fun_get_jetton_data(); - return $JettonData$_to_external(res); -} - -_ %get_wallet_address(slice $$owner) method_id(103289) { - slice $owner = __tact_verify_address($$owner); - var self = $SampleJetton$_contract_load(); - var res = self~$SampleJetton$_fun_get_wallet_address($owner); - return res; -} - -_ %owner() method_id(83229) { - var self = $SampleJetton$_contract_load(); - var res = self~$SampleJetton$_fun_owner(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128, - "org.ton.jetton.master"H >> 128, - "org.ton.ownable"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmWTGgKhVf3XPYmfycuWP96mhbGJ1rLuT65mJagSgaXQBG"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract SampleJetton -;; - -((int, int, slice, cell, int), int) $SampleJetton$_contract_router_internal((int, int, slice, cell, int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Mint message - if (op == 4235234258) { - var msg = in_msg~$Mint$_load(); - self~$SampleJetton$_internal_binary_Mint(msg); - return (self, true); - } - - ;; Receive TokenUpdateContent message - if (op == 2937889386) { - var msg = in_msg~$TokenUpdateContent$_load(); - self~$SampleJetton$_internal_binary_TokenUpdateContent(msg); - return (self, true); - } - - ;; Receive TokenBurnNotification message - if (op == 2078119902) { - var msg = in_msg~$TokenBurnNotification$_load(); - self~$SampleJetton$_internal_binary_TokenBurnNotification(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Mint: 100" message - if (text_op == 0xfcbeb9a480966477480639c7cea4a578aa6a113b2903b26d01bc384663eceef6) { - self~$SampleJetton$_internal_text_fcbeb9a480966477480639c7cea4a578aa6a113b2903b26d01bc384663eceef6(); - return (self, true); - } - - ;; Receive "Owner: MintClose" message - if (text_op == 0xdc004c5b75be74376bd79df8713f2390620cc8a3095068b0583eb28ca3ac8ba0) { - self~$SampleJetton$_internal_text_dc004c5b75be74376bd79df8713f2390620cc8a3095068b0583eb28ca3ac8ba0(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $SampleJetton$_contract_load(); - - ;; Handle operation - int handled = self~$SampleJetton$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $SampleJetton$_contract_store(self); -} diff --git a/src/test/bugs/output/bugs_SampleJetton.code.fif b/src/test/bugs/output/bugs_SampleJetton.code.fif deleted file mode 100644 index 2c77b5c1c..000000000 --- a/src/test/bugs/output/bugs_SampleJetton.code.fif +++ /dev/null @@ -1,764 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_load_address_opt - DECLPROC __tact_store_address - DECLPROC __tact_create_address - DECLPROC __tact_compute_contract_address - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC __tact_slice_eq_bits - DECLPROC __tact_dict_set_code - DECLPROC __tact_dict_get_code - DECLPROC $Mint$_load - DECLPROC $TokenTransferInternal$_store - DECLPROC $TokenTransferInternal$_store_cell - DECLPROC $TokenBurnNotification$_load - DECLPROC $TokenExcesses$_store - DECLPROC $TokenExcesses$_store_cell - DECLPROC $TokenUpdateContent$_load - DECLPROC $SampleJetton$_store - DECLPROC $SampleJetton$_load - DECLPROC $StateInit$_get_code - DECLPROC $JettonData$_to_external - DECLPROC $SampleJetton$init$_load - DECLPROC $JettonDefaultWallet$init$_store - DECLPROC $SampleJetton$_contract_init - DECLPROC $SampleJetton$_contract_load - DECLPROC $SampleJetton$_contract_store - DECLPROC $global_emptyCell - DECLPROC $Cell$_fun_asSlice - DECLPROC $global_emptySlice - DECLPROC $global_contractAddress - DECLPROC $global_send - DECLPROC $SendParameters$_constructor_to_value_bounce_mode_body_code_data - DECLPROC $TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload - DECLPROC $JettonDefaultWallet$_init_child - DECLPROC $SampleJetton$_fun_getJettonWalletInit - DECLPROC $SampleJetton$_fun_mint - DECLPROC $SampleJetton$_fun_requireWallet - DECLPROC $JettonData$_constructor_totalSupply_mintable_owner_content_walletCode - DECLPROC $SampleJetton$_fun_get_jetton_data - DECLPROC $SampleJetton$_fun_get_wallet_address - DECLPROC $SampleJetton$_fun_requireOwner - DECLPROC $SampleJetton$_fun_owner - DECLPROC $SendParameters$_constructor_to_value_bounce_mode_body - DECLPROC $TokenExcesses$_constructor_queryId - DECLPROC $SampleJetton$_internal_binary_Mint - DECLPROC $SampleJetton$_internal_text_fcbeb9a480966477480639c7cea4a578aa6a113b2903b26d01bc384663eceef6 - DECLPROC $SampleJetton$_internal_text_dc004c5b75be74376bd79df8713f2390620cc8a3095068b0583eb28ca3ac8ba0 - DECLPROC $SampleJetton$_internal_binary_TokenUpdateContent - DECLPROC $SampleJetton$_internal_binary_TokenBurnNotification - 106029 DECLMETHOD %get_jetton_data - 103289 DECLMETHOD %get_wallet_address - 83229 DECLMETHOD %owner - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $SampleJetton$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_load_address_opt PROCINLINE:<{ - LDMSGADDR - OVER - 2 PLDU - 0 NEQINT - IF:<{ - SWAP - __tact_verify_address INLINECALLDICT - }>ELSE<{ - NIP - PUSHNULL - }> - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_create_address PROCINLINE:<{ - NEWC - 2 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - __tact_verify_address INLINECALLDICT - }> - __tact_compute_contract_address PROCINLINE:<{ - NEWC - 0 PUSHINT - SWAP - 2 STU - 3 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - __tact_create_address INLINECALLDICT - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_slice_eq_bits PROCINLINE:<{ - SDEQ - }> - __tact_dict_set_code PROCINLINE:<{ - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - }> - __tact_dict_get_code PROCINLINE:<{ - SWAP - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - }> - $Mint$_load PROCINLINE:<{ - 32 LDU - SWAP - 4235234258 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - __tact_load_address INLINECALLDICT - s1 s2 XCHG - }> - $TokenTransferInternal$_store PROCREF:<{ - 395134233 PUSHINT - s0 s7 XCHG2 - 32 STU - s1 s5 XCHG - 64 STU - s0 s3 XCHG2 - STGRAMS - SWAP - __tact_store_address INLINECALLDICT - SWAP - __tact_store_address INLINECALLDICT - SWAP - STGRAMS - SWAP - STSLICER - }> - $TokenTransferInternal$_store_cell PROCINLINE:<{ - NEWC - 6 -ROLL - $TokenTransferInternal$_store INLINECALLDICT - ENDC - }> - $TokenBurnNotification$_load PROCINLINE:<{ - 32 LDU - SWAP - 2078119902 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - LDGRAMS - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address_opt INLINECALLDICT - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - $TokenExcesses$_store PROCINLINE:<{ - 3576854235 PUSHINT - ROT - 32 STU - 64 STU - }> - $TokenExcesses$_store_cell PROCINLINE:<{ - NEWC - SWAP - $TokenExcesses$_store INLINECALLDICT - ENDC - }> - $TokenUpdateContent$_load PROCINLINE:<{ - 32 LDU - SWAP - 2937889386 PUSHINT - EQUAL - 129 THROWIFNOT - LDREF - SWAP - }> - $SampleJetton$_store PROCINLINE:<{ - s5 s4 XCHG2 - STGRAMS - ROT - STGRAMS - SWAP - __tact_store_address INLINECALLDICT - s1 s2 XCHG - STREF - 1 STI - }> - $SampleJetton$_load PROCINLINE:<{ - LDGRAMS - LDGRAMS - __tact_load_address INLINECALLDICT - SWAP - LDREF - 1 LDI - 5 -ROLL - }> - $StateInit$_get_code PROCINLINE:<{ - DROP - }> - $JettonData$_to_external PROCINLINE:<{ - }> - $SampleJetton$init$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - SWAP - LDREF - 257 PUSHINT - LDIX - 3 -ROLL - }> - $JettonDefaultWallet$init$_store PROCINLINE:<{ - -ROT - __tact_store_address INLINECALLDICT - SWAP - __tact_store_address INLINECALLDICT - }> - $SampleJetton$_contract_init PROCREF:<{ - 0 PUSHINT - s1 s3 s3 XCHG3 - TRUE - }> - $SampleJetton$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $SampleJetton$_load INLINECALLDICT - 1 5 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $SampleJetton$init$_load INLINECALLDICT - s0 s3 XCHG - ENDS - ROT - $SampleJetton$_contract_init INLINECALLDICT - }> - $SampleJetton$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 5 -ROLL - $SampleJetton$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_emptyCell PROCINLINE:<{ - NEWC - ENDC - }> - $Cell$_fun_asSlice PROCINLINE:<{ - CTOS - }> - $global_emptySlice PROCINLINE:<{ - $global_emptyCell INLINECALLDICT - $Cell$_fun_asSlice INLINECALLDICT - }> - $global_contractAddress PROCINLINE:<{ - 0 PUSHINT - -ROT - __tact_compute_contract_address INLINECALLDICT - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $SendParameters$_constructor_to_value_bounce_mode_body_code_data PROCINLINE:<{ - s4 s6 XCHG - s4 s5 XCHG - }> - $TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload PROCINLINE:<{ - }> - $JettonDefaultWallet$_init_child PROCREF:<{ - s0 s2 XCHG - CTOS - LDDICT - DROP - NEWDICT - SWAP - 55471 PUSHINT - __tact_dict_get_code INLINECALLDICT - SWAP - 55471 PUSHINT - s2 PUSH - __tact_dict_set_code INLINECALLDICT - NEWC - SWAP - NEWC - STDICT - ENDC - SWAP - STREF - FALSE - SWAP - 1 STI - s0 s0 s3 XCHG3 - $JettonDefaultWallet$init$_store INLINECALLDICT - ENDC - }> - $SampleJetton$_fun_getJettonWalletInit PROCREF:<{ - __tact_context_sys GETGLOB - MYADDR - ROT - $JettonDefaultWallet$_init_child INLINECALLDICT - }> - $SampleJetton$_fun_mint PROCREF:<{ - 6898 PUSHINT - s8 s2 PUSH2 - ADD - s8 PUSH - LEQ - THROWANYIFNOT - s7 s1 XCPU - ADD - 5 2 BLKSWAP - $SampleJetton$_fun_getJettonWalletInit INLINECALLDICT - 2DUP - $global_contractAddress INLINECALLDICT - 0 PUSHINT - FALSE - 64 PUSHINT - s2 PUSH - MYADDR - OVER - $global_emptySlice INLINECALLDICT - s3 s5 XCHG - s4 s15 XCHG - s2 s3 XCHG - s2 16 s() XCHG - $TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload INLINECALLDICT - $TokenTransferInternal$_store_cell INLINECALLDICT - s6 s5 s0 XCHG3 - s4 s11 XCHG - s3 s10 XCHG - s0 s11 s10 XCHG3 - $SendParameters$_constructor_to_value_bounce_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - s0 s3 s4 XCHG3 - }> - $SampleJetton$_fun_requireWallet PROCREF:<{ - __tact_context_get INLINECALLDICT - s2 s3 XCHG - 3 BLKDROP - 6 -ROLL - $SampleJetton$_fun_getJettonWalletInit INLINECALLDICT - SWAP - 4429 PUSHINT - s0 s2 XCHG - $global_contractAddress INLINECALLDICT - s1 s7 XCHG - __tact_slice_eq_bits INLINECALLDICT - s1 s6 XCHG - THROWANYIFNOT - 4 ROLL - }> - $JettonData$_constructor_totalSupply_mintable_owner_content_walletCode PROCINLINE:<{ - }> - $SampleJetton$_fun_get_jetton_data PROCREF:<{ - MYADDR - $SampleJetton$_fun_getJettonWalletInit INLINECALLDICT - $StateInit$_get_code INLINECALLDICT - s5 s1 s(-2) PU2XC - s5 s4 s(-2) PU2XC - $JettonData$_constructor_totalSupply_mintable_owner_content_walletCode INLINECALLDICT - }> - $SampleJetton$_fun_get_wallet_address PROCREF:<{ - $SampleJetton$_fun_getJettonWalletInit INLINECALLDICT - $global_contractAddress INLINECALLDICT - }> - $SampleJetton$_fun_requireOwner PROCREF:<{ - __tact_context_get_sender INLINECALLDICT - s3 s(-1) PUXC - __tact_slice_eq_bits INLINECALLDICT - 132 THROWIFNOT - }> - $SampleJetton$_fun_owner PROCREF:<{ - s2 PUSH - }> - $SendParameters$_constructor_to_value_bounce_mode_body PROCINLINE:<{ - s2 s4 XCHG - s2 s3 XCHG - PUSHNULL - PUSHNULL - }> - $TokenExcesses$_constructor_queryId PROCINLINE:<{ - }> - $SampleJetton$_internal_binary_Mint PROCINLINE:<{ - __tact_context_get INLINECALLDICT - s2 s3 XCHG - 3 BLKDROP - s5 PUSH - 3734 PUSHINT - s0 s2 XCHG - __tact_slice_eq_bits INLINECALLDICT - THROWANYIFNOT - 18668 PUSHINT - s3 PUSH - THROWANYIFNOT - s1 s4 XCPU - $SampleJetton$_fun_mint INLINECALLDICT - }> - $SampleJetton$_internal_text_fcbeb9a480966477480639c7cea4a578aa6a113b2903b26d01bc384663eceef6 PROCINLINE:<{ - __tact_context_get INLINECALLDICT - s2 s3 XCHG - 3 BLKDROP - 18668 PUSHINT - s2 PUSH - THROWANYIFNOT - 100 PUSHINT - s4 PUSH - $SampleJetton$_fun_mint INLINECALLDICT - }> - $SampleJetton$_internal_text_dc004c5b75be74376bd79df8713f2390620cc8a3095068b0583eb28ca3ac8ba0 PROCINLINE:<{ - DROP - __tact_context_get INLINECALLDICT - s2 s3 XCHG - 3 BLKDROP - s2 PUSH - 3734 PUSHINT - s0 s2 XCHG - __tact_slice_eq_bits INLINECALLDICT - THROWANYIFNOT - FALSE - }> - $SampleJetton$_internal_binary_TokenUpdateContent PROCINLINE:<{ - 5 -ROLL - $SampleJetton$_fun_requireOwner INLINECALLDICT - NIP - s3 s4 XCHG - s1 s3 s0 XCHG3 - }> - $SampleJetton$_internal_binary_TokenBurnNotification PROCINLINE:<{ - s5 s8 XCHG - s4 s7 XCHG - s3 s6 XCHG - s8 s7 s7 XCHG3 - $SampleJetton$_fun_requireWallet INLINECALLDICT - s4 s7 XCHG2 - SUB - s5 PUSH - ISNULL - NOT - IF:<{ - s0 s5 XCHG - __tact_not_null INLINECALLDICT - 0 PUSHINT - FALSE - 66 PUSHINT - s0 s7 XCHG - $TokenExcesses$_constructor_queryId INLINECALLDICT - $TokenExcesses$_store_cell INLINECALLDICT - s3 s4 XCHG - s1 s3 s0 XCHG3 - s1 s7 XCHG - $SendParameters$_constructor_to_value_bounce_mode_body INLINECALLDICT - $global_send INLINECALLDICT - s2 s3 XCHG - }>ELSE<{ - s4 POP - s4 POP - }> - s4 s1 s3 XCHG3 - s0 s2 XCHG - }> - %get_jetton_data PROC:<{ - $SampleJetton$_contract_load INLINECALLDICT - $SampleJetton$_fun_get_jetton_data INLINECALLDICT - 5 5 BLKDROP2 - $JettonData$_to_external INLINECALLDICT - }> - %get_wallet_address PROC:<{ - __tact_verify_address INLINECALLDICT - $SampleJetton$_contract_load INLINECALLDICT - 5 ROLL - $SampleJetton$_fun_get_wallet_address INLINECALLDICT - 5 1 BLKDROP2 - }> - %owner PROC:<{ - $SampleJetton$_contract_load INLINECALLDICT - $SampleJetton$_fun_owner INLINECALLDICT - 5 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 258390863389042349688353801369539695109 PUSHINT - 86142586315491086060343270784266291122 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d575447674b685666335850596d66796375575039366d6862474a31724c755436356d4a616753676158514247} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $SampleJetton$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 4235234258 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Mint$_load INLINECALLDICT - 1 2 BLKDROP2 - $SampleJetton$_internal_binary_Mint INLINECALLDICT - TRUE - }> - DUP - 2937889386 PUSHINT - EQUAL - IFJMP:<{ - DROP - $TokenUpdateContent$_load INLINECALLDICT - NIP - $SampleJetton$_internal_binary_TokenUpdateContent INLINECALLDICT - TRUE - }> - DUP - 2078119902 PUSHINT - EQUAL - IFJMP:<{ - DROP - $TokenBurnNotification$_load INLINECALLDICT - 1 4 BLKDROP2 - $SampleJetton$_internal_binary_TokenBurnNotification INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - DUP - 114319820043338273756724545349405963582647504019519623841762688061413941636854 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SampleJetton$_internal_text_fcbeb9a480966477480639c7cea4a578aa6a113b2903b26d01bc384663eceef6 INLINECALLDICT - TRUE - RETALT - }> - 99509353686795994580079343596348776708726008258819386693306414918577339272096 PUSHINT - EQUAL - IFJMP:<{ - $SampleJetton$_internal_text_dc004c5b75be74376bd79df8713f2390620cc8a3095068b0583eb28ca3ac8ba0 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $SampleJetton$_contract_load INLINECALLDICT - 2 5 BLKSWAP - $SampleJetton$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $SampleJetton$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/bugs/output/bugs_SampleJetton.code.rev.fif b/src/test/bugs/output/bugs_SampleJetton.code.rev.fif deleted file mode 100644 index 8c62b6a79..000000000 --- a/src/test/bugs/output/bugs_SampleJetton.code.rev.fif +++ /dev/null @@ -1,908 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC owner; - DECLPROC get_wallet_address; - DECLPROC get_jetton_data; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_25011c0bed620945; - DECLPROC ?fun_ref_3689983192928298; - DECLPROC ?fun_ref_4f17992d157e755c; - DECLPROC ?fun_ref_500c43b8824042b8; - DECLPROC ?fun_ref_8762243e0b09a85d; - DECLPROC ?fun_ref_92b2bea96705e0e2; - DECLPROC ?fun_ref_a08eb38fc7e85e5e; - DECLPROC ?fun_ref_b2f99ae1a1dd4dfb; - DECLPROC ?fun_ref_b327c214bffdf4c6; - DECLPROC ?fun_ref_b8d6a373d037f795; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_d21437797e815e3e; - DECLPROC ?fun_ref_e20f9805701a7fc5; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_500c43b8824042b8 INLINECALLDICT - 2 5 BLKSWAP - ?fun_ref_a08eb38fc7e85e5e INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 5 1 BLKSWAP - s5 s4 XCHG2 - STGRAMS - ROT - STGRAMS - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s1 s2 XCHG - STREF - 1 STI - ENDC - c4 POP - }> - owner PROC:<{ - ?fun_ref_500c43b8824042b8 INLINECALLDICT - ?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT - 5 1 BLKDROP2 - }> - get_wallet_address PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_500c43b8824042b8 INLINECALLDICT - 1 5 BLKSWAP - ?fun_ref_b327c214bffdf4c6 INLINECALLDICT - 5 1 BLKDROP2 - }> - get_jetton_data PROC:<{ - ?fun_ref_500c43b8824042b8 INLINECALLDICT - ?fun_ref_4f17992d157e755c INLINECALLDICT - 5 5 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - 258390863389042349688353801369539695109 PUSHINT - 86142586315491086060343270784266291122 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D575447674B685666335850596D66796375575039366D6862474A31724C755436356D4A61675367615851424782_} PUSHSLICE - }> - ?fun_ref_25011c0bed620945 PROCREF:<{ - 0 PUSHINT - s1 s3 s3 XCHG3 - -1 PUSHINT - }> - ?fun_ref_3689983192928298 PROCREF:<{ - 1 GETGLOBVAR - 4 UNTUPLE - s2 s3 XCHG - 3 BLKDROP - 6 1 BLKSWAP - ?fun_ref_8762243e0b09a85d INLINECALLDICT - s0 s1 XCHG - 4429 PUSHINT - s0 s2 XCHG - 0 PUSHINT - ROTREV - NEWC - 0 PUSHINT - s0 s1 XCHG - 2 STU - 3 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 s7 XCHG - SDEQ - s1 s6 XCHG - THROWANYIFNOT - 1 4 BLKSWAP - }> - ?fun_ref_4f17992d157e755c PROCREF:<{ - MYADDR - ?fun_ref_8762243e0b09a85d INLINECALLDICT - s0 POP - s5 s3 s2 PU2XC - s5 s6 s2 PU2XC - }> - ?fun_ref_500c43b8824042b8 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDGRAMS - LDGRAMS - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDREF - 1 LDI - 5 1 BLKSWAP - 1 5 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDREF - 257 PUSHINT - LDIX - 3 1 BLKSWAP - s0 s3 XCHG - ENDS - ROT - ?fun_ref_25011c0bed620945 INLINECALLDICT - }> - ?fun_ref_8762243e0b09a85d PROCREF:<{ - 3 GETGLOBVAR - MYADDR - ROT - ?fun_ref_b8d6a373d037f795 INLINECALLDICT - }> - ?fun_ref_92b2bea96705e0e2 PROCREF:<{ - 2 GETGLOBVAR - s3 s1 PUXC - SDEQ - 132 THROWIFNOT - }> - ?fun_ref_a08eb38fc7e85e5e PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 4235234258 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 4235234258 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 s2 XCHG - 1 2 BLKDROP2 - 1 GETGLOBVAR - 4 UNTUPLE - s2 s3 XCHG - 3 BLKDROP - s5 PUSH - 3734 PUSHINT - s0 s2 XCHG - SDEQ - THROWANYIFNOT - 18668 PUSHINT - s3 PUSH - THROWANYIFNOT - s1 s4 XCPU - ?fun_ref_e20f9805701a7fc5 INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 2937889386 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2937889386 PUSHINT - EQUAL - 129 THROWIFNOT - LDREF - s0 s1 XCHG - s1 POP - 5 1 BLKSWAP - ?fun_ref_92b2bea96705e0e2 INLINECALLDICT - s1 POP - s3 s4 XCHG - s1 s3 s0 XCHG3 - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 2078119902 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2078119902 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - LDGRAMS - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s1 PUSH - 2 PLDU - 0 NEQINT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - <{ - s1 POP - NULL - }> PUSHCONT - IFELSE - s1 s4 XCHG - s3 s3 s0 XCHG3 - 1 4 BLKDROP2 - s5 s8 XCHG - s4 s7 XCHG - s3 s6 XCHG - s8 s7 s7 XCHG3 - ?fun_ref_3689983192928298 INLINECALLDICT - s4 s7 XCHG2 - SUB - s5 PUSH - ISNULL - NOT - <{ - s0 s5 XCHG - s0 PUSH - ISNULL - 128 THROWIF - 0 PUSHINT - 0 PUSHINT - 66 PUSHINT - s0 s7 XCHG - NEWC - s0 s1 XCHG - 3576854235 PUSHINT - ROT - 32 STU - 64 STU - ENDC - s3 s4 XCHG - s1 s3 s0 XCHG3 - s1 s7 XCHG - s2 s4 XCHG - s2 s3 XCHG - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - s2 s3 XCHG - }> PUSHCONT - <{ - s4 POP - s4 POP - }> PUSHCONT - IFELSE - s4 s1 s3 XCHG3 - s0 s2 XCHG - -1 PUSHINT - }> IFJMPREF - 0 EQINT - <{ - s0 POP - }> PUSHCONT - <{ - HASHSU - s0 PUSH - 114319820043338273756724545349405963582647504019519623841762688061413941636854 PUSHINT - EQUAL - <{ - s0 POP - 1 GETGLOBVAR - 4 UNTUPLE - s2 s3 XCHG - 3 BLKDROP - 18668 PUSHINT - s2 PUSH - THROWANYIFNOT - 100 PUSHINT - s4 PUSH - ?fun_ref_e20f9805701a7fc5 INLINECALLDICT - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - 99509353686795994580079343596348776708726008258819386693306414918577339272096 PUSHINT - EQUAL - <{ - s0 POP - 1 GETGLOBVAR - 4 UNTUPLE - s2 s3 XCHG - 3 BLKDROP - s2 PUSH - 3734 PUSHINT - s0 s2 XCHG - SDEQ - THROWANYIFNOT - 0 PUSHINT - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> IFREFELSE - 0 PUSHINT - }> - ?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{ - s2 PUSH - }> - ?fun_ref_b327c214bffdf4c6 PROCREF:<{ - ?fun_ref_8762243e0b09a85d INLINECALLDICT - 0 PUSHINT - ROTREV - NEWC - 0 PUSHINT - s0 s1 XCHG - 2 STU - 3 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - ?fun_ref_b8d6a373d037f795 PROCREF:<{ - s0 s2 XCHG - CTOS - LDDICT - s0 POP - NULL - s0 s1 XCHG - 55471 PUSHINT - s0 s1 XCHG - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - s0 s1 XCHG - 55471 PUSHINT - s2 PUSH - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - NEWC - s0 s1 XCHG - NEWC - STDICT - ENDC - s0 s1 XCHG - STREF - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s0 s3 XCHG3 - ROTREV - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_d21437797e815e3e PROCREF:<{ - 395134233 PUSHINT - s0 s7 XCHG2 - 32 STU - s1 s5 XCHG - 64 STU - s0 s3 XCHG2 - STGRAMS - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s1 XCHG - STGRAMS - s0 s1 XCHG - STSLICER - }> - ?fun_ref_e20f9805701a7fc5 PROCREF:<{ - 6898 PUSHINT - s8 s2 PUSH2 - ADD - s8 PUSH - LEQ - THROWANYIFNOT - s7 s1 XCPU - ADD - 5 2 BLKSWAP - ?fun_ref_8762243e0b09a85d INLINECALLDICT - DUP2 - 0 PUSHINT - ROTREV - NEWC - 0 PUSHINT - s0 s1 XCHG - 2 STU - 3 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - 0 PUSHINT - 0 PUSHINT - 64 PUSHINT - s2 PUSH - MYADDR - s1 PUSH - NEWC - ENDC - CTOS - s3 s5 XCHG - s4 s15 XCHG - s2 s3 XCHG - s0 s2 XCHG - s0 s16 XCHG - s0 s2 XCHG - NEWC - 6 1 BLKSWAP - ?fun_ref_d21437797e815e3e INLINECALLDICT - ENDC - s6 s5 s0 XCHG3 - s4 s11 XCHG - s3 s10 XCHG - s0 s11 s10 XCHG3 - s4 s6 XCHG - s4 s5 XCHG - ?fun_ref_b93b9862cda1783c INLINECALLDICT - s0 s3 s4 XCHG3 - }> -}END>c \ No newline at end of file diff --git a/src/test/bugs/output/bugs_SampleJetton.headers.fc b/src/test/bugs/output/bugs_SampleJetton.headers.fc deleted file mode 100644 index 7a7ddca04..000000000 --- a/src/test/bugs/output/bugs_SampleJetton.headers.fc +++ /dev/null @@ -1,145 +0,0 @@ -;; -;; Header files for SampleJetton -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_load_address_opt -(slice, slice) __tact_load_address_opt(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_create_address -slice __tact_create_address(int chain, int hash) inline; - -;; __tact_compute_contract_address -slice __tact_compute_contract_address(int chain, cell code, cell data) inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_slice_eq_bits -int __tact_slice_eq_bits(slice a, slice b) inline; - -;; __tact_dict_set_code -cell __tact_dict_set_code(cell dict, int id, cell code) inline; - -;; __tact_dict_get_code -cell __tact_dict_get_code(cell dict, int id) inline; - -;; $Mint$_load -(slice, ((int, slice))) $Mint$_load(slice sc_0) inline; - -;; $TokenTransferInternal$_store -builder $TokenTransferInternal$_store(builder build_0, (int, int, slice, slice, int, slice) v) inline_ref; - -;; $TokenTransferInternal$_store_cell -cell $TokenTransferInternal$_store_cell((int, int, slice, slice, int, slice) v) inline; - -;; $TokenBurnNotification$_load -(slice, ((int, int, slice, slice))) $TokenBurnNotification$_load(slice sc_0) inline; - -;; $TokenExcesses$_store -builder $TokenExcesses$_store(builder build_0, (int) v) inline; - -;; $TokenExcesses$_store_cell -cell $TokenExcesses$_store_cell((int) v) inline; - -;; $TokenUpdateContent$_load -(slice, ((cell))) $TokenUpdateContent$_load(slice sc_0) inline; - -;; $SampleJetton$_store -builder $SampleJetton$_store(builder build_0, (int, int, slice, cell, int) v) inline; - -;; $SampleJetton$_load -(slice, ((int, int, slice, cell, int))) $SampleJetton$_load(slice sc_0) inline; - -;; $StateInit$_get_code -_ $StateInit$_get_code((cell, cell) v) inline; - -;; $JettonData$_to_external -(int, int, slice, cell, cell) $JettonData$_to_external(((int, int, slice, cell, cell)) v) inline; - -;; $SampleJetton$init$_load -(slice, ((slice, cell, int))) $SampleJetton$init$_load(slice sc_0) inline; - -;; $JettonDefaultWallet$init$_store -builder $JettonDefaultWallet$init$_store(builder build_0, (slice, slice) v) inline; - -;; $SampleJetton$_contract_init -(int, int, slice, cell, int) $SampleJetton$_contract_init(slice $owner, cell $content, int $max_supply) impure inline_ref; - -;; $SampleJetton$_contract_load -(int, int, slice, cell, int) $SampleJetton$_contract_load() impure inline_ref; - -;; $SampleJetton$_contract_store -() $SampleJetton$_contract_store((int, int, slice, cell, int) v) impure inline; - -;; $global_emptyCell -cell $global_emptyCell() impure inline; - -;; $Cell$_fun_asSlice -slice $Cell$_fun_asSlice(cell $self) impure inline; - -;; $global_emptySlice -slice $global_emptySlice() impure inline; - -;; $global_contractAddress -slice $global_contractAddress((cell, cell) $s) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $SendParameters$_constructor_to_value_bounce_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_bounce_mode_body_code_data(slice to, int value, int bounce, int mode, cell body, cell code, cell data) inline; - -;; $TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload -((int, int, slice, slice, int, slice)) $TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload(int queryId, int amount, slice from, slice response_destination, int forward_ton_amount, slice forward_payload) inline; - -;; $JettonDefaultWallet$_init_child -(cell, cell) $JettonDefaultWallet$_init_child(cell sys', slice $master, slice $owner) inline_ref; - -;; $SampleJetton$_fun_getJettonWalletInit -((int, int, slice, cell, int), (cell, cell)) $SampleJetton$_fun_getJettonWalletInit((int, int, slice, cell, int) $self, slice $address) impure inline_ref; - -;; $SampleJetton$_fun_mint -((int, int, slice, cell, int), ()) $SampleJetton$_fun_mint((int, int, slice, cell, int) $self, slice $to, int $amount, slice $response_destination) impure inline_ref; - -;; $SampleJetton$_fun_requireWallet -((int, int, slice, cell, int), ()) $SampleJetton$_fun_requireWallet((int, int, slice, cell, int) $self, slice $owner) impure inline_ref; - -;; $JettonData$_constructor_totalSupply_mintable_owner_content_walletCode -((int, int, slice, cell, cell)) $JettonData$_constructor_totalSupply_mintable_owner_content_walletCode(int totalSupply, int mintable, slice owner, cell content, cell walletCode) inline; - -;; $SampleJetton$_fun_get_jetton_data -((int, int, slice, cell, int), (int, int, slice, cell, cell)) $SampleJetton$_fun_get_jetton_data((int, int, slice, cell, int) $self) impure inline_ref; - -;; $SampleJetton$_fun_get_wallet_address -((int, int, slice, cell, int), slice) $SampleJetton$_fun_get_wallet_address((int, int, slice, cell, int) $self, slice $owner) impure inline_ref; - -;; $SampleJetton$_fun_requireOwner -((int, int, slice, cell, int), ()) $SampleJetton$_fun_requireOwner((int, int, slice, cell, int) $self) impure inline_ref; - -;; $SampleJetton$_fun_owner -((int, int, slice, cell, int), slice) $SampleJetton$_fun_owner((int, int, slice, cell, int) $self) impure inline_ref; - -;; $SendParameters$_constructor_to_value_bounce_mode_body -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_bounce_mode_body(slice to, int value, int bounce, int mode, cell body) inline; - -;; $TokenExcesses$_constructor_queryId -((int)) $TokenExcesses$_constructor_queryId(int queryId) inline; diff --git a/src/test/bugs/output/bugs_SampleJetton.md b/src/test/bugs/output/bugs_SampleJetton.md deleted file mode 100644 index 7e2e56c66..000000000 --- a/src/test/bugs/output/bugs_SampleJetton.md +++ /dev/null @@ -1,131 +0,0 @@ -# TACT Compilation Report -Contract: SampleJetton -BOC Size: 1763 bytes - -# Types -Total Types: 20 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## TokenInfo -TLB: `_ ticker:^string decimals:int257 = TokenInfo` -Signature: `TokenInfo{ticker:^string,decimals:int257}` - -## Replace -TLB: `replace#5285f402 items:dict = Replace` -Signature: `Replace{items:dict}` - -## Mint -TLB: `mint#fc708bd2 amount:int257 receiver:address = Mint` -Signature: `Mint{amount:int257,receiver:address}` - -## JettonData -TLB: `_ totalSupply:int257 mintable:bool owner:address content:^cell walletCode:^cell = JettonData` -Signature: `JettonData{totalSupply:int257,mintable:bool,owner:address,content:^cell,walletCode:^cell}` - -## TokenTransfer -TLB: `token_transfer#0f8a7ea5 queryId:uint64 amount:coins destination:address response_destination:address custom_payload:Maybe ^cell forward_ton_amount:coins forward_payload:remainder = TokenTransfer` -Signature: `TokenTransfer{queryId:uint64,amount:coins,destination:address,response_destination:address,custom_payload:Maybe ^cell,forward_ton_amount:coins,forward_payload:remainder}` - -## TokenTransferInternal -TLB: `token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address response_destination:address forward_ton_amount:coins forward_payload:remainder = TokenTransferInternal` -Signature: `TokenTransferInternal{queryId:uint64,amount:coins,from:address,response_destination:address,forward_ton_amount:coins,forward_payload:remainder}` - -## TokenNotification -TLB: `token_notification#7362d09c queryId:uint64 amount:coins from:address forward_payload:remainder = TokenNotification` -Signature: `TokenNotification{queryId:uint64,amount:coins,from:address,forward_payload:remainder}` - -## TokenBurn -TLB: `token_burn#595f07bc queryId:uint64 amount:coins owner:address response_destination:address = TokenBurn` -Signature: `TokenBurn{queryId:uint64,amount:coins,owner:address,response_destination:address}` - -## TokenBurnNotification -TLB: `token_burn_notification#7bdd97de queryId:uint64 amount:coins owner:address response_destination:Maybe address = TokenBurnNotification` -Signature: `TokenBurnNotification{queryId:uint64,amount:coins,owner:address,response_destination:Maybe address}` - -## TokenExcesses -TLB: `token_excesses#d53276db queryId:uint64 = TokenExcesses` -Signature: `TokenExcesses{queryId:uint64}` - -## TokenUpdateContent -TLB: `token_update_content#af1ca26a content:^cell = TokenUpdateContent` -Signature: `TokenUpdateContent{content:^cell}` - -## JettonWalletData -TLB: `_ balance:int257 owner:address master:address walletCode:^cell = JettonWalletData` -Signature: `JettonWalletData{balance:int257,owner:address,master:address,walletCode:^cell}` - -## Deploy -TLB: `deploy#946a98b6 queryId:uint64 = Deploy` -Signature: `Deploy{queryId:uint64}` - -## DeployOk -TLB: `deploy_ok#aff90f57 queryId:uint64 = DeployOk` -Signature: `DeployOk{queryId:uint64}` - -## FactoryDeploy -TLB: `factory_deploy#6d0ff13b queryId:uint64 cashback:address = FactoryDeploy` -Signature: `FactoryDeploy{queryId:uint64,cashback:address}` - -## ChangeOwner -TLB: `change_owner#819dbe99 queryId:uint64 newOwner:address = ChangeOwner` -Signature: `ChangeOwner{queryId:uint64,newOwner:address}` - -## ChangeOwnerOk -TLB: `change_owner_ok#327b2b4a queryId:uint64 newOwner:address = ChangeOwnerOk` -Signature: `ChangeOwnerOk{queryId:uint64,newOwner:address}` - -# Get Methods -Total Get Methods: 3 - -## get_jetton_data - -## get_wallet_address -Argument: owner - -## owner - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -3734: Not Owner -4159: Invalid value!! -4429: Invalid sender -6898: The total supply will be overlapping. -13650: Invalid bounced message -18668: Can't Mint Anymore -42708: Invalid sender! -43422: Invalid value - Burn -62972: Invalid balance \ No newline at end of file diff --git a/src/test/bugs/output/bugs_SampleJetton.pkg b/src/test/bugs/output/bugs_SampleJetton.pkg deleted file mode 100644 index 23150ca0c..000000000 --- a/src/test/bugs/output/bugs_SampleJetton.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"SampleJetton","code":"te6ccgECIgEABtcAART/APSkE/S88sgLAQIBYgIDAurQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVFNs88uCCyPhDAcx/AcoAVUBQVPoCWPoCASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFhLMygDJ7VQaBAIBIBARAvTtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQ/HCL0rqO0TDTHwGCEPxwi9K68uCBgQEB1wD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIEmwS+EFvJBAjXwMlgQ6WAscF8vSBSOwj8vRRFNs8f+AgghCvHKJqugsFA16OmzDTHwGCEK8comq68uCB1AExVUDbPDEQNEEwf+AgghB73ZfeuuMCwACRMOMNcAYHCAAS+EJSMMcF8uCEAcQw0x8BghB73ZfeuvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAIdcLAcMAjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiJIxbeIUQzBsFAkB+PkBIILw/L65pICWZHdIBjnHzqSleKpqETspA7JtAbw4RmPs7va6jpcw+EFvJBAjXwOBSOwi8vSAZCTbPH/bMeCC8NwATFt1vnQ3a9ed+HE/I5BiDMijCVBosFg+soyjrIuguo4WMPhBbyQQI18DIoEOlgLHBfL0cH/bMeALAoQQWBBHEDZId9s8UEehJW6zjqgFIG7y0IBwcIBCB8gBghDVMnbbWMsfyz/JEDRBMBcQJBAjbW3bPBAjkjQ04kQTAn8KDgG0+EFvJBAjXwNVUNs8AYERTQJwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBfHBRby9FUDHQP0gRryU4KgKLvy9FFxoFVB2zxccFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhwcIBAIvgoIcjJ0BA1EE8QIwIREALIVVDbPMlGUBBLEDpAuhBGEEUdDA0AqoIQF41FGVAHyx8Vyz9QA/oCASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYB+gIBzxYBCNs8QDQOAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AA8AmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwCEb4o7tnm2eNijBoSAgEgExQAAiICASAVFgIBSCAhAgFYFxgB3bd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4TsunLVmnZbmdB0s2yjN0UkE4YTIikya+3yRcvbDO06rpAsB8CTa28kGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eKoJtnjYowBoZAhGvFu2ebZ42KsAaGwGG2zxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiB0B4O1E0NQB+GPSAAGOK/oA+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdTSAFVAbBXg+CjXCwqDCbry4In6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdSBAQHXAFUgA9FY2zwcARb4KNs8MFRlIFRlUB0ACHBBM38BDvhD+ChY2zweANoC0PQEMG0BggDYrwGAEPQPb6Hy4IcBggDYryICgBD0F8gByPQAyQHMcAHKAEADWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJACSCcEDOdWnnFfnSULAdYW4mR7IAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtV1RHZ0toVmYzWFBZbWZ5Y3VXUDk2bWhiR0oxckx1VDY1bUphZ1NnYVhRQkeCA=","abi":"{\"name\":\"SampleJetton\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TokenInfo\",\"header\":null,\"fields\":[{\"name\":\"ticker\",\"type\":{\"kind\":\"simple\",\"type\":\"string\",\"optional\":false}},{\"name\":\"decimals\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"Replace\",\"header\":1384510466,\"fields\":[{\"name\":\"items\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"address\"}}]},{\"name\":\"Mint\",\"header\":4235234258,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"receiver\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"JettonData\",\"header\":null,\"fields\":[{\"name\":\"totalSupply\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mintable\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"TokenTransfer\",\"header\":260734629,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"response_destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"custom_payload\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"forward_ton_amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forward_payload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenTransferInternal\",\"header\":395134233,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"response_destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"forward_ton_amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"forward_payload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenNotification\",\"header\":1935855772,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"from\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"forward_payload\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false,\"format\":\"remainder\"}}]},{\"name\":\"TokenBurn\",\"header\":1499400124,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"response_destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"TokenBurnNotification\",\"header\":2078119902,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"response_destination\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"TokenExcesses\",\"header\":3576854235,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"TokenUpdateContent\",\"header\":2937889386,\"fields\":[{\"name\":\"content\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"JettonWalletData\",\"header\":null,\"fields\":[{\"name\":\"balance\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"master\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"walletCode\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Deploy\",\"header\":2490013878,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"DeployOk\",\"header\":2952335191,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"FactoryDeploy\",\"header\":1829761339,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"cashback\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"ChangeOwner\",\"header\":2174598809,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"ChangeOwnerOk\",\"header\":846932810,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"newOwner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Mint\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Mint: 100\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Owner: MintClose\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenUpdateContent\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TokenBurnNotification\"}}],\"getters\":[{\"name\":\"get_jetton_data\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"JettonData\",\"optional\":false}},{\"name\":\"get_wallet_address\",\"arguments\":[{\"name\":\"owner\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"owner\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"3734\":{\"message\":\"Not Owner\"},\"4159\":{\"message\":\"Invalid value!!\"},\"4429\":{\"message\":\"Invalid sender\"},\"6898\":{\"message\":\"The total supply will be overlapping.\"},\"13650\":{\"message\":\"Invalid bounced message\"},\"18668\":{\"message\":\"Can't Mint Anymore\"},\"42708\":{\"message\":\"Invalid sender!\"},\"43422\":{\"message\":\"Invalid value - Burn\"},\"62972\":{\"message\":\"Invalid balance\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\",\"org.ton.jetton.master\",\"org.ton.ownable\"]}","init":{"kind":"direct","args":[{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":false}},{"name":"max_supply","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECRgEADfUAAQHAAQIBICMCAQW+xXwDART/APSkE/S88sgLBAIBYg8FAgEgDQYCASAMBwIBSAkIAHWybuNDVpcGZzOi8vUW1mUHVzWWpOVkRLRlVIbWtxMVJYMXo2ZldNUW9ENHltMXVUcXAxdVgzcG95boIAIDeKALCgAPu+7UTQ0gABgCE7kts8VQLbPGwxggGQDdu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIJwndHgA+WzYDyfyDqyWayiE4AhG/2BbZ5tnjYaQgDgEY+ENTEts8MFRjMFIwQwN60AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRLbPPLggiAREACmyPhDAcx/AcoAVSBQI4EBAc8AASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJ7VQEwAGOK4Ag1yHTH9M/MfoAMIE1UiKCEBeNRRm6kjJ/mAKCEHvdl9664hLy9BOgAn/gcCHXScIflTAg1wsf3iCCEA+KfqW6jwgw2zxsF9s8f+AgghAXjUUZuuMCghBZXwe8uh8cFRIBuo7Y0x8BghBZXwe8uvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgUQzBsFNs8f+AwcBMCelv4QW8kgRFNU4PHBfL0UYShggD1/CHC//L0QzBSOds8ggCpngGCCTEtAKCCCJiWgKASvPL0cIBAA39UM2YeFAHSyFUwghB73ZfeUAXLHxPLPwH6AgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYBIG6VMHABywGOHiDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFuLJJEQUUDMUQzBtbds8PwIQMNs8bBbbPH8bFgT2+EFvJFOixwWzjtP4Q1O42zwBggCm1AJwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFJAxwXy9N5RyKCCAPX8IcL/8vQlwgCVECg0NjDjDUGHJNs8QxoZFwN0EDhGWts8INs8/hQwUHahUAWhJW6zjp1wA8gBghDVMnbbWMsfyz/JEDZBYHIQJEMAbW3bPJMwNDDiWR4YPwDeyCHBAJiALQHLBwGjAd4hgjgyfLJzQRnTt6mqHbmOIHAgcY4UBHqpDKYwJagSoASqBwKkIcAARTDmMDOqAs8BjitvAHCOESN6qQgSb4wBpAN6qQQgwAAU5jMipQOcUwJvgaYwWMsHAqVZ5DAx4snQACz4J28QIaGCCJiWgGa2CKGCCJiWgKChAZZwKkoTUJbIVTCCEHNi0JxQBcsfE8s/AfoCASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgHPFskqVEUwGEMwcAFtbds8FBU/ALLTHwGCEBeNRRm68uCB0z/6APpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6AFFVFRRDMASKMvhBbySBEU1Tw8cF8vRUcyEj2zxEMFJE2zygggnJw4ABoIEQPwGCCJiWgLYIErzy9FGEoYIA9fwhwv/y9PhDVCB12zxcHh5DHQLCcFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhQdnCAQHAsSBNQ58hVUNs8yRBWXiIQOQIQNhA1EDTbPEE/AGRsMfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igw+gAxcdch+gAx+gAwpwOrAADG0x8BghAPin6luvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABkdSSbQHi+gBRZhYVFEMwAcDtRNDUAfhj0gABjkiBAQHXAPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiEMwbBPg+CjXCwqDCbry4IkhAYr6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSAtEB2zwiAARwAgEFvVwsJAEU/wD0pBP0vPLICyUCAWI1JgIBIDMnAgEgKygCAUgqKQB1sm7jQ1aXBmczovL1FtV1RHZ0toVmYzWFBZbWZ5Y3VXUDk2bWhiR0oxckx1VDY1bUphZ1NnYVhRQkeCAAEbCvu1E0NIAAYAIBIC4sAd23ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOE7Lpy1Zp2W5nQdLNsozdFJBOGEyIpMmvt8kXL2wztOq6QLAtACSCcEDOdWnnFfnSULAdYW4mR7ICAVgxLwIRrxbtnm2eNirARDABFvgo2zwwVGUgVGVQQgJNrbyQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEbZ4qgm2eNijARDIBhts8cFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhCAhG+KO7Z5tnjYoxENAACIgLq0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRTbPPLggsj4QwHMfwHKAFVAUFT6Alj6AgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYSzMoAye1URDYC9O2i7fsBkjB/4HAh10nCH5UwINcLH94gghD8cIvSuo7RMNMfAYIQ/HCL0rry4IGBAQHXAPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSbBL4QW8kECNfAyWBDpYCxwXy9IFI7CPy9FEU2zx/4CCCEK8comq6PTcDXo6bMNMfAYIQrxyiarry4IHUATFVQNs8MRA0QTB/4CCCEHvdl9664wLAAJEw4w1wPDk4Afj5ASCC8Py+uaSAlmR3SAY5x86kpXiqahE7KQOybQG8OEZj7O72uo6XMPhBbyQQI18DgUjsIvL0gGQk2zx/2zHggvDcAExbdb50N2vXnfhxPyOQYgzIowlQaLBYPrKMo6yLoLqOFjD4QW8kECNfAyKBDpYCxwXy9HB/2zHgPQHEMNMfAYIQe92X3rry4IHTP/oA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QCHXCwHDAI4dASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IiSMW3iFEMwbBQ6AoQQWBBHEDZId9s8UEehJW6zjqgFIG7y0IBwcIBCB8gBghDVMnbbWMsfyz/JEDRBMBcQJBAjbW3bPBAjkjQ04kQTAn87PwG0+EFvJBAjXwNVUNs8AYERTQJwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBfHBRby9FUDQgAS+EJSMMcF8uCEA/SBGvJTgqAou/L0UXGgVUHbPFxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiHBwgEAi+CghyMnQEDUQTxAjAhEQAshVUNs8yUZQEEsQOkC6EEYQRUJBPgEI2zxAND8ByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsAQACYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzACqghAXjUUZUAfLHxXLP1AD+gIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgH6AgHPFgEO+EP4KFjbPEMA2gLQ9AQwbQGCANivAYAQ9A9vofLghwGCANivIgKAEPQXyAHI9ADJAcxwAcoAQANZINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFskB4O1E0NQB+GPSAAGOK/oA+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdTSAFVAbBXg+CjXCwqDCbry4In6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdSBAQHXAFUgA9FY2zxFAAhwQTN/IL6OJQ=="}},"sources":{"src\\test\\bugs\\issue42.tact":"aW1wb3J0ICJAc3RkbGliL2RlcGxveSI7DQoNCnN0cnVjdCBUb2tlbkluZm8gew0KICAgIHRpY2tlcjogU3RyaW5nOw0KICAgIGRlY2ltYWxzOiBJbnQ7IC8vIGFzIHVpbnQ4OyAvLyA8LS0tLS0tIElTU1VFIEhFUkUsIElGIFdFIFJFTU9WRSAiYXMgdWludDgiLCBUSEUgQ09ERSBDT01QSUxFUyBXSVRIT1VUIFBST0JMRU0NCn0NCg0KLy8gbWVzc2FnZXMgY2FuIGNvbnRhaW4gbWFwcw0KbWVzc2FnZSBSZXBsYWNlIHsNCiAgICBpdGVtczogbWFwPEludCwgQWRkcmVzcz47DQp9DQoNCmNvbnRyYWN0IE1hcHMgd2l0aCBEZXBsb3lhYmxlIHsNCg0KICAgIC8vIG1hcHMgd2l0aCBJbnQgYXMga2V5DQogICAgbWkxOiBtYXA8SW50LCBUb2tlbkluZm8+Ow0KICAgIG1pMjogbWFwPEludCwgQm9vbD47DQogICAgbWkzOiBtYXA8SW50LCBJbnQ+Ow0KICAgIG1pNDogbWFwPEludCwgQWRkcmVzcz47DQogICAgDQogICAgLy8gbWFwcyB3aXRoIEFkZHJlc3MgYXMga2V5DQogICAgbWExOiBtYXA8QWRkcmVzcywgVG9rZW5JbmZvPjsNCiAgICBtYTI6IG1hcDxBZGRyZXNzLCBCb29sPjsNCiAgICBtYTM6IG1hcDxBZGRyZXNzLCBJbnQ+Ow0KICAgIG1hNDogbWFwPEFkZHJlc3MsIEFkZHJlc3M+Ow0KDQogICAgaW5pdChhcmc6IG1hcDxJbnQsIEJvb2w+KSB7DQogICAgICAgIC8vIG5vIG5lZWQgdG8gaW5pdGlhbGl6ZSBtYXBzIGlmIHRoZXkncmUgZW1wdHkNCiAgICAgICAgc2VsZi5taTIgPSBhcmc7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgic2V0IGtleXMiKSB7DQogICAgICAgIC8vIGtleXMgYXJlIEludA0KICAgICAgICBzZWxmLm1pMS5zZXQoMTcsIFRva2VuSW5mb3t0aWNrZXI6ICJTSElCIiwgZGVjaW1hbHM6IDl9KTsNCiAgICAgICAgc2VsZi5taTIuc2V0KDB4OTM3NzQzM2ZmMjE4MzIsIHRydWUpOw0KICAgICAgICBzZWxmLm1pMy5zZXQocG93KDIsMjQwKSwgcG93KDIsMjMwKSk7DQogICAgICAgIHNlbGYubWk0LnNldCgtOTAwLCBhZGRyZXNzKCJFUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFCMk4iKSk7DQogICAgICAgIC8vIGtleXMgYXJlIEFkZHJlc3MNCiAgICAgICAgc2VsZi5tYTEuc2V0KGFkZHJlc3MoIkVRQ0QzOVZTNWpjcHRITDh2TWpFWHJ6R2FSY0NWWXRvN0hVbjRicEFPZzh4cUIyTiIpLCBUb2tlbkluZm97dGlja2VyOiAiRE9HRSIsIGRlY2ltYWxzOiAxOH0pOw0KICAgICAgICBzZWxmLm1hMi5zZXQoYWRkcmVzcygiVVFDRDM5VlM1amNwdEhMOHZNakVYcnpHYVJjQ1ZZdG83SFVuNGJwQU9nOHhxRUJJIiksIHRydWUpOw0KICAgICAgICBzZWxmLm1hMy5zZXQoYWRkcmVzcygiRVFDRDM5VlM1amNwdEhMOHZNakVYcnpHYVJjQ1ZZdG83SFVuNGJwQU9nOHhxQjJOIiksIHRvbigiMS4yMyIpKTsNCiAgICAgICAgc2VsZi5tYTQuc2V0KGFkZHJlc3MoIlVRQ0QzOVZTNWpjcHRITDh2TWpFWHJ6R2FSY0NWWXRvN0hVbjRicEFPZzh4cUVCSSIpLCBteUFkZHJlc3MoKSk7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgiZGVsZXRlIGtleXMiKSB7DQogICAgICAgIC8vIGtleXMgYXJlIEludA0KICAgICAgICBzZWxmLm1pMS5zZXQoMTcsIG51bGwpOw0KICAgICAgICBzZWxmLm1pMi5zZXQoMHg5Mzc3NDMzZmYyMTgzMiwgbnVsbCk7DQogICAgICAgIHNlbGYubWkzLnNldChwb3coMiwyNDApLCBudWxsKTsNCiAgICAgICAgc2VsZi5taTQuc2V0KC05MDAsIG51bGwpOw0KICAgICAgICAvLyBrZXlzIGFyZSBBZGRyZXNzDQogICAgICAgIHNlbGYubWExLnNldChhZGRyZXNzKCJFUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFCMk4iKSwgbnVsbCk7DQogICAgICAgIHNlbGYubWEyLnNldChhZGRyZXNzKCJVUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFFQkkiKSwgbnVsbCk7DQogICAgICAgIHNlbGYubWEzLnNldChhZGRyZXNzKCJFUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFCMk4iKSwgbnVsbCk7DQogICAgICAgIHNlbGYubWE0LnNldChhZGRyZXNzKCJVUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFFQkkiKSwgbnVsbCk7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgiY2xlYXIiKSB7DQogICAgICAgIHNlbGYubWkxID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5taTIgPSBlbXB0eU1hcCgpOw0KICAgICAgICBzZWxmLm1pMyA9IGVtcHR5TWFwKCk7DQogICAgICAgIHNlbGYubWk0ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5tYTEgPSBlbXB0eU1hcCgpOw0KICAgICAgICBzZWxmLm1hMiA9IGVtcHR5TWFwKCk7DQogICAgICAgIHNlbGYubWEzID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5tYTQgPSBlbXB0eU1hcCgpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBSZXBsYWNlKSB7DQogICAgICAgIC8vIHJlcGxhY2UgYWxsIGl0ZW1zIGluIHRoZSBtYXAgd2l0aCB0aG9zZSBjb21pbmcgaW4gdGhlIG1lc3NhZ2UNCiAgICAgICAgc2VsZi5taTQgPSBtc2cuaXRlbXM7DQogICAgfQ0KDQogICAgLy8gaWYgdGhlIGtleSBpcyBub3QgZm91bmQsIHRoZSBnZXQoKSBtZXRob2QgcmV0dXJucyBudWxsDQogICAgZ2V0IGZ1biBvbmVJdGVtKGtleTogSW50KTogQWRkcmVzcz8gew0KICAgICAgICByZXR1cm4gc2VsZi5taTQuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpdGVtQ2hlY2soKTogU3RyaW5nIHsNCiAgICAgICAgaWYgKHNlbGYubWkxLmdldCgxNykgPT0gbnVsbCkgew0KICAgICAgICAgICAgcmV0dXJuICJub3QgZm91bmQiOw0KICAgICAgICB9DQogICAgICAgIGxldCBpdGVtOiBUb2tlbkluZm8gPSBzZWxmLm1pMS5nZXQoMTcpISE7IC8vIHRoZSAhISB3aWxsIHRlbGwgdGhlIGNvbXBpbGVyIGl0J3Mgbm90IG51bGwNCiAgICAgICAgcmV0dXJuIGl0ZW0udGlja2VyOw0KICAgIH0NCg0KICAgIC8vIHlvdSBjYW4gcmV0dXJuIG1hcHMgZnJvbSBnZXR0ZXJzDQogICAgZ2V0IGZ1biBhbGxJdGVtcygpOiBtYXA8QWRkcmVzcywgVG9rZW5JbmZvPiB7DQogICAgICAgIHJldHVybiBzZWxmLm1hMTsNCiAgICB9DQp9DQo=","src\\test\\bugs\\issue43.tact":"aW1wb3J0ICJAc3RkbGliL293bmFibGUiOw0KDQptZXNzYWdlIE1pbnQgew0KICAgIGFtb3VudDogSW50Ow0KICAgIHJlY2VpdmVyOiBBZGRyZXNzOw0KfQ0KDQpzdHJ1Y3QgSmV0dG9uRGF0YSB7DQogICAgdG90YWxTdXBwbHk6IEludDsNCiAgICBtaW50YWJsZTogQm9vbDsNCiAgICBvd25lcjogQWRkcmVzczsNCiAgICBjb250ZW50OiBDZWxsOw0KICAgIHdhbGxldENvZGU6IENlbGw7DQp9DQoNCmNvbnRyYWN0IFNhbXBsZUpldHRvbiB3aXRoIEpldHRvbiB7DQogICAgdG90YWxTdXBwbHk6IEludCBhcyBjb2luczsNCiAgICBtYXhfc3VwcGx5OiBJbnQgYXMgY29pbnM7DQogICAgb3duZXI6IEFkZHJlc3M7DQogICAgY29udGVudDogQ2VsbDsNCiAgICBtaW50YWJsZTogQm9vbDsNCg0KICAgIGluaXQob3duZXI6IEFkZHJlc3MsIGNvbnRlbnQ6IENlbGwsIG1heF9zdXBwbHk6IEludCkgew0KICAgICAgICBzZWxmLnRvdGFsU3VwcGx5ID0gMDsNCiAgICAgICAgc2VsZi5tYXhfc3VwcGx5ID0gbWF4X3N1cHBseTsNCiAgICAgICAgc2VsZi5vd25lciA9IG93bmVyOw0KICAgICAgICBzZWxmLm1pbnRhYmxlID0gdHJ1ZTsNCiAgICAgICAgc2VsZi5jb250ZW50ID0gY29udGVudDsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogTWludCkgew0KICAgICAgICBsZXQgY3R4OiBDb250ZXh0ID0gY29udGV4dCgpOw0KICAgICAgICByZXF1aXJlKGN0eC5zZW5kZXIgPT0gc2VsZi5vd25lciwgIk5vdCBPd25lciIpOw0KICAgICAgICByZXF1aXJlKHNlbGYubWludGFibGUsICJDYW4ndCBNaW50IEFueW1vcmUiKTsNCiAgICAgICAgc2VsZi5taW50KG1zZy5yZWNlaXZlciwgbXNnLmFtb3VudCwgc2VsZi5vd25lcik7IC8vKHRvLCBhbW91bnQsIHJlc3BvbnNlX2Rlc3RpbmF0aW9uKQ0KICAgIH0NCg0KICAgIHJlY2VpdmUoIk1pbnQ6IDEwMCIpIHsgLy8gUHVibGljIE1pbnRpbmcNCiAgICAgICAgbGV0IGN0eDogQ29udGV4dCA9IGNvbnRleHQoKTsNCiAgICAgICAgcmVxdWlyZShzZWxmLm1pbnRhYmxlLCAiQ2FuJ3QgTWludCBBbnltb3JlIik7DQogICAgICAgIHNlbGYubWludChjdHguc2VuZGVyLCAxMDAsIHNlbGYub3duZXIpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoIk93bmVyOiBNaW50Q2xvc2UiKSB7DQogICAgICAgIGxldCBjdHg6IENvbnRleHQgPSBjb250ZXh0KCk7DQogICAgICAgIHJlcXVpcmUoY3R4LnNlbmRlciA9PSBzZWxmLm93bmVyLCAiTm90IE93bmVyIik7DQogICAgICAgIHNlbGYubWludGFibGUgPSBmYWxzZTsNCiAgICB9DQp9IA0KDQovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy8NCkBpbnRlcmZhY2UoIm9yZy50b24uamV0dG9uLm1hc3RlciIpDQp0cmFpdCBKZXR0b24gd2l0aCBPd25hYmxlIHsNCiAgICB0b3RhbFN1cHBseTogSW50OyAvLyBBbHJlYWR5IHNldCBpbml0aWFsbHkgDQogICAgbWF4X3N1cHBseTogSW50Ow0KICAgIG1pbnRhYmxlOiBCb29sOw0KICAgIG93bmVyOiBBZGRyZXNzOw0KICAgIGNvbnRlbnQ6IENlbGw7DQoNCiAgICByZWNlaXZlKG1zZzogVG9rZW5VcGRhdGVDb250ZW50KSB7DQogICAgICAgIHNlbGYucmVxdWlyZU93bmVyKCk7ICAgICAgICAgICAgICAgIC8vIEFsbG93IGNoYW5naW5nIGNvbnRlbnQgb25seSBieSBvd25lcg0KICAgICAgICBzZWxmLmNvbnRlbnQgPSBtc2cuY29udGVudDsgICAgICAgICAvLyBVcGRhdGUgY29udGVudA0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBUb2tlbkJ1cm5Ob3RpZmljYXRpb24pIHsNCiAgICAgICAgc2VsZi5yZXF1aXJlV2FsbGV0KG1zZy5vd25lcik7ICAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2FsbGV0DQogICAgICAgIHNlbGYudG90YWxTdXBwbHkgPSBzZWxmLnRvdGFsU3VwcGx5IC0gbXNnLmFtb3VudDsgLy8gVXBkYXRlIHN1cHBseQ0KDQogICAgICAgIGlmIChtc2cucmVzcG9uc2VfZGVzdGluYXRpb24gIT0gbnVsbCkgeyAvLyBDYXNoYmFjaw0KICAgICAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgICAgICB0bzogbXNnLnJlc3BvbnNlX2Rlc3RpbmF0aW9uISEsIA0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgIGJvdW5jZTogZmFsc2UsDQogICAgICAgICAgICAgICAgbW9kZTogU2VuZFJlbWFpbmluZ1ZhbHVlICsgU2VuZElnbm9yZUVycm9ycywNCiAgICAgICAgICAgICAgICBib2R5OiBUb2tlbkV4Y2Vzc2Vzew0KICAgICAgICAgICAgICAgICAgICBxdWVyeUlkOiBtc2cucXVlcnlJZA0KICAgICAgICAgICAgICAgIH0udG9DZWxsKCkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgLy8gUHJpdmF0ZSBNZXRob2RzIC8vIA0KICAgIC8vIEB0byBUaGUgQWRkcmVzcyByZWNlaXZlIHRoZSBKZXR0b24gdG9rZW4gYWZ0ZXIgbWludGluZw0KICAgIC8vIEBhbW91bnQgVGhlIGFtb3VudCBvZiBKZXR0b24gdG9rZW4gYmVpbmcgbWludGVkDQogICAgLy8gQHJlc3BvbnNlX2Rlc3RpbmF0aW9uIFRoZSBwcmV2aW91cyBvd25lciBhZGRyZXNzDQogICAgZnVuIG1pbnQodG86IEFkZHJlc3MsIGFtb3VudDogSW50LCByZXNwb25zZV9kZXN0aW5hdGlvbjogQWRkcmVzcykgew0KDQogICAgICAgIHJlcXVpcmUoc2VsZi50b3RhbFN1cHBseSArIGFtb3VudCA8PSBzZWxmLm1heF9zdXBwbHksICJUaGUgdG90YWwgc3VwcGx5IHdpbGwgYmUgb3ZlcmxhcHBpbmcuIik7DQogICAgICAgIHNlbGYudG90YWxTdXBwbHkgPSBzZWxmLnRvdGFsU3VwcGx5ICsgYW1vdW50OyAvLyBVcGRhdGUgdG90YWwgc3VwcGx5DQoNCiAgICAgICAgbGV0IHdpbml0OiBTdGF0ZUluaXQgPSBzZWxmLmdldEpldHRvbldhbGxldEluaXQodG8pOyAvLyBDcmVhdGUgbWVzc2FnZQ0KICAgICAgICBzZW5kKFNlbmRQYXJhbWV0ZXJzew0KICAgICAgICAgICAgdG86IGNvbnRyYWN0QWRkcmVzcyh3aW5pdCksIA0KICAgICAgICAgICAgdmFsdWU6IDAsIA0KICAgICAgICAgICAgYm91bmNlOiBmYWxzZSwNCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSwNCiAgICAgICAgICAgIGJvZHk6IFRva2VuVHJhbnNmZXJJbnRlcm5hbHsgDQogICAgICAgICAgICAgICAgcXVlcnlJZDogMCwNCiAgICAgICAgICAgICAgICBhbW91bnQ6IGFtb3VudCwNCiAgICAgICAgICAgICAgICBmcm9tOiBteUFkZHJlc3MoKSwNCiAgICAgICAgICAgICAgICByZXNwb25zZV9kZXN0aW5hdGlvbjogcmVzcG9uc2VfZGVzdGluYXRpb24sDQogICAgICAgICAgICAgICAgZm9yd2FyZF90b25fYW1vdW50OiAwLA0KICAgICAgICAgICAgICAgIGZvcndhcmRfcGF5bG9hZDogZW1wdHlTbGljZSgpDQogICAgICAgICAgICB9LnRvQ2VsbCgpLA0KICAgICAgICAgICAgY29kZTogd2luaXQuY29kZSwNCiAgICAgICAgICAgIGRhdGE6IHdpbml0LmRhdGENCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgZnVuIHJlcXVpcmVXYWxsZXQob3duZXI6IEFkZHJlc3MpIHsNCiAgICAgICAgbGV0IGN0eDogQ29udGV4dCA9IGNvbnRleHQoKTsNCiAgICAgICAgbGV0IHdpbml0OiBTdGF0ZUluaXQgPSBzZWxmLmdldEpldHRvbldhbGxldEluaXQob3duZXIpOw0KICAgICAgICByZXF1aXJlKGNvbnRyYWN0QWRkcmVzcyh3aW5pdCkgPT0gY3R4LnNlbmRlciwgIkludmFsaWQgc2VuZGVyIik7DQogICAgfQ0KDQogICAgdmlydHVhbCBmdW4gZ2V0SmV0dG9uV2FsbGV0SW5pdChhZGRyZXNzOiBBZGRyZXNzKTogU3RhdGVJbml0IHsNCiAgICAgICAgcmV0dXJuIGluaXRPZiBKZXR0b25EZWZhdWx0V2FsbGV0KG15QWRkcmVzcygpLCBhZGRyZXNzKTsNCiAgICB9DQoNCiAgICAvLyBHZXQgTWV0aG9kcyAvLw0KICAgIGdldCBmdW4gZ2V0X2pldHRvbl9kYXRhKCk6IEpldHRvbkRhdGEgew0KICAgICAgICBsZXQgY29kZTogQ2VsbCA9IHNlbGYuZ2V0SmV0dG9uV2FsbGV0SW5pdChteUFkZHJlc3MoKSkuY29kZTsNCiAgICAgICAgcmV0dXJuIEpldHRvbkRhdGF7IA0KICAgICAgICAgICAgdG90YWxTdXBwbHk6IHNlbGYudG90YWxTdXBwbHksIA0KICAgICAgICAgICAgbWludGFibGU6IHNlbGYubWludGFibGUsIA0KICAgICAgICAgICAgb3duZXI6IHNlbGYub3duZXIsIA0KICAgICAgICAgICAgY29udGVudDogc2VsZi5jb250ZW50LCANCiAgICAgICAgICAgIHdhbGxldENvZGU6IGNvZGUNCiAgICAgICAgfTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGdldF93YWxsZXRfYWRkcmVzcyhvd25lcjogQWRkcmVzcyk6IEFkZHJlc3Mgew0KICAgICAgICBsZXQgd2luaXQ6IFN0YXRlSW5pdCA9IHNlbGYuZ2V0SmV0dG9uV2FsbGV0SW5pdChvd25lcik7DQogICAgICAgIHJldHVybiBjb250cmFjdEFkZHJlc3Mod2luaXQpOw0KICAgIH0NCn0NCg0KDQptZXNzYWdlKDB4ZjhhN2VhNSkgVG9rZW5UcmFuc2ZlciB7DQogICAgcXVlcnlJZDogSW50IGFzIHVpbnQ2NDsNCiAgICBhbW91bnQ6IEludCBhcyBjb2luczsNCiAgICBkZXN0aW5hdGlvbjogQWRkcmVzczsNCiAgICByZXNwb25zZV9kZXN0aW5hdGlvbjogQWRkcmVzczsNCiAgICBjdXN0b21fcGF5bG9hZDogQ2VsbD87DQogICAgZm9yd2FyZF90b25fYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgZm9yd2FyZF9wYXlsb2FkOiBTbGljZSBhcyByZW1haW5pbmc7DQp9DQoNCm1lc3NhZ2UoMHgxNzhkNDUxOSkgVG9rZW5UcmFuc2ZlckludGVybmFsIHsNCiAgICBxdWVyeUlkOiBJbnQgYXMgdWludDY0Ow0KICAgIGFtb3VudDogSW50IGFzIGNvaW5zOw0KICAgIGZyb206IEFkZHJlc3M7DQogICAgcmVzcG9uc2VfZGVzdGluYXRpb246IEFkZHJlc3M7DQogICAgZm9yd2FyZF90b25fYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgZm9yd2FyZF9wYXlsb2FkOiBTbGljZSBhcyByZW1haW5pbmc7DQp9DQoNCm1lc3NhZ2UoMHg3MzYyZDA5YykgVG9rZW5Ob3RpZmljYXRpb24gew0KICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7DQogICAgYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgZnJvbTogQWRkcmVzczsNCiAgICBmb3J3YXJkX3BheWxvYWQ6IFNsaWNlIGFzIHJlbWFpbmluZzsgLy8gQ29tbWVudCBUZXh0IG1lc3NhZ2Ugd2hlbiBUcmFuc2ZlciB0aGUgamV0dG9uIA0KfQ0KDQptZXNzYWdlKDB4NTk1ZjA3YmMpIFRva2VuQnVybiB7DQogICAgcXVlcnlJZDogSW50IGFzIHVpbnQ2NDsNCiAgICBhbW91bnQ6IEludCBhcyBjb2luczsNCiAgICBvd25lcjogQWRkcmVzczsNCiAgICByZXNwb25zZV9kZXN0aW5hdGlvbjogQWRkcmVzczsNCn0NCg0KbWVzc2FnZSgweDdiZGQ5N2RlKSBUb2tlbkJ1cm5Ob3RpZmljYXRpb24gew0KICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7DQogICAgYW1vdW50OiBJbnQgYXMgY29pbnM7DQogICAgb3duZXI6IEFkZHJlc3M7DQogICAgcmVzcG9uc2VfZGVzdGluYXRpb246IEFkZHJlc3M/Ow0KfQ0KDQptZXNzYWdlKDB4ZDUzMjc2ZGIpIFRva2VuRXhjZXNzZXMgew0KICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7DQp9DQoNCm1lc3NhZ2UgVG9rZW5VcGRhdGVDb250ZW50IHsNCiAgICBjb250ZW50OiBDZWxsOw0KfQ0KDQoNCg0KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vDQpAaW50ZXJmYWNlKCJvcmcudG9uLmpldHRvbi53YWxsZXQiKQ0KY29udHJhY3QgSmV0dG9uRGVmYXVsdFdhbGxldCB7DQogICAgY29uc3QgbWluVG9uc0ZvclN0b3JhZ2U6IEludCA9IHRvbigiMC4wMSIpOw0KICAgIGNvbnN0IGdhc0NvbnN1bXB0aW9uOiBJbnQgPSB0b24oIjAuMDEiKTsNCg0KICAgIGJhbGFuY2U6IEludDsNCiAgICBvd25lcjogQWRkcmVzczsNCiAgICBtYXN0ZXI6IEFkZHJlc3M7DQoNCiAgICBpbml0KG1hc3RlcjogQWRkcmVzcywgb3duZXI6IEFkZHJlc3MpIHsNCiAgICAgICAgc2VsZi5iYWxhbmNlID0gMDsNCiAgICAgICAgc2VsZi5vd25lciA9IG93bmVyOw0KICAgICAgICBzZWxmLm1hc3RlciA9IG1hc3RlcjsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogVG9rZW5UcmFuc2ZlcikgeyAvLyAweGY4YTdlYTUNCiAgICAgICAgbGV0IGN0eDogQ29udGV4dCA9IGNvbnRleHQoKTsgLy8gQ2hlY2sgc2VuZGVyDQogICAgICAgIHJlcXVpcmUoY3R4LnNlbmRlciA9PSBzZWxmLm93bmVyLCAiSW52YWxpZCBzZW5kZXIiKTsNCg0KICAgICAgICBsZXQgZndkRmVlOiBJbnQgPSBjdHgucmVhZEZvcndhcmRGZWUoKSArIGN0eC5yZWFkRm9yd2FyZEZlZSgpOyAgLy8gR2FzIGNoZWNrcw0KICAgICAgICBsZXQgZmluYWw6IEludCA9ICAyICogc2VsZi5nYXNDb25zdW1wdGlvbiArIHNlbGYubWluVG9uc0ZvclN0b3JhZ2UgKyBmd2RGZWU7DQogICAgICAgIHJlcXVpcmUoY3R4LnZhbHVlID4gbWluKGZpbmFsLCB0b24oIjAuMDEiKSksICJJbnZhbGlkIHZhbHVlISEiKTsgDQoNCiAgICAgICAgc2VsZi5iYWxhbmNlID0gc2VsZi5iYWxhbmNlIC0gbXNnLmFtb3VudDsgLy8gVXBkYXRlIGJhbGFuY2UNCiAgICAgICAgcmVxdWlyZShzZWxmLmJhbGFuY2UgPj0gMCwgIkludmFsaWQgYmFsYW5jZSIpOw0KDQogICAgICAgIGxldCBpbml0OiBTdGF0ZUluaXQgPSBpbml0T2YgSmV0dG9uRGVmYXVsdFdhbGxldChzZWxmLm1hc3RlciwgbXNnLmRlc3RpbmF0aW9uKTsgIA0KICAgICAgICBsZXQgd2FsbGV0QWRkcmVzczogQWRkcmVzcyA9IGNvbnRyYWN0QWRkcmVzcyhpbml0KTsNCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgICAgICB0bzogd2FsbGV0QWRkcmVzcywgDQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgbW9kZTogU2VuZFJlbWFpbmluZ1ZhbHVlLCANCiAgICAgICAgICAgICAgICBib3VuY2U6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGJvZHk6IFRva2VuVHJhbnNmZXJJbnRlcm5hbHsNCiAgICAgICAgICAgICAgICAgICAgcXVlcnlJZDogbXNnLnF1ZXJ5SWQsDQogICAgICAgICAgICAgICAgICAgIGFtb3VudDogbXNnLmFtb3VudCwNCiAgICAgICAgICAgICAgICAgICAgZnJvbTogc2VsZi5vd25lciwNCiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VfZGVzdGluYXRpb246IG1zZy5yZXNwb25zZV9kZXN0aW5hdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgZm9yd2FyZF90b25fYW1vdW50OiBtc2cuZm9yd2FyZF90b25fYW1vdW50LA0KICAgICAgICAgICAgICAgICAgICBmb3J3YXJkX3BheWxvYWQ6IG1zZy5mb3J3YXJkX3BheWxvYWQNCiAgICAgICAgICAgICAgICB9LnRvQ2VsbCgpLA0KICAgICAgICAgICAgICAgIGNvZGU6IGluaXQuY29kZSwNCiAgICAgICAgICAgICAgICBkYXRhOiBpbml0LmRhdGENCiAgICAgICAgICAgIH0pOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBUb2tlblRyYW5zZmVySW50ZXJuYWwpIHsgLy8gMHgxNzhkNDUxOQ0KICAgICAgICBsZXQgY3R4OiBDb250ZXh0ID0gY29udGV4dCgpOw0KDQogICAgICAgIGlmIChjdHguc2VuZGVyICE9IHNlbGYubWFzdGVyKSB7DQogICAgICAgICAgICBsZXQgc2luaXQ6IFN0YXRlSW5pdCA9IGluaXRPZiBKZXR0b25EZWZhdWx0V2FsbGV0KHNlbGYubWFzdGVyLCBtc2cuZnJvbSk7DQogICAgICAgICAgICByZXF1aXJlKGNvbnRyYWN0QWRkcmVzcyhzaW5pdCkgPT0gY3R4LnNlbmRlciwgIkludmFsaWQgc2VuZGVyISIpOw0KICAgICAgICB9DQoNCiAgICAgICAgc2VsZi5iYWxhbmNlID0gc2VsZi5iYWxhbmNlICsgbXNnLmFtb3VudDsNCiAgICAgICAgcmVxdWlyZShzZWxmLmJhbGFuY2UgPj0gMCwgIkludmFsaWQgYmFsYW5jZSIpOyAvLyBVcGRhdGUgYmFsYW5jZQ0KDQogICAgICAgIGlmIChtc2cuZm9yd2FyZF90b25fYW1vdW50ID4gMCkgeyANCiAgICAgICAgICAgIHNlbmQoU2VuZFBhcmFtZXRlcnN7DQogICAgICAgICAgICAgICAgdG86IHNlbGYub3duZXIsDQogICAgICAgICAgICAgICAgdmFsdWU6IG1zZy5mb3J3YXJkX3Rvbl9hbW91bnQsDQogICAgICAgICAgICAgICAgYm91bmNlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBib2R5OiBUb2tlbk5vdGlmaWNhdGlvbiB7IC8vIDB4NzM2MmQwOWMgLSBub3RpZnkgbmV3IG93bmVyDQogICAgICAgICAgICAgICAgICAgIHF1ZXJ5SWQ6IG1zZy5xdWVyeUlkLA0KICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IG1zZy5hbW91bnQsDQogICAgICAgICAgICAgICAgICAgIGZyb206IG1zZy5mcm9tLA0KICAgICAgICAgICAgICAgICAgICBmb3J3YXJkX3BheWxvYWQ6IG1zZy5mb3J3YXJkX3BheWxvYWQNCiAgICAgICAgICAgICAgICB9LnRvQ2VsbCgpDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KDQogICAgICAgIGxldCBtc2dWYWx1ZTogSW50ID0gc2VsZi5tc2dWYWx1ZShjdHgudmFsdWUpOyAgLy8gR2V0IHZhbHVlIGZvciBnYXMNCiAgICAgICAgbGV0IGZ3ZEZlZTogSW50ID0gY3R4LnJlYWRGb3J3YXJkRmVlKCk7DQogICAgICAgIGR1bXAoZndkRmVlKTsNCiAgICAgICAgbXNnVmFsdWUgPSBtc2dWYWx1ZSAtIG1zZy5mb3J3YXJkX3Rvbl9hbW91bnQgLSBmd2RGZWU7DQogICAgICAgIC8vIG1zZ1ZhbHVlID0gbXNnVmFsdWUgLSBtc2cuZm9yd2FyZF90b25fYW1vdW50IC0gbWluKGZ3ZEZlZSwgdG9uKCIwLjAxIikpOw0KICAgICAgICANCiAgICAgICAgaWYgKG1zZy5yZXNwb25zZV9kZXN0aW5hdGlvbiAhPSBudWxsKSB7IC8vIENhc2hiYWNrDQogICAgICAgICAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVycyB7DQogICAgICAgICAgICAgICAgICAgIHRvOiBtc2cucmVzcG9uc2VfZGVzdGluYXRpb24sIA0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbXNnVmFsdWUsICANCiAgICAgICAgICAgICAgICAgICAgYm91bmNlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgYm9keTogVG9rZW5FeGNlc3NlcyB7IC8vIDB4ZDUzMjc2ZGINCiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5SWQ6IG1zZy5xdWVyeUlkDQogICAgICAgICAgICAgICAgICAgIH0udG9DZWxsKCksDQogICAgICAgICAgICAgICAgICAgIG1vZGU6IFNlbmRJZ25vcmVFcnJvcnMNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGdldCBmdW4gbXNnVmFsdWUodmFsdWU6IEludCk6IEludCB7DQogICAgICAgIGxldCBtc2dWYWx1ZTogSW50ID0gdmFsdWU7DQogICAgICAgIGxldCB0b25CYWxhbmNlQmVmb3JlTXNnOiBJbnQgPSBteUJhbGFuY2UoKSAtIG1zZ1ZhbHVlOw0KICAgICAgICBsZXQgc3RvcmFnZUZlZTogSW50ID0gc2VsZi5taW5Ub25zRm9yU3RvcmFnZSAtIG1pbih0b25CYWxhbmNlQmVmb3JlTXNnLCBzZWxmLm1pblRvbnNGb3JTdG9yYWdlKTsNCiAgICAgICAgbXNnVmFsdWUgPSBtc2dWYWx1ZSAtIChzdG9yYWdlRmVlICsgc2VsZi5nYXNDb25zdW1wdGlvbik7DQogICAgICAgIHJldHVybiBtc2dWYWx1ZTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogVG9rZW5CdXJuKSB7DQogICAgICAgIGxldCBjdHg6IENvbnRleHQgPSBjb250ZXh0KCk7DQogICAgICAgIHJlcXVpcmUoY3R4LnNlbmRlciA9PSBzZWxmLm93bmVyLCAiSW52YWxpZCBzZW5kZXIiKTsgIC8vIENoZWNrIHNlbmRlcg0KDQogICAgICAgIHNlbGYuYmFsYW5jZSA9IHNlbGYuYmFsYW5jZSAtIG1zZy5hbW91bnQ7IC8vIFVwZGF0ZSBiYWxhbmNlDQogICAgICAgIHJlcXVpcmUoc2VsZi5iYWxhbmNlID49IDAsICJJbnZhbGlkIGJhbGFuY2UiKTsNCg0KICAgICAgICBsZXQgZndkRmVlOiBJbnQgPSBjdHgucmVhZEZvcndhcmRGZWUoKTsgLy8gR2FzIGNoZWNrcw0KICAgICAgICByZXF1aXJlKGN0eC52YWx1ZSA+IGZ3ZEZlZSArIDIgKiBzZWxmLmdhc0NvbnN1bXB0aW9uICsgc2VsZi5taW5Ub25zRm9yU3RvcmFnZSwgIkludmFsaWQgdmFsdWUgLSBCdXJuIik7DQoNCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sgIC8vIEJ1cm4gdG9rZW5zDQogICAgICAgICAgICB0bzogc2VsZi5tYXN0ZXIsDQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSwNCiAgICAgICAgICAgIGJvdW5jZTogdHJ1ZSwNCiAgICAgICAgICAgIGJvZHk6IFRva2VuQnVybk5vdGlmaWNhdGlvbnsNCiAgICAgICAgICAgICAgICBxdWVyeUlkOiBtc2cucXVlcnlJZCwNCiAgICAgICAgICAgICAgICBhbW91bnQ6IG1zZy5hbW91bnQsDQogICAgICAgICAgICAgICAgb3duZXI6IHNlbGYub3duZXIsDQogICAgICAgICAgICAgICAgcmVzcG9uc2VfZGVzdGluYXRpb246IHNlbGYub3duZXINCiAgICAgICAgICAgIH0udG9DZWxsKCkNCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgYm91bmNlZChtc2c6IFNsaWNlKSB7DQogICAgICAgIGxldCBvcDogSW50ID0gbXNnLmxvYWRVaW50KDMyKTsNCiAgICAgICAgbGV0IHF1ZXJ5SWQ6IEludCA9IG1zZy5sb2FkVWludCg2NCk7DQogICAgICAgIGxldCBqZXR0b25BbW91bnQ6IEludCA9IG1zZy5sb2FkQ29pbnMoKTsNCiAgICAgICAgcmVxdWlyZShvcCA9PSAweDE3OGQ0NTE5IHx8IG9wID09IDB4N2JkZDk3ZGUsICJJbnZhbGlkIGJvdW5jZWQgbWVzc2FnZSIpOw0KICAgICAgICANCiAgICAgICAgc2VsZi5iYWxhbmNlID0gc2VsZi5iYWxhbmNlICsgamV0dG9uQW1vdW50OyAvLyBVcGRhdGUgYmFsYW5jZQ0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0X3dhbGxldF9kYXRhKCk6IEpldHRvbldhbGxldERhdGEgew0KICAgICAgICByZXR1cm4gSmV0dG9uV2FsbGV0RGF0YXsNCiAgICAgICAgICAgIGJhbGFuY2U6IHNlbGYuYmFsYW5jZSwNCiAgICAgICAgICAgIG93bmVyOiBzZWxmLm93bmVyLA0KICAgICAgICAgICAgbWFzdGVyOiBzZWxmLm1hc3RlciwNCiAgICAgICAgICAgIHdhbGxldENvZGU6IChpbml0T2YgSmV0dG9uRGVmYXVsdFdhbGxldChzZWxmLm1hc3Rlciwgc2VsZi5vd25lcikpLmNvZGUNCiAgICAgICAgfTsNCiAgICB9DQp9DQoNCnN0cnVjdCBKZXR0b25XYWxsZXREYXRhIHsNCiAgICBiYWxhbmNlOiBJbnQ7DQogICAgb3duZXI6IEFkZHJlc3M7DQogICAgbWFzdGVyOiBBZGRyZXNzOw0KICAgIHdhbGxldENvZGU6IENlbGw7DQp9","src\\test\\bugs\\bugs.tact":"aW1wb3J0ICIuL2lzc3VlNDIudGFjdCI7DQppbXBvcnQgIi4vaXNzdWU0My50YWN0Ijs="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/bugs/bugs.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_SampleJetton.stdlib.fc b/src/test/bugs/output/bugs_SampleJetton.stdlib.fc deleted file mode 100644 index 636d80452..000000000 --- a/src/test/bugs/output/bugs_SampleJetton.stdlib.fc +++ /dev/null @@ -1,142 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -(slice, slice) __tact_load_address_opt(slice cs) inline { - slice raw = cs~load_msg_addr(); - if (raw.preload_uint(2) != 0) { - return (cs, __tact_verify_address(raw)); - } else { - return (cs, null()); - } -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -slice __tact_create_address(int chain, int hash) inline { - var b = begin_cell(); - b = b.store_uint(2, 2); - b = b.store_uint(0, 1); - b = b.store_int(chain, 8); - b = b.store_uint(hash, 256); - var addr = b.end_cell().begin_parse(); - return __tact_verify_address(addr); -} - -slice __tact_compute_contract_address(int chain, cell code, cell data) inline { - var b = begin_cell(); - b = b.store_uint(0, 2); - b = b.store_uint(3, 2); - b = b.store_uint(0, 1); - b = b.store_ref(code); - b = b.store_ref(data); - var hash = cell_hash(b.end_cell()); - return __tact_create_address(chain, hash); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -int __tact_slice_eq_bits(slice a, slice b) inline { - return equal_slice_bits(a, b); -} - -cell __tact_dict_set_code(cell dict, int id, cell code) inline { - return udict_set_ref(dict, 16, id, code); -} - -cell __tact_dict_get_code(cell dict, int id) inline { - var (data, ok) = udict_get_ref?(dict, 16, id); - throw_unless(135, ok); - return data; -} - -cell $global_emptyCell() impure inline { - return end_cell(begin_cell()); -} - -slice $Cell$_fun_asSlice(cell $self) impure inline { - var ($self) = $self; - return begin_parse($self); -} - -slice $global_emptySlice() impure inline { - return $Cell$_fun_asSlice($global_emptyCell()); -} - -slice $global_contractAddress((cell, cell) $s) impure inline { - var (($s'code, $s'data)) = $s; - return __tact_compute_contract_address(0, $s'code, $s'data); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_SampleJetton.storage.fc b/src/test/bugs/output/bugs_SampleJetton.storage.fc deleted file mode 100644 index 87f0cf0be..000000000 --- a/src/test/bugs/output/bugs_SampleJetton.storage.fc +++ /dev/null @@ -1,204 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -_ $StateInit$_get_code((cell, cell) v) inline { - var (v'code, v'data) = v; - return v'code; -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_bounce_mode_body_code_data(slice to, int value, int bounce, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_bounce_mode_body(slice to, int value, int bounce, int mode, cell body) inline { - return (bounce, to, value, mode, body, null(), null()); -} - -;; -;; Type: Mint -;; Header: 0xfc708bd2 -;; TLB: mint#fc708bd2 amount:int257 receiver:address = Mint -;; - -(slice, ((int, slice))) $Mint$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 4235234258); - var v'amount = sc_0~load_int(257); - var v'receiver = sc_0~__tact_load_address(); - return (sc_0, (v'amount, v'receiver)); -} - -;; -;; Type: JettonData -;; TLB: _ totalSupply:int257 mintable:bool owner:address content:^cell walletCode:^cell = JettonData -;; - -(int, int, slice, cell, cell) $JettonData$_to_external(((int, int, slice, cell, cell)) v) inline { - var (v'totalSupply, v'mintable, v'owner, v'content, v'walletCode) = v; - return (v'totalSupply, v'mintable, v'owner, v'content, v'walletCode); -} - -((int, int, slice, cell, cell)) $JettonData$_constructor_totalSupply_mintable_owner_content_walletCode(int totalSupply, int mintable, slice owner, cell content, cell walletCode) inline { - return (totalSupply, mintable, owner, content, walletCode); -} - -;; -;; Type: TokenTransferInternal -;; Header: 0x178d4519 -;; TLB: token_transfer_internal#178d4519 queryId:uint64 amount:coins from:address response_destination:address forward_ton_amount:coins forward_payload:remainder = TokenTransferInternal -;; - -builder $TokenTransferInternal$_store(builder build_0, (int, int, slice, slice, int, slice) v) inline_ref { - var (v'queryId, v'amount, v'from, v'response_destination, v'forward_ton_amount, v'forward_payload) = v; - build_0 = store_uint(build_0, 395134233, 32); - build_0 = build_0.store_uint(v'queryId, 64); - build_0 = build_0.store_coins(v'amount); - build_0 = __tact_store_address(build_0, v'from); - build_0 = __tact_store_address(build_0, v'response_destination); - build_0 = build_0.store_coins(v'forward_ton_amount); - build_0 = build_0.store_slice(v'forward_payload); - return build_0; -} - -cell $TokenTransferInternal$_store_cell((int, int, slice, slice, int, slice) v) inline { - return $TokenTransferInternal$_store(begin_cell(), v).end_cell(); -} - -((int, int, slice, slice, int, slice)) $TokenTransferInternal$_constructor_queryId_amount_from_response_destination_forward_ton_amount_forward_payload(int queryId, int amount, slice from, slice response_destination, int forward_ton_amount, slice forward_payload) inline { - return (queryId, amount, from, response_destination, forward_ton_amount, forward_payload); -} - -;; -;; Type: TokenBurnNotification -;; Header: 0x7bdd97de -;; TLB: token_burn_notification#7bdd97de queryId:uint64 amount:coins owner:address response_destination:Maybe address = TokenBurnNotification -;; - -(slice, ((int, int, slice, slice))) $TokenBurnNotification$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2078119902); - var v'queryId = sc_0~load_uint(64); - var v'amount = sc_0~load_coins(); - var v'owner = sc_0~__tact_load_address(); - var v'response_destination = sc_0~__tact_load_address_opt(); - return (sc_0, (v'queryId, v'amount, v'owner, v'response_destination)); -} - -;; -;; Type: TokenExcesses -;; Header: 0xd53276db -;; TLB: token_excesses#d53276db queryId:uint64 = TokenExcesses -;; - -builder $TokenExcesses$_store(builder build_0, (int) v) inline { - var (v'queryId) = v; - build_0 = store_uint(build_0, 3576854235, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell $TokenExcesses$_store_cell((int) v) inline { - return $TokenExcesses$_store(begin_cell(), v).end_cell(); -} - -((int)) $TokenExcesses$_constructor_queryId(int queryId) inline { - return (queryId); -} - -;; -;; Type: TokenUpdateContent -;; Header: 0xaf1ca26a -;; TLB: token_update_content#af1ca26a content:^cell = TokenUpdateContent -;; - -(slice, ((cell))) $TokenUpdateContent$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2937889386); - var v'content = sc_0~load_ref(); - return (sc_0, (v'content)); -} - -;; -;; Type: SampleJetton -;; - -builder $SampleJetton$_store(builder build_0, (int, int, slice, cell, int) v) inline { - var (v'totalSupply, v'max_supply, v'owner, v'content, v'mintable) = v; - build_0 = build_0.store_coins(v'totalSupply); - build_0 = build_0.store_coins(v'max_supply); - build_0 = __tact_store_address(build_0, v'owner); - build_0 = build_0.store_ref(v'content); - build_0 = build_0.store_int(v'mintable, 1); - return build_0; -} - -(slice, ((int, int, slice, cell, int))) $SampleJetton$_load(slice sc_0) inline { - var v'totalSupply = sc_0~load_coins(); - var v'max_supply = sc_0~load_coins(); - var v'owner = sc_0~__tact_load_address(); - var v'content = sc_0~load_ref(); - var v'mintable = sc_0~load_int(1); - return (sc_0, (v'totalSupply, v'max_supply, v'owner, v'content, v'mintable)); -} - -(slice, ((slice, cell, int))) $SampleJetton$init$_load(slice sc_0) inline { - var v'owner = sc_0~__tact_load_address(); - var v'content = sc_0~load_ref(); - var v'max_supply = sc_0~load_int(257); - return (sc_0, (v'owner, v'content, v'max_supply)); -} - -(int, int, slice, cell, int) $SampleJetton$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$SampleJetton$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (slice owner, cell content, int max_supply) = $sc~$SampleJetton$init$_load(); - $sc.end_parse(); - return $SampleJetton$_contract_init(owner, content, max_supply); - } -} - -() $SampleJetton$_contract_store((int, int, slice, cell, int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $SampleJetton$_store(b, v); - set_data(b.end_cell()); -} - -;; -;; Type: JettonDefaultWallet -;; - -builder $JettonDefaultWallet$init$_store(builder build_0, (slice, slice) v) inline { - var (v'master, v'owner) = v; - build_0 = __tact_store_address(build_0, v'master); - build_0 = __tact_store_address(build_0, v'owner); - return build_0; -} - -(cell, cell) $JettonDefaultWallet$_init_child(cell sys', slice $master, slice $owner) inline_ref { - slice sc' = sys'.begin_parse(); - cell source = sc'~load_dict(); - cell contracts = new_dict(); - - ;; Contract Code: JettonDefaultWallet - cell mine = __tact_dict_get_code(source, 55471); - contracts = __tact_dict_set_code(contracts, 55471, mine); - - ;; Build cell - builder b = begin_cell(); - b = b.store_ref(begin_cell().store_dict(contracts).end_cell()); - b = b.store_int(false, 1); - b = $JettonDefaultWallet$init$_store(b, ($master, $owner)); - return (mine, b.end_cell()); -} \ No newline at end of file diff --git a/src/test/bugs/output/bugs_SampleJetton.ts b/src/test/bugs/output/bugs_SampleJetton.ts deleted file mode 100644 index 76833d297..000000000 --- a/src/test/bugs/output/bugs_SampleJetton.ts +++ /dev/null @@ -1,1237 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type TokenInfo = { - $$type: 'TokenInfo'; - ticker: string; - decimals: bigint; -} - -export function storeTokenInfo(src: TokenInfo) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeStringRefTail(src.ticker); - b_0.storeInt(src.decimals, 257); - }; -} - -export function loadTokenInfo(slice: Slice) { - let sc_0 = slice; - let _ticker = sc_0.loadStringRefTail(); - let _decimals = sc_0.loadIntBig(257); - return { $$type: 'TokenInfo' as const, ticker: _ticker, decimals: _decimals }; -} - -function loadTupleTokenInfo(source: TupleReader) { - let _ticker = source.readString(); - let _decimals = source.readBigNumber(); - return { $$type: 'TokenInfo' as const, ticker: _ticker, decimals: _decimals }; -} - -function storeTupleTokenInfo(source: TokenInfo) { - let builder = new TupleBuilder(); - builder.writeString(source.ticker); - builder.writeNumber(source.decimals); - return builder.build(); -} - -function dictValueParserTokenInfo(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenInfo(src)).endCell()); - }, - parse: (src) => { - return loadTokenInfo(src.loadRef().beginParse()); - } - } -} - -export type Replace = { - $$type: 'Replace'; - items: Dictionary; -} - -export function storeReplace(src: Replace) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1384510466, 32); - b_0.storeDict(src.items, Dictionary.Keys.BigInt(257), Dictionary.Values.Address()); - }; -} - -export function loadReplace(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1384510466) { throw Error('Invalid prefix'); } - let _items = Dictionary.load(Dictionary.Keys.BigInt(257), Dictionary.Values.Address(), sc_0); - return { $$type: 'Replace' as const, items: _items }; -} - -function loadTupleReplace(source: TupleReader) { - let _items = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Address(), source.readCellOpt()); - return { $$type: 'Replace' as const, items: _items }; -} - -function storeTupleReplace(source: Replace) { - let builder = new TupleBuilder(); - builder.writeCell(source.items.size > 0 ? beginCell().storeDictDirect(source.items, Dictionary.Keys.BigInt(257), Dictionary.Values.Address()).endCell() : null); - return builder.build(); -} - -function dictValueParserReplace(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeReplace(src)).endCell()); - }, - parse: (src) => { - return loadReplace(src.loadRef().beginParse()); - } - } -} - -export type Mint = { - $$type: 'Mint'; - amount: bigint; - receiver: Address; -} - -export function storeMint(src: Mint) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(4235234258, 32); - b_0.storeInt(src.amount, 257); - b_0.storeAddress(src.receiver); - }; -} - -export function loadMint(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 4235234258) { throw Error('Invalid prefix'); } - let _amount = sc_0.loadIntBig(257); - let _receiver = sc_0.loadAddress(); - return { $$type: 'Mint' as const, amount: _amount, receiver: _receiver }; -} - -function loadTupleMint(source: TupleReader) { - let _amount = source.readBigNumber(); - let _receiver = source.readAddress(); - return { $$type: 'Mint' as const, amount: _amount, receiver: _receiver }; -} - -function storeTupleMint(source: Mint) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - builder.writeAddress(source.receiver); - return builder.build(); -} - -function dictValueParserMint(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeMint(src)).endCell()); - }, - parse: (src) => { - return loadMint(src.loadRef().beginParse()); - } - } -} - -export type JettonData = { - $$type: 'JettonData'; - totalSupply: bigint; - mintable: boolean; - owner: Address; - content: Cell; - walletCode: Cell; -} - -export function storeJettonData(src: JettonData) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.totalSupply, 257); - b_0.storeBit(src.mintable); - b_0.storeAddress(src.owner); - b_0.storeRef(src.content); - b_0.storeRef(src.walletCode); - }; -} - -export function loadJettonData(slice: Slice) { - let sc_0 = slice; - let _totalSupply = sc_0.loadIntBig(257); - let _mintable = sc_0.loadBit(); - let _owner = sc_0.loadAddress(); - let _content = sc_0.loadRef(); - let _walletCode = sc_0.loadRef(); - return { $$type: 'JettonData' as const, totalSupply: _totalSupply, mintable: _mintable, owner: _owner, content: _content, walletCode: _walletCode }; -} - -function loadTupleJettonData(source: TupleReader) { - let _totalSupply = source.readBigNumber(); - let _mintable = source.readBoolean(); - let _owner = source.readAddress(); - let _content = source.readCell(); - let _walletCode = source.readCell(); - return { $$type: 'JettonData' as const, totalSupply: _totalSupply, mintable: _mintable, owner: _owner, content: _content, walletCode: _walletCode }; -} - -function storeTupleJettonData(source: JettonData) { - let builder = new TupleBuilder(); - builder.writeNumber(source.totalSupply); - builder.writeBoolean(source.mintable); - builder.writeAddress(source.owner); - builder.writeCell(source.content); - builder.writeCell(source.walletCode); - return builder.build(); -} - -function dictValueParserJettonData(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeJettonData(src)).endCell()); - }, - parse: (src) => { - return loadJettonData(src.loadRef().beginParse()); - } - } -} - -export type TokenTransfer = { - $$type: 'TokenTransfer'; - queryId: bigint; - amount: bigint; - destination: Address; - response_destination: Address; - custom_payload: Cell | null; - forward_ton_amount: bigint; - forward_payload: Cell; -} - -export function storeTokenTransfer(src: TokenTransfer) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(260734629, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.destination); - b_0.storeAddress(src.response_destination); - if (src.custom_payload !== null && src.custom_payload !== undefined) { b_0.storeBit(true).storeRef(src.custom_payload); } else { b_0.storeBit(false); } - b_0.storeCoins(src.forward_ton_amount); - b_0.storeBuilder(src.forward_payload.asBuilder()); - }; -} - -export function loadTokenTransfer(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 260734629) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _destination = sc_0.loadAddress(); - let _response_destination = sc_0.loadAddress(); - let _custom_payload = sc_0.loadBit() ? sc_0.loadRef() : null; - let _forward_ton_amount = sc_0.loadCoins(); - let _forward_payload = sc_0.asCell(); - return { $$type: 'TokenTransfer' as const, queryId: _queryId, amount: _amount, destination: _destination, response_destination: _response_destination, custom_payload: _custom_payload, forward_ton_amount: _forward_ton_amount, forward_payload: _forward_payload }; -} - -function loadTupleTokenTransfer(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _destination = source.readAddress(); - let _response_destination = source.readAddress(); - let _custom_payload = source.readCellOpt(); - let _forward_ton_amount = source.readBigNumber(); - let _forward_payload = source.readCell(); - return { $$type: 'TokenTransfer' as const, queryId: _queryId, amount: _amount, destination: _destination, response_destination: _response_destination, custom_payload: _custom_payload, forward_ton_amount: _forward_ton_amount, forward_payload: _forward_payload }; -} - -function storeTupleTokenTransfer(source: TokenTransfer) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.destination); - builder.writeAddress(source.response_destination); - builder.writeCell(source.custom_payload); - builder.writeNumber(source.forward_ton_amount); - builder.writeSlice(source.forward_payload); - return builder.build(); -} - -function dictValueParserTokenTransfer(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenTransfer(src)).endCell()); - }, - parse: (src) => { - return loadTokenTransfer(src.loadRef().beginParse()); - } - } -} - -export type TokenTransferInternal = { - $$type: 'TokenTransferInternal'; - queryId: bigint; - amount: bigint; - from: Address; - response_destination: Address; - forward_ton_amount: bigint; - forward_payload: Cell; -} - -export function storeTokenTransferInternal(src: TokenTransferInternal) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(395134233, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.from); - b_0.storeAddress(src.response_destination); - b_0.storeCoins(src.forward_ton_amount); - b_0.storeBuilder(src.forward_payload.asBuilder()); - }; -} - -export function loadTokenTransferInternal(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 395134233) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _from = sc_0.loadAddress(); - let _response_destination = sc_0.loadAddress(); - let _forward_ton_amount = sc_0.loadCoins(); - let _forward_payload = sc_0.asCell(); - return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, response_destination: _response_destination, forward_ton_amount: _forward_ton_amount, forward_payload: _forward_payload }; -} - -function loadTupleTokenTransferInternal(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _from = source.readAddress(); - let _response_destination = source.readAddress(); - let _forward_ton_amount = source.readBigNumber(); - let _forward_payload = source.readCell(); - return { $$type: 'TokenTransferInternal' as const, queryId: _queryId, amount: _amount, from: _from, response_destination: _response_destination, forward_ton_amount: _forward_ton_amount, forward_payload: _forward_payload }; -} - -function storeTupleTokenTransferInternal(source: TokenTransferInternal) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.from); - builder.writeAddress(source.response_destination); - builder.writeNumber(source.forward_ton_amount); - builder.writeSlice(source.forward_payload); - return builder.build(); -} - -function dictValueParserTokenTransferInternal(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenTransferInternal(src)).endCell()); - }, - parse: (src) => { - return loadTokenTransferInternal(src.loadRef().beginParse()); - } - } -} - -export type TokenNotification = { - $$type: 'TokenNotification'; - queryId: bigint; - amount: bigint; - from: Address; - forward_payload: Cell; -} - -export function storeTokenNotification(src: TokenNotification) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1935855772, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.from); - b_0.storeBuilder(src.forward_payload.asBuilder()); - }; -} - -export function loadTokenNotification(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1935855772) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _from = sc_0.loadAddress(); - let _forward_payload = sc_0.asCell(); - return { $$type: 'TokenNotification' as const, queryId: _queryId, amount: _amount, from: _from, forward_payload: _forward_payload }; -} - -function loadTupleTokenNotification(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _from = source.readAddress(); - let _forward_payload = source.readCell(); - return { $$type: 'TokenNotification' as const, queryId: _queryId, amount: _amount, from: _from, forward_payload: _forward_payload }; -} - -function storeTupleTokenNotification(source: TokenNotification) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.from); - builder.writeSlice(source.forward_payload); - return builder.build(); -} - -function dictValueParserTokenNotification(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenNotification(src)).endCell()); - }, - parse: (src) => { - return loadTokenNotification(src.loadRef().beginParse()); - } - } -} - -export type TokenBurn = { - $$type: 'TokenBurn'; - queryId: bigint; - amount: bigint; - owner: Address; - response_destination: Address; -} - -export function storeTokenBurn(src: TokenBurn) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1499400124, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.owner); - b_0.storeAddress(src.response_destination); - }; -} - -export function loadTokenBurn(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1499400124) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _owner = sc_0.loadAddress(); - let _response_destination = sc_0.loadAddress(); - return { $$type: 'TokenBurn' as const, queryId: _queryId, amount: _amount, owner: _owner, response_destination: _response_destination }; -} - -function loadTupleTokenBurn(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _owner = source.readAddress(); - let _response_destination = source.readAddress(); - return { $$type: 'TokenBurn' as const, queryId: _queryId, amount: _amount, owner: _owner, response_destination: _response_destination }; -} - -function storeTupleTokenBurn(source: TokenBurn) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.owner); - builder.writeAddress(source.response_destination); - return builder.build(); -} - -function dictValueParserTokenBurn(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenBurn(src)).endCell()); - }, - parse: (src) => { - return loadTokenBurn(src.loadRef().beginParse()); - } - } -} - -export type TokenBurnNotification = { - $$type: 'TokenBurnNotification'; - queryId: bigint; - amount: bigint; - owner: Address; - response_destination: Address | null; -} - -export function storeTokenBurnNotification(src: TokenBurnNotification) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2078119902, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeCoins(src.amount); - b_0.storeAddress(src.owner); - b_0.storeAddress(src.response_destination); - }; -} - -export function loadTokenBurnNotification(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2078119902) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _amount = sc_0.loadCoins(); - let _owner = sc_0.loadAddress(); - let _response_destination = sc_0.loadMaybeAddress(); - return { $$type: 'TokenBurnNotification' as const, queryId: _queryId, amount: _amount, owner: _owner, response_destination: _response_destination }; -} - -function loadTupleTokenBurnNotification(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _amount = source.readBigNumber(); - let _owner = source.readAddress(); - let _response_destination = source.readAddressOpt(); - return { $$type: 'TokenBurnNotification' as const, queryId: _queryId, amount: _amount, owner: _owner, response_destination: _response_destination }; -} - -function storeTupleTokenBurnNotification(source: TokenBurnNotification) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeNumber(source.amount); - builder.writeAddress(source.owner); - builder.writeAddress(source.response_destination); - return builder.build(); -} - -function dictValueParserTokenBurnNotification(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenBurnNotification(src)).endCell()); - }, - parse: (src) => { - return loadTokenBurnNotification(src.loadRef().beginParse()); - } - } -} - -export type TokenExcesses = { - $$type: 'TokenExcesses'; - queryId: bigint; -} - -export function storeTokenExcesses(src: TokenExcesses) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3576854235, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadTokenExcesses(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3576854235) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'TokenExcesses' as const, queryId: _queryId }; -} - -function loadTupleTokenExcesses(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'TokenExcesses' as const, queryId: _queryId }; -} - -function storeTupleTokenExcesses(source: TokenExcesses) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserTokenExcesses(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenExcesses(src)).endCell()); - }, - parse: (src) => { - return loadTokenExcesses(src.loadRef().beginParse()); - } - } -} - -export type TokenUpdateContent = { - $$type: 'TokenUpdateContent'; - content: Cell; -} - -export function storeTokenUpdateContent(src: TokenUpdateContent) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2937889386, 32); - b_0.storeRef(src.content); - }; -} - -export function loadTokenUpdateContent(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2937889386) { throw Error('Invalid prefix'); } - let _content = sc_0.loadRef(); - return { $$type: 'TokenUpdateContent' as const, content: _content }; -} - -function loadTupleTokenUpdateContent(source: TupleReader) { - let _content = source.readCell(); - return { $$type: 'TokenUpdateContent' as const, content: _content }; -} - -function storeTupleTokenUpdateContent(source: TokenUpdateContent) { - let builder = new TupleBuilder(); - builder.writeCell(source.content); - return builder.build(); -} - -function dictValueParserTokenUpdateContent(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTokenUpdateContent(src)).endCell()); - }, - parse: (src) => { - return loadTokenUpdateContent(src.loadRef().beginParse()); - } - } -} - -export type JettonWalletData = { - $$type: 'JettonWalletData'; - balance: bigint; - owner: Address; - master: Address; - walletCode: Cell; -} - -export function storeJettonWalletData(src: JettonWalletData) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.balance, 257); - b_0.storeAddress(src.owner); - b_0.storeAddress(src.master); - b_0.storeRef(src.walletCode); - }; -} - -export function loadJettonWalletData(slice: Slice) { - let sc_0 = slice; - let _balance = sc_0.loadIntBig(257); - let _owner = sc_0.loadAddress(); - let _master = sc_0.loadAddress(); - let _walletCode = sc_0.loadRef(); - return { $$type: 'JettonWalletData' as const, balance: _balance, owner: _owner, master: _master, walletCode: _walletCode }; -} - -function loadTupleJettonWalletData(source: TupleReader) { - let _balance = source.readBigNumber(); - let _owner = source.readAddress(); - let _master = source.readAddress(); - let _walletCode = source.readCell(); - return { $$type: 'JettonWalletData' as const, balance: _balance, owner: _owner, master: _master, walletCode: _walletCode }; -} - -function storeTupleJettonWalletData(source: JettonWalletData) { - let builder = new TupleBuilder(); - builder.writeNumber(source.balance); - builder.writeAddress(source.owner); - builder.writeAddress(source.master); - builder.writeCell(source.walletCode); - return builder.build(); -} - -function dictValueParserJettonWalletData(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeJettonWalletData(src)).endCell()); - }, - parse: (src) => { - return loadJettonWalletData(src.loadRef().beginParse()); - } - } -} - -export type Deploy = { - $$type: 'Deploy'; - queryId: bigint; -} - -export function storeDeploy(src: Deploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2490013878, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2490013878) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function loadTupleDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function storeTupleDeploy(source: Deploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeploy(src)).endCell()); - }, - parse: (src) => { - return loadDeploy(src.loadRef().beginParse()); - } - } -} - -export type DeployOk = { - $$type: 'DeployOk'; - queryId: bigint; -} - -export function storeDeployOk(src: DeployOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2952335191, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeployOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2952335191) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function loadTupleDeployOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function storeTupleDeployOk(source: DeployOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeployOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeployOk(src)).endCell()); - }, - parse: (src) => { - return loadDeployOk(src.loadRef().beginParse()); - } - } -} - -export type FactoryDeploy = { - $$type: 'FactoryDeploy'; - queryId: bigint; - cashback: Address; -} - -export function storeFactoryDeploy(src: FactoryDeploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1829761339, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.cashback); - }; -} - -export function loadFactoryDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1829761339) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _cashback = sc_0.loadAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function loadTupleFactoryDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _cashback = source.readAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function storeTupleFactoryDeploy(source: FactoryDeploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.cashback); - return builder.build(); -} - -function dictValueParserFactoryDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFactoryDeploy(src)).endCell()); - }, - parse: (src) => { - return loadFactoryDeploy(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwner = { - $$type: 'ChangeOwner'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwner(src: ChangeOwner) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2174598809, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwner(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2174598809) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwner(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwner' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwner(source: ChangeOwner) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwner(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwner(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwner(src.loadRef().beginParse()); - } - } -} - -export type ChangeOwnerOk = { - $$type: 'ChangeOwnerOk'; - queryId: bigint; - newOwner: Address; -} - -export function storeChangeOwnerOk(src: ChangeOwnerOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(846932810, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.newOwner); - }; -} - -export function loadChangeOwnerOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 846932810) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _newOwner = sc_0.loadAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function loadTupleChangeOwnerOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _newOwner = source.readAddress(); - return { $$type: 'ChangeOwnerOk' as const, queryId: _queryId, newOwner: _newOwner }; -} - -function storeTupleChangeOwnerOk(source: ChangeOwnerOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.newOwner); - return builder.build(); -} - -function dictValueParserChangeOwnerOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeChangeOwnerOk(src)).endCell()); - }, - parse: (src) => { - return loadChangeOwnerOk(src.loadRef().beginParse()); - } - } -} - - type SampleJetton_init_args = { - $$type: 'SampleJetton_init_args'; - owner: Address; - content: Cell; - max_supply: bigint; -} - -function initSampleJetton_init_args(src: SampleJetton_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeAddress(src.owner); - b_0.storeRef(src.content); - b_0.storeInt(src.max_supply, 257); - }; -} - -async function SampleJetton_init(owner: Address, content: Cell, max_supply: bigint) { - const __code = Cell.fromBase64('te6ccgECIgEABtcAART/APSkE/S88sgLAQIBYgIDAurQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVFNs88uCCyPhDAcx/AcoAVUBQVPoCWPoCASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFhLMygDJ7VQaBAIBIBARAvTtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQ/HCL0rqO0TDTHwGCEPxwi9K68uCBgQEB1wD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIEmwS+EFvJBAjXwMlgQ6WAscF8vSBSOwj8vRRFNs8f+AgghCvHKJqugsFA16OmzDTHwGCEK8comq68uCB1AExVUDbPDEQNEEwf+AgghB73ZfeuuMCwACRMOMNcAYHCAAS+EJSMMcF8uCEAcQw0x8BghB73ZfeuvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAIdcLAcMAjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiJIxbeIUQzBsFAkB+PkBIILw/L65pICWZHdIBjnHzqSleKpqETspA7JtAbw4RmPs7va6jpcw+EFvJBAjXwOBSOwi8vSAZCTbPH/bMeCC8NwATFt1vnQ3a9ed+HE/I5BiDMijCVBosFg+soyjrIuguo4WMPhBbyQQI18DIoEOlgLHBfL0cH/bMeALAoQQWBBHEDZId9s8UEehJW6zjqgFIG7y0IBwcIBCB8gBghDVMnbbWMsfyz/JEDRBMBcQJBAjbW3bPBAjkjQ04kQTAn8KDgG0+EFvJBAjXwNVUNs8AYERTQJwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBfHBRby9FUDHQP0gRryU4KgKLvy9FFxoFVB2zxccFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhwcIBAIvgoIcjJ0BA1EE8QIwIREALIVVDbPMlGUBBLEDpAuhBGEEUdDA0AqoIQF41FGVAHyx8Vyz9QA/oCASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYB+gIBzxYBCNs8QDQOAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AA8AmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwCEb4o7tnm2eNijBoSAgEgExQAAiICASAVFgIBSCAhAgFYFxgB3bd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4TsunLVmnZbmdB0s2yjN0UkE4YTIikya+3yRcvbDO06rpAsB8CTa28kGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eKoJtnjYowBoZAhGvFu2ebZ42KsAaGwGG2zxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiB0B4O1E0NQB+GPSAAGOK/oA+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdTSAFVAbBXg+CjXCwqDCbry4In6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdSBAQHXAFUgA9FY2zwcARb4KNs8MFRlIFRlUB0ACHBBM38BDvhD+ChY2zweANoC0PQEMG0BggDYrwGAEPQPb6Hy4IcBggDYryICgBD0F8gByPQAyQHMcAHKAEADWSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJACSCcEDOdWnnFfnSULAdYW4mR7IAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtV1RHZ0toVmYzWFBZbWZ5Y3VXUDk2bWhiR0oxckx1VDY1bUphZ1NnYVhRQkeCA='); - const __system = Cell.fromBase64('te6cckECRgEADfUAAQHAAQIBICMCAQW+xXwDART/APSkE/S88sgLBAIBYg8FAgEgDQYCASAMBwIBSAkIAHWybuNDVpcGZzOi8vUW1mUHVzWWpOVkRLRlVIbWtxMVJYMXo2ZldNUW9ENHltMXVUcXAxdVgzcG95boIAIDeKALCgAPu+7UTQ0gABgCE7kts8VQLbPGwxggGQDdu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIJwndHgA+WzYDyfyDqyWayiE4AhG/2BbZ5tnjYaQgDgEY+ENTEts8MFRjMFIwQwN60AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRLbPPLggiAREACmyPhDAcx/AcoAVSBQI4EBAc8AASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJ7VQEwAGOK4Ag1yHTH9M/MfoAMIE1UiKCEBeNRRm6kjJ/mAKCEHvdl9664hLy9BOgAn/gcCHXScIflTAg1wsf3iCCEA+KfqW6jwgw2zxsF9s8f+AgghAXjUUZuuMCghBZXwe8uh8cFRIBuo7Y0x8BghBZXwe8uvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgUQzBsFNs8f+AwcBMCelv4QW8kgRFNU4PHBfL0UYShggD1/CHC//L0QzBSOds8ggCpngGCCTEtAKCCCJiWgKASvPL0cIBAA39UM2YeFAHSyFUwghB73ZfeUAXLHxPLPwH6AgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYBIG6VMHABywGOHiDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFuLJJEQUUDMUQzBtbds8PwIQMNs8bBbbPH8bFgT2+EFvJFOixwWzjtP4Q1O42zwBggCm1AJwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFJAxwXy9N5RyKCCAPX8IcL/8vQlwgCVECg0NjDjDUGHJNs8QxoZFwN0EDhGWts8INs8/hQwUHahUAWhJW6zjp1wA8gBghDVMnbbWMsfyz/JEDZBYHIQJEMAbW3bPJMwNDDiWR4YPwDeyCHBAJiALQHLBwGjAd4hgjgyfLJzQRnTt6mqHbmOIHAgcY4UBHqpDKYwJagSoASqBwKkIcAARTDmMDOqAs8BjitvAHCOESN6qQgSb4wBpAN6qQQgwAAU5jMipQOcUwJvgaYwWMsHAqVZ5DAx4snQACz4J28QIaGCCJiWgGa2CKGCCJiWgKChAZZwKkoTUJbIVTCCEHNi0JxQBcsfE8s/AfoCASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgHPFskqVEUwGEMwcAFtbds8FBU/ALLTHwGCEBeNRRm68uCB0z/6APpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6AFFVFRRDMASKMvhBbySBEU1Tw8cF8vRUcyEj2zxEMFJE2zygggnJw4ABoIEQPwGCCJiWgLYIErzy9FGEoYIA9fwhwv/y9PhDVCB12zxcHh5DHQLCcFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhQdnCAQHAsSBNQ58hVUNs8yRBWXiIQOQIQNhA1EDTbPEE/AGRsMfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igw+gAxcdch+gAx+gAwpwOrAADG0x8BghAPin6luvLggdM/+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABkdSSbQHi+gBRZhYVFEMwAcDtRNDUAfhj0gABjkiBAQHXAPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiEMwbBPg+CjXCwqDCbry4IkhAYr6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSAtEB2zwiAARwAgEFvVwsJAEU/wD0pBP0vPLICyUCAWI1JgIBIDMnAgEgKygCAUgqKQB1sm7jQ1aXBmczovL1FtV1RHZ0toVmYzWFBZbWZ5Y3VXUDk2bWhiR0oxckx1VDY1bUphZ1NnYVhRQkeCAAEbCvu1E0NIAAYAIBIC4sAd23ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOE7Lpy1Zp2W5nQdLNsozdFJBOGEyIpMmvt8kXL2wztOq6QLAtACSCcEDOdWnnFfnSULAdYW4mR7ICAVgxLwIRrxbtnm2eNirARDABFvgo2zwwVGUgVGVQQgJNrbyQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEbZ4qgm2eNijARDIBhts8cFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhCAhG+KO7Z5tnjYoxENAACIgLq0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRTbPPLggsj4QwHMfwHKAFVAUFT6Alj6AgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxYSzMoAye1URDYC9O2i7fsBkjB/4HAh10nCH5UwINcLH94gghD8cIvSuo7RMNMfAYIQ/HCL0rry4IGBAQHXAPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSbBL4QW8kECNfAyWBDpYCxwXy9IFI7CPy9FEU2zx/4CCCEK8comq6PTcDXo6bMNMfAYIQrxyiarry4IHUATFVQNs8MRA0QTB/4CCCEHvdl9664wLAAJEw4w1wPDk4Afj5ASCC8Py+uaSAlmR3SAY5x86kpXiqahE7KQOybQG8OEZj7O72uo6XMPhBbyQQI18DgUjsIvL0gGQk2zx/2zHggvDcAExbdb50N2vXnfhxPyOQYgzIowlQaLBYPrKMo6yLoLqOFjD4QW8kECNfAyKBDpYCxwXy9HB/2zHgPQHEMNMfAYIQe92X3rry4IHTP/oA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QCHXCwHDAI4dASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IiSMW3iFEMwbBQ6AoQQWBBHEDZId9s8UEehJW6zjqgFIG7y0IBwcIBCB8gBghDVMnbbWMsfyz/JEDRBMBcQJBAjbW3bPBAjkjQ04kQTAn87PwG0+EFvJBAjXwNVUNs8AYERTQJwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBfHBRby9FUDQgAS+EJSMMcF8uCEA/SBGvJTgqAou/L0UXGgVUHbPFxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiHBwgEAi+CghyMnQEDUQTxAjAhEQAshVUNs8yUZQEEsQOkC6EEYQRUJBPgEI2zxAND8ByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsAQACYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzACqghAXjUUZUAfLHxXLP1AD+gIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFgH6AgHPFgEO+EP4KFjbPEMA2gLQ9AQwbQGCANivAYAQ9A9vofLghwGCANivIgKAEPQXyAHI9ADJAcxwAcoAQANZINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFskB4O1E0NQB+GPSAAGOK/oA+gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdTSAFVAbBXg+CjXCwqDCbry4In6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdSBAQHXAFUgA9FY2zxFAAhwQTN/IL6OJQ=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initSampleJetton_init_args({ $$type: 'SampleJetton_init_args', owner, content, max_supply })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const SampleJetton_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 3734: { message: `Not Owner` }, - 4159: { message: `Invalid value!!` }, - 4429: { message: `Invalid sender` }, - 6898: { message: `The total supply will be overlapping.` }, - 13650: { message: `Invalid bounced message` }, - 18668: { message: `Can't Mint Anymore` }, - 42708: { message: `Invalid sender!` }, - 43422: { message: `Invalid value - Burn` }, - 62972: { message: `Invalid balance` }, -} - -const SampleJetton_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"TokenInfo","header":null,"fields":[{"name":"ticker","type":{"kind":"simple","type":"string","optional":false}},{"name":"decimals","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"Replace","header":1384510466,"fields":[{"name":"items","type":{"kind":"dict","key":"int","value":"address"}}]}, - {"name":"Mint","header":4235234258,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"receiver","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"JettonData","header":null,"fields":[{"name":"totalSupply","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mintable","type":{"kind":"simple","type":"bool","optional":false}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"content","type":{"kind":"simple","type":"cell","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"TokenTransfer","header":260734629,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"custom_payload","type":{"kind":"simple","type":"cell","optional":true}},{"name":"forward_ton_amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]}, - {"name":"TokenTransferInternal","header":395134233,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}},{"name":"forward_ton_amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]}, - {"name":"TokenNotification","header":1935855772,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"from","type":{"kind":"simple","type":"address","optional":false}},{"name":"forward_payload","type":{"kind":"simple","type":"slice","optional":false,"format":"remainder"}}]}, - {"name":"TokenBurn","header":1499400124,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"TokenBurnNotification","header":2078119902,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"response_destination","type":{"kind":"simple","type":"address","optional":true}}]}, - {"name":"TokenExcesses","header":3576854235,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"TokenUpdateContent","header":2937889386,"fields":[{"name":"content","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"JettonWalletData","header":null,"fields":[{"name":"balance","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"owner","type":{"kind":"simple","type":"address","optional":false}},{"name":"master","type":{"kind":"simple","type":"address","optional":false}},{"name":"walletCode","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"ChangeOwner","header":2174598809,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"ChangeOwnerOk","header":846932810,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"newOwner","type":{"kind":"simple","type":"address","optional":false}}]}, -] - -const SampleJetton_getters: ABIGetter[] = [ - {"name":"get_jetton_data","arguments":[],"returnType":{"kind":"simple","type":"JettonData","optional":false}}, - {"name":"get_wallet_address","arguments":[{"name":"owner","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"address","optional":false}}, - {"name":"owner","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}, -] - -const SampleJetton_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"Mint"}}, - {"receiver":"internal","message":{"kind":"text","text":"Mint: 100"}}, - {"receiver":"internal","message":{"kind":"text","text":"Owner: MintClose"}}, - {"receiver":"internal","message":{"kind":"typed","type":"TokenUpdateContent"}}, - {"receiver":"internal","message":{"kind":"typed","type":"TokenBurnNotification"}}, -] - -export class SampleJetton implements Contract { - - static async init(owner: Address, content: Cell, max_supply: bigint) { - return await SampleJetton_init(owner, content, max_supply); - } - - static async fromInit(owner: Address, content: Cell, max_supply: bigint) { - const init = await SampleJetton_init(owner, content, max_supply); - const address = contractAddress(0, init); - return new SampleJetton(address, init); - } - - static fromAddress(address: Address) { - return new SampleJetton(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: SampleJetton_types, - getters: SampleJetton_getters, - receivers: SampleJetton_receivers, - errors: SampleJetton_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: Mint | 'Mint: 100' | 'Owner: MintClose' | TokenUpdateContent | TokenBurnNotification) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Mint') { - body = beginCell().store(storeMint(message)).endCell(); - } - if (message === 'Mint: 100') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message === 'Owner: MintClose') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'TokenUpdateContent') { - body = beginCell().store(storeTokenUpdateContent(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'TokenBurnNotification') { - body = beginCell().store(storeTokenBurnNotification(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getGetJettonData(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('get_jetton_data', builder.build())).stack; - const result = loadTupleJettonData(source); - return result; - } - - async getGetWalletAddress(provider: ContractProvider, owner: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(owner); - let source = (await provider.get('get_wallet_address', builder.build())).stack; - let result = source.readAddress(); - return result; - } - - async getOwner(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('owner', builder.build())).stack; - let result = source.readAddress(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/contracts/output/case-1_Empty.abi b/src/test/contracts/output/case-1_Empty.abi deleted file mode 100644 index a757fbf6c..000000000 --- a/src/test/contracts/output/case-1_Empty.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Empty","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Source","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"c","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"d","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[],"getters":[{"name":"a","arguments":[{"name":"x","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"y","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"z","type":{"kind":"simple","type":"bool","optional":false}},{"name":"m","type":{"kind":"simple","type":"Source","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/contracts/output/case-1_Empty.code.boc b/src/test/contracts/output/case-1_Empty.code.boc deleted file mode 100644 index 14875654a..000000000 Binary files a/src/test/contracts/output/case-1_Empty.code.boc and /dev/null differ diff --git a/src/test/contracts/output/case-1_Empty.code.fc b/src/test/contracts/output/case-1_Empty.code.fc deleted file mode 100644 index b3a62b4b0..000000000 --- a/src/test/contracts/output/case-1_Empty.code.fc +++ /dev/null @@ -1,109 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "case-1_Empty.headers.fc"; -#include "case-1_Empty.stdlib.fc"; -#include "case-1_Empty.storage.fc"; - -;; -;; Contract Empty functions -;; - -tuple $Empty$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -int $global_isZero(int $x, int $y, int $z, (int, int, int, int) $m) impure inline_ref { - var (($m'a, $m'b, $m'c, $m'd)) = $m; - int $b = ($x + $y); - $b = ((($b + 1) + $m'a) + $m'b); - int $c = ($y >> 123); - int $d = ($x << 10); - return ( (( (( (($b > 0)) ? ($z) : (false) )) ? (($c == 0)) : (false) )) ? (($d == 0)) : (false) ); -} - -(tuple, int) $Empty$_fun_a(tuple $self, int $x, int $y, int $z, (int, int, int, int) $m) impure inline_ref { - var ($self) = $self; - var (($m'a, $m'b, $m'c, $m'd)) = $m; - return ($self, $global_isZero($x, $y, $z, ($m'a, $m'b, $m'c, $m'd))); -} - -;; -;; Receivers of a Contract Empty -;; - -;; -;; Get methods of a Contract Empty -;; - -_ %a(int $$x, int $$y, int $$z, tuple $$m) method_id(97415) { - int $x = $$x; - int $y = $$y; - int $z = $$z; - (int, int, int, int) $m = $Source$_from_tuple($$m); - var self = $Empty$_contract_load(); - var res = self~$Empty$_fun_a($x, $y, $z, $m); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmevJcAufvYYaafzMzpw6wHJNmfVhyBDgoFah3UnM8HNxx"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Empty -;; - -(tuple, int) $Empty$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Empty$_contract_load(); - - ;; Handle operation - int handled = self~$Empty$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Empty$_contract_store(self); -} diff --git a/src/test/contracts/output/case-1_Empty.code.fif b/src/test/contracts/output/case-1_Empty.code.fif deleted file mode 100644 index 9478e7133..000000000 --- a/src/test/contracts/output/case-1_Empty.code.fif +++ /dev/null @@ -1,168 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Source$_from_tuple - DECLPROC $Empty$_contract_init - DECLPROC $Empty$_contract_load - DECLPROC $Empty$_contract_store - DECLPROC $global_isZero - DECLPROC $Empty$_fun_a - 97415 DECLMETHOD %a - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Empty$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $Source$_from_tuple PROCINLINE:<{ - 4 UNTUPLE - }> - $Empty$_contract_init PROCREF:<{ - PUSHNULL - }> - $Empty$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Empty$_contract_init INLINECALLDICT - }> - $Empty$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $global_isZero PROCREF:<{ - 2DROP - s4 s3 PUSH2 - ADD - INC - ROT - ADD - SWAP - ADD - s0 s2 XCHG - 123 RSHIFT# - s0 s3 XCHG - 10 LSHIFT# - s0 s2 XCHG - 0 GTINT - IF:<{ - }>ELSE<{ - DROP - FALSE - }> - IF:<{ - SWAP - 0 EQINT - }>ELSE<{ - NIP - FALSE - }> - IF:<{ - 0 EQINT - }>ELSE<{ - DROP - FALSE - }> - }> - $Empty$_fun_a PROCREF:<{ - $global_isZero INLINECALLDICT - }> - %a PROC:<{ - $Source$_from_tuple INLINECALLDICT - $Empty$_contract_load INLINECALLDICT - 7 -ROLL - $Empty$_fun_a INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d65764a634175667659596161667a4d7a70773677484a4e6d665668794244676f46616833556e4d38484e7878} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Empty$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - DUP - SBITS - NIP - 31 GTINT - IF:<{ - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Empty$_contract_load INLINECALLDICT - -ROT - $Empty$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Empty$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/contracts/output/case-1_Empty.code.rev.fif b/src/test/contracts/output/case-1_Empty.code.rev.fif deleted file mode 100644 index cae6d9c61..000000000 --- a/src/test/contracts/output/case-1_Empty.code.rev.fif +++ /dev/null @@ -1,157 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_97415; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_09d499aef3121286; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_c8ceec851ada81a3; - DECLPROC ?fun_ref_d31b4aed7a42e751; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_d31b4aed7a42e751 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_97415 PROC:<{ - 4 UNTUPLE - ?fun_ref_a05e0042bce184fb INLINECALLDICT - 7 1 BLKSWAP - ?fun_ref_c8ceec851ada81a3 INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D65764A634175667659596161667A4D7A70773677484A4E6D665668794244676F46616833556E4D38484E787882_} PUSHSLICE - }> - ?fun_ref_09d499aef3121286 PROCREF:<{ - DROP2 - s4 s3 PUSH2 - ADD - INC - ROT - ADD - s0 s1 XCHG - ADD - s0 s2 XCHG - 123 RSHIFT - s0 s3 XCHG - 10 LSHIFT - s0 s2 XCHG - 0 GTINT - <{ - s0 POP - 0 PUSHINT - }> PUSHCONT - IFNOT - <{ - s0 s1 XCHG - 0 EQINT - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - }> PUSHCONT - IFELSE - <{ - 0 EQINT - }> PUSHCONT - <{ - s0 POP - 0 PUSHINT - }> PUSHCONT - IFELSE - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_c8ceec851ada81a3 PROCREF:<{ - ?fun_ref_09d499aef3121286 INLINECALLDICT - }> - ?fun_ref_d31b4aed7a42e751 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - SBITS - s1 POP - 31 GTINT - s0 POP - 0 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/src/test/contracts/output/case-1_Empty.headers.fc b/src/test/contracts/output/case-1_Empty.headers.fc deleted file mode 100644 index e91e66c14..000000000 --- a/src/test/contracts/output/case-1_Empty.headers.fc +++ /dev/null @@ -1,25 +0,0 @@ -;; -;; Header files for Empty -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Source$_from_tuple -(int, int, int, int) $Source$_from_tuple(tuple v) inline; - -;; $Empty$_contract_init -tuple $Empty$_contract_init() impure inline_ref; - -;; $Empty$_contract_load -tuple $Empty$_contract_load() impure inline_ref; - -;; $Empty$_contract_store -() $Empty$_contract_store(tuple v) impure inline; - -;; $global_isZero -int $global_isZero(int $x, int $y, int $z, (int, int, int, int) $m) impure inline_ref; - -;; $Empty$_fun_a -(tuple, int) $Empty$_fun_a(tuple $self, int $x, int $y, int $z, (int, int, int, int) $m) impure inline_ref; diff --git a/src/test/contracts/output/case-1_Empty.md b/src/test/contracts/output/case-1_Empty.md deleted file mode 100644 index 3316c2a3f..000000000 --- a/src/test/contracts/output/case-1_Empty.md +++ /dev/null @@ -1,57 +0,0 @@ -# TACT Compilation Report -Contract: Empty -BOC Size: 378 bytes - -# Types -Total Types: 4 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Source -TLB: `_ a:int257 b:int257 c:int257 d:int257 = Source` -Signature: `Source{a:int257,b:int257,c:int257,d:int257}` - -# Get Methods -Total Get Methods: 1 - -## a -Argument: x -Argument: y -Argument: z -Argument: m - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/contracts/output/case-1_Empty.pkg b/src/test/contracts/output/case-1_Empty.pkg deleted file mode 100644 index 6fee5e7c9..000000000 --- a/src/test/contracts/output/case-1_Empty.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Empty","code":"te6ccgECDwEAAW4AART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UBwQCASAFBgAaAZIwf+Ag10kxwh8wcAIXv+Q7eSbZ4qsG2eGMBwgCASALDAE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwJAQTbPAoAAm0ASltTQ6CkWKABoAKregOqCQLCAJIwcN+TAcAAkjFw4pLAAJIwcOIAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAIBSA0OABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbWV2SmNBdWZ2WVlhYWZ6TXpwdzZ3SEpObWZWaHlCRGdvRmFoM1VuTThITnh4gg","abi":"{\"name\":\"Empty\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Source\",\"header\":null,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"c\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"d\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[],\"getters\":[{\"name\":\"a\",\"arguments\":[{\"name\":\"x\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"y\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"z\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"m\",\"type\":{\"kind\":\"simple\",\"type\":\"Source\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECEQEAAXgAAQHAAQEFoUKBAgEU/wD0pBP0vPLICwMCAWINBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtZXZKY0F1ZnZZWWFhZnpNenB3NndISk5tZlZoeUJEZ29GYWgzVW5NOEhOeHiCAAEbCvu1E0NIAAYACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAhe/5Dt5JtniqwbZ4YwPCwEE2zwMAEpbU0OgpFigAaACq3oDqgkCwgCSMHDfkwHAAJIxcOKSwACSMHDiApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UDw4AGgGSMH/gINdJMcIfMHABNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8EAACbZGbmhg="}},"sources":{"case-1.tact":"c3RydWN0IFNvdXJjZSB7DQogICAgYTogSW50Ow0KICAgIGI6IEludDsNCiAgICBjOiBJbnQ7DQogICAgZDogSW50Ow0KfQ0KDQpmdW4gaXNaZXJvKHg6IEludCwgeTogSW50LCB6OiBCb29sLCBtOiBTb3VyY2UpOiBCb29sIHsNCiAgICBsZXQgYjogSW50ID0geCArIHk7DQogICAgYiA9IGIgKyAxICsgbS5hICsgbS5iOw0KICAgIGxldCBjOiBJbnQgPSAoeSA+PiAxMjMpOw0KICAgIGxldCBkOiBJbnQgPSAoeCA8PCAxMCk7DQogICAgcmV0dXJuIGIgPiAwICYmIHogJiYgYyA9PSAwICYmIGQgPT0gMDsNCn0NCg0KY29udHJhY3QgRW1wdHkgew0KDQogICAgaW5pdCgpIHsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGEoeDogSW50LCB5OiBJbnQsIHo6IEJvb2wsIG06IFNvdXJjZSk6IEJvb2wgew0KICAgICAgICByZXR1cm4gaXNaZXJvKHgsIHksIHosIG0pOw0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./case-1.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/src/test/contracts/output/case-1_Empty.stdlib.fc b/src/test/contracts/output/case-1_Empty.stdlib.fc deleted file mode 100644 index 511990a69..000000000 --- a/src/test/contracts/output/case-1_Empty.stdlib.fc +++ /dev/null @@ -1,14 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -forall X0, X1, X2, X3 -> (X0, X1, X2, X3) __tact_tuple_destroy_4(tuple v) asm "4 UNTUPLE"; \ No newline at end of file diff --git a/src/test/contracts/output/case-1_Empty.storage.fc b/src/test/contracts/output/case-1_Empty.storage.fc deleted file mode 100644 index 27393a57c..000000000 --- a/src/test/contracts/output/case-1_Empty.storage.fc +++ /dev/null @@ -1,33 +0,0 @@ -;; -;; Type: Source -;; TLB: _ a:int257 b:int257 c:int257 d:int257 = Source -;; - -(int, int, int, int) $Source$_from_tuple(tuple v) inline { - var (int v'a, int v'b, int v'c, int v'd) = __tact_tuple_destroy_4(v); - return (v'a, v'b, v'c, v'd); -} - -;; -;; Type: Empty -;; - -tuple $Empty$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $Empty$_contract_init(); - } -} - -() $Empty$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/contracts/output/case-1_Empty.ts b/src/test/contracts/output/case-1_Empty.ts deleted file mode 100644 index 2d7c19dc3..000000000 --- a/src/test/contracts/output/case-1_Empty.ts +++ /dev/null @@ -1,354 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Source = { - $$type: 'Source'; - a: bigint; - b: bigint; - c: bigint; - d: bigint; -} - -export function storeSource(src: Source) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.a, 257); - b_0.storeInt(src.b, 257); - b_0.storeInt(src.c, 257); - let b_1 = new Builder(); - b_1.storeInt(src.d, 257); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadSource(slice: Slice) { - let sc_0 = slice; - let _a = sc_0.loadIntBig(257); - let _b = sc_0.loadIntBig(257); - let _c = sc_0.loadIntBig(257); - let sc_1 = sc_0.loadRef().beginParse(); - let _d = sc_1.loadIntBig(257); - return { $$type: 'Source' as const, a: _a, b: _b, c: _c, d: _d }; -} - -function loadTupleSource(source: TupleReader) { - let _a = source.readBigNumber(); - let _b = source.readBigNumber(); - let _c = source.readBigNumber(); - let _d = source.readBigNumber(); - return { $$type: 'Source' as const, a: _a, b: _b, c: _c, d: _d }; -} - -function storeTupleSource(source: Source) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeNumber(source.b); - builder.writeNumber(source.c); - builder.writeNumber(source.d); - return builder.build(); -} - -function dictValueParserSource(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSource(src)).endCell()); - }, - parse: (src) => { - return loadSource(src.loadRef().beginParse()); - } - } -} - - type Empty_init_args = { - $$type: 'Empty_init_args'; -} - -function initEmpty_init_args(src: Empty_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function Empty_init() { - const __code = Cell.fromBase64('te6ccgECDwEAAW4AART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UBwQCASAFBgAaAZIwf+Ag10kxwh8wcAIXv+Q7eSbZ4qsG2eGMBwgCASALDAE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwJAQTbPAoAAm0ASltTQ6CkWKABoAKregOqCQLCAJIwcN+TAcAAkjFw4pLAAJIwcOIAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAIBSA0OABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbWV2SmNBdWZ2WVlhYWZ6TXpwdzZ3SEpObWZWaHlCRGdvRmFoM1VuTThITnh4gg'); - const __system = Cell.fromBase64('te6cckECEQEAAXgAAQHAAQEFoUKBAgEU/wD0pBP0vPLICwMCAWINBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtZXZKY0F1ZnZZWWFhZnpNenB3NndISk5tZlZoeUJEZ29GYWgzVW5NOEhOeHiCAAEbCvu1E0NIAAYACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAhe/5Dt5JtniqwbZ4YwPCwEE2zwMAEpbU0OgpFigAaACq3oDqgkCwgCSMHDfkwHAAJIxcOKSwACSMHDiApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UDw4AGgGSMH/gINdJMcIfMHABNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8EAACbZGbmhg='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initEmpty_init_args({ $$type: 'Empty_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Empty_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const Empty_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Source","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"c","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"d","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const Empty_getters: ABIGetter[] = [ - {"name":"a","arguments":[{"name":"x","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"y","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"z","type":{"kind":"simple","type":"bool","optional":false}},{"name":"m","type":{"kind":"simple","type":"Source","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, -] - -const Empty_receivers: ABIReceiver[] = [ -] - -export class Empty implements Contract { - - static async init() { - return await Empty_init(); - } - - static async fromInit() { - const init = await Empty_init(); - const address = contractAddress(0, init); - return new Empty(address, init); - } - - static fromAddress(address: Address) { - return new Empty(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Empty_types, - getters: Empty_getters, - receivers: Empty_receivers, - errors: Empty_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async getA(provider: ContractProvider, x: bigint, y: bigint, z: boolean, m: Source) { - let builder = new TupleBuilder(); - builder.writeNumber(x); - builder.writeNumber(y); - builder.writeBoolean(z); - builder.writeTuple(storeTupleSource(m)); - let source = (await provider.get('a', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/contracts/output/case-2_Empty.abi b/src/test/contracts/output/case-2_Empty.abi deleted file mode 100644 index b423434de..000000000 --- a/src/test/contracts/output/case-2_Empty.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Empty","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Source","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[],"getters":[],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/contracts/output/case-2_Empty.code.boc b/src/test/contracts/output/case-2_Empty.code.boc deleted file mode 100644 index b8ec5bf3f..000000000 Binary files a/src/test/contracts/output/case-2_Empty.code.boc and /dev/null differ diff --git a/src/test/contracts/output/case-2_Empty.code.fc b/src/test/contracts/output/case-2_Empty.code.fc deleted file mode 100644 index 3db065ea4..000000000 --- a/src/test/contracts/output/case-2_Empty.code.fc +++ /dev/null @@ -1,84 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "case-2_Empty.headers.fc"; -#include "case-2_Empty.stdlib.fc"; -#include "case-2_Empty.storage.fc"; - -;; -;; Contract Empty functions -;; - -tuple $Empty$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -;; -;; Receivers of a Contract Empty -;; - -;; -;; Get methods of a Contract Empty -;; - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmaN2DbnguNSSYwdokKyXtX1ebWLYAksEDEfCdE3XuhtLa"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Empty -;; - -(tuple, int) $Empty$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Empty$_contract_load(); - - ;; Handle operation - int handled = self~$Empty$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Empty$_contract_store(self); -} diff --git a/src/test/contracts/output/case-2_Empty.code.fif b/src/test/contracts/output/case-2_Empty.code.fif deleted file mode 100644 index e8614e3c2..000000000 --- a/src/test/contracts/output/case-2_Empty.code.fif +++ /dev/null @@ -1,117 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Empty$_contract_init - DECLPROC $Empty$_contract_load - DECLPROC $Empty$_contract_store - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Empty$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $Empty$_contract_init PROCREF:<{ - PUSHNULL - }> - $Empty$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Empty$_contract_init INLINECALLDICT - }> - $Empty$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d614e3244626e67754e53535977646f6b4b79587458316562574c59416b734544456643644533587568744c61} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Empty$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - DUP - SBITS - NIP - 31 GTINT - IF:<{ - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Empty$_contract_load INLINECALLDICT - -ROT - $Empty$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Empty$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/contracts/output/case-2_Empty.code.rev.fif b/src/test/contracts/output/case-2_Empty.code.rev.fif deleted file mode 100644 index 5ce088dec..000000000 --- a/src/test/contracts/output/case-2_Empty.code.rev.fif +++ /dev/null @@ -1,106 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_d31b4aed7a42e751; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_d31b4aed7a42e751 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D614E3244626E67754E53535977646F6B4B79587458316562574C59416B734544456643644533587568744C6182_} PUSHSLICE - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_d31b4aed7a42e751 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - SBITS - s1 POP - 31 GTINT - s0 POP - 0 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/src/test/contracts/output/case-2_Empty.headers.fc b/src/test/contracts/output/case-2_Empty.headers.fc deleted file mode 100644 index b0765bccf..000000000 --- a/src/test/contracts/output/case-2_Empty.headers.fc +++ /dev/null @@ -1,16 +0,0 @@ -;; -;; Header files for Empty -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Empty$_contract_init -tuple $Empty$_contract_init() impure inline_ref; - -;; $Empty$_contract_load -tuple $Empty$_contract_load() impure inline_ref; - -;; $Empty$_contract_store -() $Empty$_contract_store(tuple v) impure inline; diff --git a/src/test/contracts/output/case-2_Empty.md b/src/test/contracts/output/case-2_Empty.md deleted file mode 100644 index c963397eb..000000000 --- a/src/test/contracts/output/case-2_Empty.md +++ /dev/null @@ -1,51 +0,0 @@ -# TACT Compilation Report -Contract: Empty -BOC Size: 313 bytes - -# Types -Total Types: 4 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Source -TLB: `_ a:int257 b:int257 = Source` -Signature: `Source{a:int257,b:int257}` - -# Get Methods -Total Get Methods: 0 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/contracts/output/case-2_Empty.pkg b/src/test/contracts/output/case-2_Empty.pkg deleted file mode 100644 index f49cafbea..000000000 --- a/src/test/contracts/output/case-2_Empty.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Empty","code":"te6ccgECCwEAAS0AART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UBAUCAVgHCAE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwGABoBkjB/4CDXSTHCHzBwAAJtAJW7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgCAUgJCgARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1hTjJEYm5ndU5TU1l3ZG9rS3lYdFgxZWJXTFlBa3NFREVmQ2RFM1h1aHRMYYIA==","abi":"{\"name\":\"Empty\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Source\",\"header\":null,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[],\"getters\":[],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECDQEAATcAAQHAAQEFoUKBAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbWFOMkRibmd1TlNTWXdkb2tLeVh0WDFlYldMWUFrc0VERWZDZEUzWHVodExhggABGwr7tRNDSAAGAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAKS0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCMMj4QwHMfwHKAMntVAsKABoBkjB/4CDXSTHCHzBwATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPAwAAm3OPDAO"}},"sources":{"case-2.tact":"c3RydWN0IFNvdXJjZSB7DQogICAgYTogSW50Ow0KICAgIGI6IEludDsNCn0NCg0KZnVuIGlzWmVybyh4OiBJbnQsIHk6IEludCwgejogQm9vbCwgbTogU291cmNlKTogQm9vbCB7DQogICAgbS5iID0gMTA7DQogICAgcmV0dXJuICh4ICsgbS5iKSA+IDAgJiYgejsNCn0NCg0KY29udHJhY3QgRW1wdHkgew0KICAgIGluaXQoKSB7DQogICAgICAgIA0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./case-2.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/src/test/contracts/output/case-2_Empty.stdlib.fc b/src/test/contracts/output/case-2_Empty.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/src/test/contracts/output/case-2_Empty.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/src/test/contracts/output/case-2_Empty.storage.fc b/src/test/contracts/output/case-2_Empty.storage.fc deleted file mode 100644 index 4149e9c5c..000000000 --- a/src/test/contracts/output/case-2_Empty.storage.fc +++ /dev/null @@ -1,23 +0,0 @@ -;; -;; Type: Empty -;; - -tuple $Empty$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $Empty$_contract_init(); - } -} - -() $Empty$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/contracts/output/case-2_Empty.ts b/src/test/contracts/output/case-2_Empty.ts deleted file mode 100644 index 0973debd6..000000000 --- a/src/test/contracts/output/case-2_Empty.ts +++ /dev/null @@ -1,329 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Source = { - $$type: 'Source'; - a: bigint; - b: bigint; -} - -export function storeSource(src: Source) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.a, 257); - b_0.storeInt(src.b, 257); - }; -} - -export function loadSource(slice: Slice) { - let sc_0 = slice; - let _a = sc_0.loadIntBig(257); - let _b = sc_0.loadIntBig(257); - return { $$type: 'Source' as const, a: _a, b: _b }; -} - -function loadTupleSource(source: TupleReader) { - let _a = source.readBigNumber(); - let _b = source.readBigNumber(); - return { $$type: 'Source' as const, a: _a, b: _b }; -} - -function storeTupleSource(source: Source) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeNumber(source.b); - return builder.build(); -} - -function dictValueParserSource(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSource(src)).endCell()); - }, - parse: (src) => { - return loadSource(src.loadRef().beginParse()); - } - } -} - - type Empty_init_args = { - $$type: 'Empty_init_args'; -} - -function initEmpty_init_args(src: Empty_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function Empty_init() { - const __code = Cell.fromBase64('te6ccgECCwEAAS0AART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UBAUCAVgHCAE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwGABoBkjB/4CDXSTHCHzBwAAJtAJW7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgCAUgJCgARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1hTjJEYm5ndU5TU1l3ZG9rS3lYdFgxZWJXTFlBa3NFREVmQ2RFM1h1aHRMYYIA=='); - const __system = Cell.fromBase64('te6cckECDQEAATcAAQHAAQEFoUKBAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbWFOMkRibmd1TlNTWXdkb2tLeVh0WDFlYldMWUFrc0VERWZDZEUzWHVodExhggABGwr7tRNDSAAGAAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAKS0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCMMj4QwHMfwHKAMntVAsKABoBkjB/4CDXSTHCHzBwATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPAwAAm3OPDAO'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initEmpty_init_args({ $$type: 'Empty_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Empty_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const Empty_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Source","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const Empty_getters: ABIGetter[] = [ -] - -const Empty_receivers: ABIReceiver[] = [ -] - -export class Empty implements Contract { - - static async init() { - return await Empty_init(); - } - - static async fromInit() { - const init = await Empty_init(); - const address = contractAddress(0, init); - return new Empty(address, init); - } - - static fromAddress(address: Address) { - return new Empty(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Empty_types, - getters: Empty_getters, - receivers: Empty_receivers, - errors: Empty_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - -} \ No newline at end of file diff --git a/src/test/contracts/output/case-3_SampleContract.abi b/src/test/contracts/output/case-3_SampleContract.abi deleted file mode 100644 index 4f4bbd594..000000000 --- a/src/test/contracts/output/case-3_SampleContract.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"SampleContract","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Source","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[],"getters":[{"name":"stake","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/contracts/output/case-3_SampleContract.code.boc b/src/test/contracts/output/case-3_SampleContract.code.boc deleted file mode 100644 index 90dad6b8c..000000000 Binary files a/src/test/contracts/output/case-3_SampleContract.code.boc and /dev/null differ diff --git a/src/test/contracts/output/case-3_SampleContract.code.fc b/src/test/contracts/output/case-3_SampleContract.code.fc deleted file mode 100644 index 327eefb56..000000000 --- a/src/test/contracts/output/case-3_SampleContract.code.fc +++ /dev/null @@ -1,98 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "case-3_SampleContract.headers.fc"; -#include "case-3_SampleContract.stdlib.fc"; -#include "case-3_SampleContract.storage.fc"; - -;; -;; Contract SampleContract functions -;; - -(int, int, (int, int)) $SampleContract$_contract_init() impure inline_ref { - var (($self'a, $self'b, ($self'c'a, $self'c'b))) = (null(), null(), null()); - $self'a = 0; - $self'b = 0; - ($self'c'a, $self'c'b) = $Source$_constructor_a_b(0, 0); - return ($self'a, $self'b, ($self'c'a, $self'c'b)); -} - -((int, int, (int, int)), int) $SampleContract$_fun_stake((int, int, (int, int)) $self) impure inline_ref { - var (($self'a, $self'b, ($self'c'a, $self'c'b))) = $self; - return (($self'a, $self'b, ($self'c'a, $self'c'b)), $self'a); -} - -;; -;; Receivers of a Contract SampleContract -;; - -;; -;; Get methods of a Contract SampleContract -;; - -_ %stake() method_id(80984) { - var self = $SampleContract$_contract_load(); - var res = self~$SampleContract$_fun_stake(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmZ4jMr1yeWJpxRQ2Xzpontxtks3c7RJzTGcZ2v9GrKUy2"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract SampleContract -;; - -((int, int, (int, int)), int) $SampleContract$_contract_router_internal((int, int, (int, int)) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $SampleContract$_contract_load(); - - ;; Handle operation - int handled = self~$SampleContract$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $SampleContract$_contract_store(self); -} diff --git a/src/test/contracts/output/case-3_SampleContract.code.fif b/src/test/contracts/output/case-3_SampleContract.code.fif deleted file mode 100644 index a04e5db7e..000000000 --- a/src/test/contracts/output/case-3_SampleContract.code.fif +++ /dev/null @@ -1,179 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Source$_store - DECLPROC $Source$_load - DECLPROC $SampleContract$_store - DECLPROC $SampleContract$_load - DECLPROC $Source$_constructor_a_b - DECLPROC $SampleContract$_contract_init - DECLPROC $SampleContract$_contract_load - DECLPROC $SampleContract$_contract_store - DECLPROC $SampleContract$_fun_stake - 80984 DECLMETHOD %stake - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $SampleContract$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $Source$_store PROCINLINE:<{ - s0 s2 XCHG - 257 PUSHINT - STIX - 257 PUSHINT - STIX - }> - $Source$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - -ROT - }> - $SampleContract$_store PROCINLINE:<{ - s3 s4 XCHG2 - 257 PUSHINT - STIX - 257 PUSHINT - STIX - NEWC - s0 s0 s3 XCHG3 - $Source$_store INLINECALLDICT - ENDC - SWAP - STREF - }> - $SampleContract$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - SWAP - CTOS - $Source$_load INLINECALLDICT - s2 POP - s2 s4 XCHG - s3 s0 s0 XCHG3 - }> - $Source$_constructor_a_b PROCINLINE:<{ - }> - $SampleContract$_contract_init PROCREF:<{ - 0 PUSHINT - s0 s0 s0 PUSH3 - $Source$_constructor_a_b INLINECALLDICT - }> - $SampleContract$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $SampleContract$_load INLINECALLDICT - 1 4 BLKDROP2 - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $SampleContract$_contract_init INLINECALLDICT - }> - $SampleContract$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 4 -ROLL - $SampleContract$_store INLINECALLDICT - ENDC - c4 POP - }> - $SampleContract$_fun_stake PROCREF:<{ - s3 PUSH - }> - %stake PROC:<{ - $SampleContract$_contract_load INLINECALLDICT - $SampleContract$_fun_stake INLINECALLDICT - 4 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d5a346a4d72317965574a7078525132587a706f6e7478746b73336337524a7a5447635a32763947724b557932} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $SampleContract$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - DUP - SBITS - NIP - 31 GTINT - IF:<{ - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $SampleContract$_contract_load INLINECALLDICT - 2 4 BLKSWAP - $SampleContract$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $SampleContract$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/contracts/output/case-3_SampleContract.code.rev.fif b/src/test/contracts/output/case-3_SampleContract.code.rev.fif deleted file mode 100644 index 54f522941..000000000 --- a/src/test/contracts/output/case-3_SampleContract.code.rev.fif +++ /dev/null @@ -1,148 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_80984; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_0d6d4365c4f47cf4; - DECLPROC ?fun_ref_10c319ce0484d846; - DECLPROC ?fun_ref_ba5d6372b48554a7; - DECLPROC ?fun_ref_d31b4aed7a42e751; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_ba5d6372b48554a7 INLINECALLDICT - 2 4 BLKSWAP - ?fun_ref_d31b4aed7a42e751 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 4 1 BLKSWAP - s3 s4 XCHG2 - 257 PUSHINT - STIX - 257 PUSHINT - STIX - NEWC - s0 s0 s3 XCHG3 - s0 s2 XCHG - 257 PUSHINT - STIX - 257 PUSHINT - STIX - ENDC - s0 s1 XCHG - STREF - ENDC - c4 POP - }> - ?fun_80984 PROC:<{ - ?fun_ref_ba5d6372b48554a7 INLINECALLDICT - ?fun_ref_10c319ce0484d846 INLINECALLDICT - 4 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D5A346A4D72317965574A7078525132587A706F6E7478746B73336337524A7A5447635A32763947724B55793282_} PUSHSLICE - }> - ?fun_ref_0d6d4365c4f47cf4 PROCREF:<{ - 0 PUSHINT - s0 s0 s0 PUSH3 - }> - ?fun_ref_10c319ce0484d846 PROCREF:<{ - s3 PUSH - }> - ?fun_ref_ba5d6372b48554a7 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - ROTREV - s2 POP - s2 s4 XCHG - s3 s0 s0 XCHG3 - 1 4 BLKDROP2 - }> PUSHCONT - IFJMP - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_0d6d4365c4f47cf4 INLINECALLDICT - }> - ?fun_ref_d31b4aed7a42e751 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - SBITS - s1 POP - 31 GTINT - s0 POP - 0 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/src/test/contracts/output/case-3_SampleContract.headers.fc b/src/test/contracts/output/case-3_SampleContract.headers.fc deleted file mode 100644 index 87b46d314..000000000 --- a/src/test/contracts/output/case-3_SampleContract.headers.fc +++ /dev/null @@ -1,34 +0,0 @@ -;; -;; Header files for SampleContract -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Source$_store -builder $Source$_store(builder build_0, (int, int) v) inline; - -;; $Source$_load -(slice, ((int, int))) $Source$_load(slice sc_0) inline; - -;; $SampleContract$_store -builder $SampleContract$_store(builder build_0, (int, int, (int, int)) v) inline; - -;; $SampleContract$_load -(slice, ((int, int, (int, int)))) $SampleContract$_load(slice sc_0) inline; - -;; $Source$_constructor_a_b -((int, int)) $Source$_constructor_a_b(int a, int b) inline; - -;; $SampleContract$_contract_init -(int, int, (int, int)) $SampleContract$_contract_init() impure inline_ref; - -;; $SampleContract$_contract_load -(int, int, (int, int)) $SampleContract$_contract_load() impure inline_ref; - -;; $SampleContract$_contract_store -() $SampleContract$_contract_store((int, int, (int, int)) v) impure inline; - -;; $SampleContract$_fun_stake -((int, int, (int, int)), int) $SampleContract$_fun_stake((int, int, (int, int)) $self) impure inline_ref; diff --git a/src/test/contracts/output/case-3_SampleContract.md b/src/test/contracts/output/case-3_SampleContract.md deleted file mode 100644 index de4f28fd4..000000000 --- a/src/test/contracts/output/case-3_SampleContract.md +++ /dev/null @@ -1,53 +0,0 @@ -# TACT Compilation Report -Contract: SampleContract -BOC Size: 400 bytes - -# Types -Total Types: 4 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Source -TLB: `_ a:int257 b:int257 = Source` -Signature: `Source{a:int257,b:int257}` - -# Get Methods -Total Get Methods: 1 - -## stake - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/contracts/output/case-3_SampleContract.pkg b/src/test/contracts/output/case-3_SampleContract.pkg deleted file mode 100644 index 9ddd1ff8f..000000000 --- a/src/test/contracts/output/case-3_SampleContract.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"SampleContract","code":"te6ccgECDgEAAYQAART/APSkE/S88sgLAQIBYgIDAtDQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVE9s88uCCyPhDAcx/AcoAVTBQNIEBAc8AgQEBzwDIQAMCgQEBzwCBAQHPAMkBzMntVAcEAgEgBQYAGgGSMH/gINdJMcIfMHACEb3ixtnm2eNiDAcIAgEgCgsBdO1E0NQB+GPSAAGOH4EBAdcAgQEB1wDUAdCBAQHXAIEBAdcAWTIQJEMAbBTgMPgo1wsKgwm68uCJ2zwJAAIjAAhwVHAAAJW7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgCAUgMDQARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1aNGpNcjF5ZVdKcHhSUTJYenBvbnR4dGtzM2M3Ukp6VEdjWjJ2OUdyS1V5MoIA==","abi":"{\"name\":\"SampleContract\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Source\",\"header\":null,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[],\"getters\":[{\"name\":\"stake\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECEAEAAY4AAQHAAQEFoIcVAgEU/wD0pBP0vPLICwMCAWIMBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtWjRqTXIxeWVXSnB4UlEyWHpwb250eHRrczNjN1JKelRHY1oydjlHcktVeTKCAAEbCvu1E0NIAAYACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAhG94sbZ5tnjYgwOCwACIwLQ0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRPbPPLggsj4QwHMfwHKAFUwUDSBAQHPAIEBAc8AyEADAoEBAc8AgQEBzwDJAczJ7VQODQAaAZIwf+Ag10kxwh8wcAF07UTQ1AH4Y9IAAY4fgQEB1wCBAQHXANQB0IEBAdcAgQEB1wBZMhAkQwBsFOAw+CjXCwqDCbry4InbPA8ACHBUcADKs1fS"}},"sources":{"case-3.tact":"c3RydWN0IFNvdXJjZSB7DQogICAgYTogSW50Ow0KICAgIGI6IEludDsNCn0NCg0KZnVuIGlzWmVybyh4OiBJbnQsIHk6IEludCwgejogQm9vbCwgbTogU291cmNlKTogQm9vbCB7DQogICAgbS5iID0gMTA7DQogICAgcmV0dXJuICh4ICsgbS5iKSA+IDAgJiYgejsNCn0NCg0KY29udHJhY3QgU2FtcGxlQ29udHJhY3Qgew0KICAgIGE6IEludDsNCiAgICBiOiBJbnQ7DQogICAgYzogU291cmNlOw0KDQogICAgaW5pdCgpIHsNCiAgICAgICAgc2VsZi5hID0gMDsNCiAgICAgICAgc2VsZi5iID0gMDsNCiAgICAgICAgc2VsZi5jID0gU291cmNle2E6IDAsIGI6IDB9Ow0KICAgIH0NCg0KICAgIGZ1biBhZGRTdGFrZSgpIHsgDQogICAgICAgIHNlbGYuYSA9IDEwOw0KICAgICAgICBzZWxmLmIgPSAtMjA7DQogICAgICAgIHNlbGYuYyA9IFNvdXJjZXthOiAxMCwgYjogMjB9Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gc3Rha2UoKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYTsNCiAgICB9DQp9"},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./case-3.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/src/test/contracts/output/case-3_SampleContract.stdlib.fc b/src/test/contracts/output/case-3_SampleContract.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/src/test/contracts/output/case-3_SampleContract.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/src/test/contracts/output/case-3_SampleContract.storage.fc b/src/test/contracts/output/case-3_SampleContract.storage.fc deleted file mode 100644 index 049d2d6aa..000000000 --- a/src/test/contracts/output/case-3_SampleContract.storage.fc +++ /dev/null @@ -1,64 +0,0 @@ -;; -;; Type: Source -;; TLB: _ a:int257 b:int257 = Source -;; - -builder $Source$_store(builder build_0, (int, int) v) inline { - var (v'a, v'b) = v; - build_0 = build_0.store_int(v'a, 257); - build_0 = build_0.store_int(v'b, 257); - return build_0; -} - -(slice, ((int, int))) $Source$_load(slice sc_0) inline { - var v'a = sc_0~load_int(257); - var v'b = sc_0~load_int(257); - return (sc_0, (v'a, v'b)); -} - -((int, int)) $Source$_constructor_a_b(int a, int b) inline { - return (a, b); -} - -;; -;; Type: SampleContract -;; - -builder $SampleContract$_store(builder build_0, (int, int, (int, int)) v) inline { - var (v'a, v'b, (v'c'a, v'c'b)) = v; - build_0 = build_0.store_int(v'a, 257); - build_0 = build_0.store_int(v'b, 257); - var build_1 = begin_cell(); - build_1 = $Source$_store(build_1, (v'c'a, v'c'b)); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((int, int, (int, int)))) $SampleContract$_load(slice sc_0) inline { - var v'a = sc_0~load_int(257); - var v'b = sc_0~load_int(257); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'c = sc_1~$Source$_load(); - return (sc_0, (v'a, v'b, v'c)); -} - -(int, int, (int, int)) $SampleContract$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$SampleContract$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $SampleContract$_contract_init(); - } -} - -() $SampleContract$_contract_store((int, int, (int, int)) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $SampleContract$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/contracts/output/case-3_SampleContract.ts b/src/test/contracts/output/case-3_SampleContract.ts deleted file mode 100644 index 69e88fab9..000000000 --- a/src/test/contracts/output/case-3_SampleContract.ts +++ /dev/null @@ -1,337 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Source = { - $$type: 'Source'; - a: bigint; - b: bigint; -} - -export function storeSource(src: Source) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.a, 257); - b_0.storeInt(src.b, 257); - }; -} - -export function loadSource(slice: Slice) { - let sc_0 = slice; - let _a = sc_0.loadIntBig(257); - let _b = sc_0.loadIntBig(257); - return { $$type: 'Source' as const, a: _a, b: _b }; -} - -function loadTupleSource(source: TupleReader) { - let _a = source.readBigNumber(); - let _b = source.readBigNumber(); - return { $$type: 'Source' as const, a: _a, b: _b }; -} - -function storeTupleSource(source: Source) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeNumber(source.b); - return builder.build(); -} - -function dictValueParserSource(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSource(src)).endCell()); - }, - parse: (src) => { - return loadSource(src.loadRef().beginParse()); - } - } -} - - type SampleContract_init_args = { - $$type: 'SampleContract_init_args'; -} - -function initSampleContract_init_args(src: SampleContract_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function SampleContract_init() { - const __code = Cell.fromBase64('te6ccgECDgEAAYQAART/APSkE/S88sgLAQIBYgIDAtDQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVE9s88uCCyPhDAcx/AcoAVTBQNIEBAc8AgQEBzwDIQAMCgQEBzwCBAQHPAMkBzMntVAcEAgEgBQYAGgGSMH/gINdJMcIfMHACEb3ixtnm2eNiDAcIAgEgCgsBdO1E0NQB+GPSAAGOH4EBAdcAgQEB1wDUAdCBAQHXAIEBAdcAWTIQJEMAbBTgMPgo1wsKgwm68uCJ2zwJAAIjAAhwVHAAAJW7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnCdl05as07LczoOlm2UZuikgCAUgMDQARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1aNGpNcjF5ZVdKcHhSUTJYenBvbnR4dGtzM2M3Ukp6VEdjWjJ2OUdyS1V5MoIA=='); - const __system = Cell.fromBase64('te6cckECEAEAAY4AAQHAAQEFoIcVAgEU/wD0pBP0vPLICwMCAWIMBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtWjRqTXIxeWVXSnB4UlEyWHpwb250eHRrczNjN1JKelRHY1oydjlHcktVeTKCAAEbCvu1E0NIAAYACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAhG94sbZ5tnjYgwOCwACIwLQ0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRPbPPLggsj4QwHMfwHKAFUwUDSBAQHPAIEBAc8AyEADAoEBAc8AgQEBzwDJAczJ7VQODQAaAZIwf+Ag10kxwh8wcAF07UTQ1AH4Y9IAAY4fgQEB1wCBAQHXANQB0IEBAdcAgQEB1wBZMhAkQwBsFOAw+CjXCwqDCbry4InbPA8ACHBUcADKs1fS'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initSampleContract_init_args({ $$type: 'SampleContract_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const SampleContract_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const SampleContract_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Source","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const SampleContract_getters: ABIGetter[] = [ - {"name":"stake","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const SampleContract_receivers: ABIReceiver[] = [ -] - -export class SampleContract implements Contract { - - static async init() { - return await SampleContract_init(); - } - - static async fromInit() { - const init = await SampleContract_init(); - const address = contractAddress(0, init); - return new SampleContract(address, init); - } - - static fromAddress(address: Address) { - return new SampleContract(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: SampleContract_types, - getters: SampleContract_getters, - receivers: SampleContract_receivers, - errors: SampleContract_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async getStake(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('stake', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/contracts/output/case-4_SampleContract.abi b/src/test/contracts/output/case-4_SampleContract.abi deleted file mode 100644 index 4f4bbd594..000000000 --- a/src/test/contracts/output/case-4_SampleContract.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"SampleContract","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Source","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[],"getters":[{"name":"stake","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/contracts/output/case-4_SampleContract.code.boc b/src/test/contracts/output/case-4_SampleContract.code.boc deleted file mode 100644 index 3c0490d49..000000000 Binary files a/src/test/contracts/output/case-4_SampleContract.code.boc and /dev/null differ diff --git a/src/test/contracts/output/case-4_SampleContract.code.fc b/src/test/contracts/output/case-4_SampleContract.code.fc deleted file mode 100644 index aa65fbaa9..000000000 --- a/src/test/contracts/output/case-4_SampleContract.code.fc +++ /dev/null @@ -1,98 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "case-4_SampleContract.headers.fc"; -#include "case-4_SampleContract.stdlib.fc"; -#include "case-4_SampleContract.storage.fc"; - -;; -;; Contract SampleContract functions -;; - -(int, int, (int, int), cell) $SampleContract$_contract_init() impure inline_ref { - var (($self'a, $self'b, ($self'c'a, $self'c'b), $self'd)) = (null(), null(), null(), null()); - $self'a = 0; - $self'b = 0; - ($self'c'a, $self'c'b) = $Source$_constructor_a_b(0, 0); - return ($self'a, $self'b, ($self'c'a, $self'c'b), $self'd); -} - -((int, int, (int, int), cell), int) $SampleContract$_fun_stake((int, int, (int, int), cell) $self) impure inline_ref { - var (($self'a, $self'b, ($self'c'a, $self'c'b), $self'd)) = $self; - return (($self'a, $self'b, ($self'c'a, $self'c'b), $self'd), $self'a); -} - -;; -;; Receivers of a Contract SampleContract -;; - -;; -;; Get methods of a Contract SampleContract -;; - -_ %stake() method_id(80984) { - var self = $SampleContract$_contract_load(); - var res = self~$SampleContract$_fun_stake(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmZ4jMr1yeWJpxRQ2Xzpontxtks3c7RJzTGcZ2v9GrKUy2"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract SampleContract -;; - -((int, int, (int, int), cell), int) $SampleContract$_contract_router_internal((int, int, (int, int), cell) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $SampleContract$_contract_load(); - - ;; Handle operation - int handled = self~$SampleContract$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $SampleContract$_contract_store(self); -} diff --git a/src/test/contracts/output/case-4_SampleContract.code.fif b/src/test/contracts/output/case-4_SampleContract.code.fif deleted file mode 100644 index c1687ee6a..000000000 --- a/src/test/contracts/output/case-4_SampleContract.code.fif +++ /dev/null @@ -1,187 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Source$_store - DECLPROC $Source$_load - DECLPROC $SampleContract$_store - DECLPROC $SampleContract$_load - DECLPROC $Source$_constructor_a_b - DECLPROC $SampleContract$_contract_init - DECLPROC $SampleContract$_contract_load - DECLPROC $SampleContract$_contract_store - DECLPROC $SampleContract$_fun_stake - 80984 DECLMETHOD %stake - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $SampleContract$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $Source$_store PROCINLINE:<{ - s0 s2 XCHG - 257 PUSHINT - STIX - 257 PUSHINT - STIX - }> - $Source$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - -ROT - }> - $SampleContract$_store PROCINLINE:<{ - s4 s5 XCHG2 - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - NEWC - s0 s0 s3 XCHG3 - $Source$_store INLINECALLDICT - s1 s2 XCHG - STDICT - ENDC - SWAP - STREF - }> - $SampleContract$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - SWAP - CTOS - $Source$_load INLINECALLDICT - s0 s2 XCHG - LDDICT - DROP - s3 s5 XCHG - s3 s4 XCHG - s1 s2 XCHG - }> - $Source$_constructor_a_b PROCINLINE:<{ - }> - $SampleContract$_contract_init PROCREF:<{ - PUSHNULL - 0 PUSHINT - s0 s0 s0 PUSH3 - $Source$_constructor_a_b INLINECALLDICT - 4 ROLL - }> - $SampleContract$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $SampleContract$_load INLINECALLDICT - 1 5 BLKDROP2 - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $SampleContract$_contract_init INLINECALLDICT - }> - $SampleContract$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 5 -ROLL - $SampleContract$_store INLINECALLDICT - ENDC - c4 POP - }> - $SampleContract$_fun_stake PROCREF:<{ - s4 PUSH - }> - %stake PROC:<{ - $SampleContract$_contract_load INLINECALLDICT - $SampleContract$_fun_stake INLINECALLDICT - 5 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d5a346a4d72317965574a7078525132587a706f6e7478746b73336337524a7a5447635a32763947724b557932} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $SampleContract$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - DUP - SBITS - NIP - 31 GTINT - IF:<{ - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $SampleContract$_contract_load INLINECALLDICT - 2 5 BLKSWAP - $SampleContract$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $SampleContract$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/contracts/output/case-4_SampleContract.code.rev.fif b/src/test/contracts/output/case-4_SampleContract.code.rev.fif deleted file mode 100644 index a714ec452..000000000 --- a/src/test/contracts/output/case-4_SampleContract.code.rev.fif +++ /dev/null @@ -1,156 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_80984; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_911885a206f1e128; - DECLPROC ?fun_ref_b347d9c3ebd197d4; - DECLPROC ?fun_ref_ccfaad08b63d078e; - DECLPROC ?fun_ref_d31b4aed7a42e751; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_911885a206f1e128 INLINECALLDICT - 2 5 BLKSWAP - ?fun_ref_d31b4aed7a42e751 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 5 1 BLKSWAP - s4 s5 XCHG2 - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - NEWC - s0 s0 s3 XCHG3 - s0 s2 XCHG - 257 PUSHINT - STIX - 257 PUSHINT - STIX - s1 s2 XCHG - STDICT - ENDC - s0 s1 XCHG - STREF - ENDC - c4 POP - }> - ?fun_80984 PROC:<{ - ?fun_ref_911885a206f1e128 INLINECALLDICT - ?fun_ref_b347d9c3ebd197d4 INLINECALLDICT - 5 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D5A346A4D72317965574A7078525132587A706F6E7478746B73336337524A7A5447635A32763947724B55793282_} PUSHSLICE - }> - ?fun_ref_911885a206f1e128 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - ROTREV - s0 s2 XCHG - LDDICT - s0 POP - s3 s5 XCHG - s3 s4 XCHG - s1 s2 XCHG - 1 5 BLKDROP2 - }> PUSHCONT - IFJMP - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_ccfaad08b63d078e INLINECALLDICT - }> - ?fun_ref_b347d9c3ebd197d4 PROCREF:<{ - s4 PUSH - }> - ?fun_ref_ccfaad08b63d078e PROCREF:<{ - NULL - 0 PUSHINT - s0 s0 s0 PUSH3 - 1 4 BLKSWAP - }> - ?fun_ref_d31b4aed7a42e751 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - SBITS - s1 POP - 31 GTINT - s0 POP - 0 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/src/test/contracts/output/case-4_SampleContract.headers.fc b/src/test/contracts/output/case-4_SampleContract.headers.fc deleted file mode 100644 index 4c88c6ea3..000000000 --- a/src/test/contracts/output/case-4_SampleContract.headers.fc +++ /dev/null @@ -1,34 +0,0 @@ -;; -;; Header files for SampleContract -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Source$_store -builder $Source$_store(builder build_0, (int, int) v) inline; - -;; $Source$_load -(slice, ((int, int))) $Source$_load(slice sc_0) inline; - -;; $SampleContract$_store -builder $SampleContract$_store(builder build_0, (int, int, (int, int), cell) v) inline; - -;; $SampleContract$_load -(slice, ((int, int, (int, int), cell))) $SampleContract$_load(slice sc_0) inline; - -;; $Source$_constructor_a_b -((int, int)) $Source$_constructor_a_b(int a, int b) inline; - -;; $SampleContract$_contract_init -(int, int, (int, int), cell) $SampleContract$_contract_init() impure inline_ref; - -;; $SampleContract$_contract_load -(int, int, (int, int), cell) $SampleContract$_contract_load() impure inline_ref; - -;; $SampleContract$_contract_store -() $SampleContract$_contract_store((int, int, (int, int), cell) v) impure inline; - -;; $SampleContract$_fun_stake -((int, int, (int, int), cell), int) $SampleContract$_fun_stake((int, int, (int, int), cell) $self) impure inline_ref; diff --git a/src/test/contracts/output/case-4_SampleContract.md b/src/test/contracts/output/case-4_SampleContract.md deleted file mode 100644 index c122816b0..000000000 --- a/src/test/contracts/output/case-4_SampleContract.md +++ /dev/null @@ -1,53 +0,0 @@ -# TACT Compilation Report -Contract: SampleContract -BOC Size: 411 bytes - -# Types -Total Types: 4 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Source -TLB: `_ a:int257 b:int257 = Source` -Signature: `Source{a:int257,b:int257}` - -# Get Methods -Total Get Methods: 1 - -## stake - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/contracts/output/case-4_SampleContract.pkg b/src/test/contracts/output/case-4_SampleContract.pkg deleted file mode 100644 index 4bb3a6a86..000000000 --- a/src/test/contracts/output/case-4_SampleContract.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"SampleContract","code":"te6ccgECDgEAAY8AART/APSkE/S88sgLAQIBYgIDAtjQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVFNs88uCCyPhDAcx/AcoAVUBQRYEBAc8AEoEBAc8AyEADAoEBAc8AgQEBzwAS9ADJAczJ7VQHBAIBIAUGABoBkjB/4CDXSTHCHzBwAhG94sbZ5tnjYowHCAIBIAoLAXztRNDUAfhj0gABjiOBAQHXAIEBAdcA1AHQgQEB1wCBAQHXAFkC9AQwEDUQNBJsFeAw+CjXCwqDCbry4InbPAkAAiQADm1wVHAAVQMAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAIBSAwNABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVo0ak1yMXllV0pweFJRMlh6cG9udHh0a3MzYzdSSnpUR2NaMnY5R3JLVXkygg","abi":"{\"name\":\"SampleContract\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Source\",\"header\":null,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[],\"getters\":[{\"name\":\"stake\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECEAEAAZkAAQHAAQEFoIcVAgEU/wD0pBP0vPLICwMCAWIMBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtWjRqTXIxeWVXSnB4UlEyWHpwb250eHRrczNjN1JKelRHY1oydjlHcktVeTKCAAEbCvu1E0NIAAYACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAhG94sbZ5tnjYowOCwACJALY0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRTbPPLggsj4QwHMfwHKAFVAUEWBAQHPABKBAQHPAMhAAwKBAQHPAIEBAc8AEvQAyQHMye1UDg0AGgGSMH/gINdJMcIfMHABfO1E0NQB+GPSAAGOI4EBAdcAgQEB1wDUAdCBAQHXAIEBAdcAWQL0BDAQNRA0EmwV4DD4KNcLCoMJuvLgids8DwAObXBUcABVA5//UWI="}},"sources":{"case-4.tact":"c3RydWN0IFNvdXJjZSB7DQogICAgYTogSW50Ow0KICAgIGI6IEludDsNCn0NCg0KZnVuIGlzWmVybyh4OiBJbnQsIHk6IEludCwgejogQm9vbCwgbTogU291cmNlKTogQm9vbCB7DQogICAgbS5iID0gMTA7DQogICAgcmV0dXJuICh4ICsgbS5iKSA+IDAgJiYgejsNCn0NCg0KY29udHJhY3QgU2FtcGxlQ29udHJhY3Qgew0KICAgIGE6IEludDsNCiAgICBiOiBJbnQ7DQogICAgYzogU291cmNlOw0KICAgIGQ6IG1hcDxJbnQsIEludD47DQoNCiAgICBpbml0KCkgew0KICAgICAgICBzZWxmLmEgPSAwOw0KICAgICAgICBzZWxmLmIgPSAwOw0KICAgICAgICBzZWxmLmMgPSBTb3VyY2V7YTogMCwgYjogMH07DQogICAgfQ0KDQogICAgZnVuIGFkZFN0YWtlKCkgeyANCiAgICAgICAgc2VsZi5hID0gMTA7DQogICAgICAgIHNlbGYuYiA9IC0yMDsNCiAgICAgICAgc2VsZi5jID0gU291cmNle2E6IDEwLCBiOiAyMH07DQogICAgfQ0KDQogICAgZ2V0IGZ1biBzdGFrZSgpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2VsZi5hOw0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./case-4.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/src/test/contracts/output/case-4_SampleContract.stdlib.fc b/src/test/contracts/output/case-4_SampleContract.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/src/test/contracts/output/case-4_SampleContract.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/src/test/contracts/output/case-4_SampleContract.storage.fc b/src/test/contracts/output/case-4_SampleContract.storage.fc deleted file mode 100644 index fe6d08261..000000000 --- a/src/test/contracts/output/case-4_SampleContract.storage.fc +++ /dev/null @@ -1,66 +0,0 @@ -;; -;; Type: Source -;; TLB: _ a:int257 b:int257 = Source -;; - -builder $Source$_store(builder build_0, (int, int) v) inline { - var (v'a, v'b) = v; - build_0 = build_0.store_int(v'a, 257); - build_0 = build_0.store_int(v'b, 257); - return build_0; -} - -(slice, ((int, int))) $Source$_load(slice sc_0) inline { - var v'a = sc_0~load_int(257); - var v'b = sc_0~load_int(257); - return (sc_0, (v'a, v'b)); -} - -((int, int)) $Source$_constructor_a_b(int a, int b) inline { - return (a, b); -} - -;; -;; Type: SampleContract -;; - -builder $SampleContract$_store(builder build_0, (int, int, (int, int), cell) v) inline { - var (v'a, v'b, (v'c'a, v'c'b), v'd) = v; - build_0 = build_0.store_int(v'a, 257); - build_0 = build_0.store_int(v'b, 257); - var build_1 = begin_cell(); - build_1 = $Source$_store(build_1, (v'c'a, v'c'b)); - build_1 = build_1.store_dict(v'd); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((int, int, (int, int), cell))) $SampleContract$_load(slice sc_0) inline { - var v'a = sc_0~load_int(257); - var v'b = sc_0~load_int(257); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'c = sc_1~$Source$_load(); - var v'd = sc_1~load_dict(); - return (sc_0, (v'a, v'b, v'c, v'd)); -} - -(int, int, (int, int), cell) $SampleContract$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$SampleContract$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $SampleContract$_contract_init(); - } -} - -() $SampleContract$_contract_store((int, int, (int, int), cell) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $SampleContract$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/contracts/output/case-4_SampleContract.ts b/src/test/contracts/output/case-4_SampleContract.ts deleted file mode 100644 index 0777b0d00..000000000 --- a/src/test/contracts/output/case-4_SampleContract.ts +++ /dev/null @@ -1,337 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Source = { - $$type: 'Source'; - a: bigint; - b: bigint; -} - -export function storeSource(src: Source) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.a, 257); - b_0.storeInt(src.b, 257); - }; -} - -export function loadSource(slice: Slice) { - let sc_0 = slice; - let _a = sc_0.loadIntBig(257); - let _b = sc_0.loadIntBig(257); - return { $$type: 'Source' as const, a: _a, b: _b }; -} - -function loadTupleSource(source: TupleReader) { - let _a = source.readBigNumber(); - let _b = source.readBigNumber(); - return { $$type: 'Source' as const, a: _a, b: _b }; -} - -function storeTupleSource(source: Source) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeNumber(source.b); - return builder.build(); -} - -function dictValueParserSource(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSource(src)).endCell()); - }, - parse: (src) => { - return loadSource(src.loadRef().beginParse()); - } - } -} - - type SampleContract_init_args = { - $$type: 'SampleContract_init_args'; -} - -function initSampleContract_init_args(src: SampleContract_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function SampleContract_init() { - const __code = Cell.fromBase64('te6ccgECDgEAAY8AART/APSkE/S88sgLAQIBYgIDAtjQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVFNs88uCCyPhDAcx/AcoAVUBQRYEBAc8AEoEBAc8AyEADAoEBAc8AgQEBzwAS9ADJAczJ7VQHBAIBIAUGABoBkjB/4CDXSTHCHzBwAhG94sbZ5tnjYowHCAIBIAoLAXztRNDUAfhj0gABjiOBAQHXAIEBAdcA1AHQgQEB1wCBAQHXAFkC9AQwEDUQNBJsFeAw+CjXCwqDCbry4InbPAkAAiQADm1wVHAAVQMAlbu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcJ2XTlqzTstzOg6WbZRm6KSAIBSAwNABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVo0ak1yMXllV0pweFJRMlh6cG9udHh0a3MzYzdSSnpUR2NaMnY5R3JLVXkygg'); - const __system = Cell.fromBase64('te6cckECEAEAAZkAAQHAAQEFoIcVAgEU/wD0pBP0vPLICwMCAWIMBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtWjRqTXIxeWVXSnB4UlEyWHpwb250eHRrczNjN1JKelRHY1oydjlHcktVeTKCAAEbCvu1E0NIAAYACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAhG94sbZ5tnjYowOCwACJALY0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8VRTbPPLggsj4QwHMfwHKAFVAUEWBAQHPABKBAQHPAMhAAwKBAQHPAIEBAc8AEvQAyQHMye1UDg0AGgGSMH/gINdJMcIfMHABfO1E0NQB+GPSAAGOI4EBAdcAgQEB1wDUAdCBAQHXAIEBAdcAWQL0BDAQNRA0EmwV4DD4KNcLCoMJuvLgids8DwAObXBUcABVA5//UWI='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initSampleContract_init_args({ $$type: 'SampleContract_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const SampleContract_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const SampleContract_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Source","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const SampleContract_getters: ABIGetter[] = [ - {"name":"stake","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const SampleContract_receivers: ABIReceiver[] = [ -] - -export class SampleContract implements Contract { - - static async init() { - return await SampleContract_init(); - } - - static async fromInit() { - const init = await SampleContract_init(); - const address = contractAddress(0, init); - return new SampleContract(address, init); - } - - static fromAddress(address: Address) { - return new SampleContract(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: SampleContract_types, - getters: SampleContract_getters, - receivers: SampleContract_receivers, - errors: SampleContract_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async getStake(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('stake', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/contracts/output/stdlib_StdlibTest.abi b/src/test/contracts/output/stdlib_StdlibTest.abi deleted file mode 100644 index f9f854daf..000000000 --- a/src/test/contracts/output/stdlib_StdlibTest.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"StdlibTest","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}}],"getters":[{"name":"sliceEmpty","arguments":[{"name":"sc","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"sliceBits","arguments":[{"name":"sc","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"sliceRefs","arguments":[{"name":"sc","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/contracts/output/stdlib_StdlibTest.code.boc b/src/test/contracts/output/stdlib_StdlibTest.code.boc deleted file mode 100644 index 15660cb86..000000000 Binary files a/src/test/contracts/output/stdlib_StdlibTest.code.boc and /dev/null differ diff --git a/src/test/contracts/output/stdlib_StdlibTest.code.fc b/src/test/contracts/output/stdlib_StdlibTest.code.fc deleted file mode 100644 index 9945171a7..000000000 --- a/src/test/contracts/output/stdlib_StdlibTest.code.fc +++ /dev/null @@ -1,131 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "stdlib_StdlibTest.headers.fc"; -#include "stdlib_StdlibTest.stdlib.fc"; -#include "stdlib_StdlibTest.storage.fc"; - -;; -;; Contract StdlibTest functions -;; - -(int) $StdlibTest$_contract_init() impure inline_ref { - var (($self'v)) = (0); - return ($self'v); -} - -((int), int) $StdlibTest$_fun_sliceEmpty((int) $self, slice $sc) impure inline_ref { - var (($self'v)) = $self; - return (($self'v), slice_empty?($sc)); -} - -((int), int) $StdlibTest$_fun_sliceBits((int) $self, slice $sc) impure inline_ref { - var (($self'v)) = $self; - return (($self'v), slice_bits($sc)); -} - -((int), int) $StdlibTest$_fun_sliceRefs((int) $self, slice $sc) impure inline_ref { - var (($self'v)) = $self; - return (($self'v), slice_refs($sc)); -} - -;; -;; Receivers of a Contract StdlibTest -;; - -(((int)), ()) %$StdlibTest$_internal_empty((int) $self) impure inline { - var ($self'v) = $self; - return (($self'v), ()); -} - -;; -;; Get methods of a Contract StdlibTest -;; - -_ %sliceEmpty(slice $$sc) method_id(73995) { - slice $sc = $$sc; - var self = $StdlibTest$_contract_load(); - var res = self~$StdlibTest$_fun_sliceEmpty($sc); - return res; -} - -_ %sliceBits(slice $$sc) method_id(75090) { - slice $sc = $$sc; - var self = $StdlibTest$_contract_load(); - var res = self~$StdlibTest$_fun_sliceBits($sc); - return res; -} - -_ %sliceRefs(slice $$sc) method_id(77445) { - slice $sc = $$sc; - var self = $StdlibTest$_contract_load(); - var res = self~$StdlibTest$_fun_sliceRefs($sc); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmWhptfo85jfiNyGwbjaB8Sw4K1bR9v2Wqi2naxYqepCfD"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract StdlibTest -;; - -((int), int) $StdlibTest$_contract_router_internal((int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$StdlibTest$_internal_empty(); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $StdlibTest$_contract_load(); - - ;; Handle operation - int handled = self~$StdlibTest$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $StdlibTest$_contract_store(self); -} diff --git a/src/test/contracts/output/stdlib_StdlibTest.code.fif b/src/test/contracts/output/stdlib_StdlibTest.code.fif deleted file mode 100644 index e7d053be4..000000000 --- a/src/test/contracts/output/stdlib_StdlibTest.code.fif +++ /dev/null @@ -1,180 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $StdlibTest$_store - DECLPROC $StdlibTest$_load - DECLPROC $StdlibTest$_contract_init - DECLPROC $StdlibTest$_contract_load - DECLPROC $StdlibTest$_contract_store - DECLPROC $StdlibTest$_fun_sliceEmpty - DECLPROC $StdlibTest$_fun_sliceBits - DECLPROC $StdlibTest$_fun_sliceRefs - DECLPROC %$StdlibTest$_internal_empty - 73995 DECLMETHOD %sliceEmpty - 75090 DECLMETHOD %sliceBits - 77445 DECLMETHOD %sliceRefs - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $StdlibTest$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $StdlibTest$_store PROCINLINE:<{ - SWAP - 257 PUSHINT - STIX - }> - $StdlibTest$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - SWAP - }> - $StdlibTest$_contract_init PROCREF:<{ - 0 PUSHINT - }> - $StdlibTest$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $StdlibTest$_load INLINECALLDICT - NIP - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $StdlibTest$_contract_init INLINECALLDICT - }> - $StdlibTest$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - SWAP - $StdlibTest$_store INLINECALLDICT - ENDC - c4 POP - }> - $StdlibTest$_fun_sliceEmpty PROCREF:<{ - SEMPTY - }> - $StdlibTest$_fun_sliceBits PROCREF:<{ - SBITS - }> - $StdlibTest$_fun_sliceRefs PROCREF:<{ - SREFS - }> - %$StdlibTest$_internal_empty PROCINLINE:<{ - }> - %sliceEmpty PROC:<{ - $StdlibTest$_contract_load INLINECALLDICT - SWAP - $StdlibTest$_fun_sliceEmpty INLINECALLDICT - NIP - }> - %sliceBits PROC:<{ - $StdlibTest$_contract_load INLINECALLDICT - SWAP - $StdlibTest$_fun_sliceBits INLINECALLDICT - NIP - }> - %sliceRefs PROC:<{ - $StdlibTest$_contract_load INLINECALLDICT - SWAP - $StdlibTest$_fun_sliceRefs INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d57687074666f38356a66694e794777626a6142385377344b316252397632577169326e617859716570436644} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $StdlibTest$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 0 EQINT - SWAP - SBITS - 33 LESSINT - AND - IFJMP:<{ - %$StdlibTest$_internal_empty INLINECALLDICT - TRUE - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $StdlibTest$_contract_load INLINECALLDICT - -ROT - $StdlibTest$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $StdlibTest$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/contracts/output/stdlib_StdlibTest.code.rev.fif b/src/test/contracts/output/stdlib_StdlibTest.code.rev.fif deleted file mode 100644 index 03cd4828c..000000000 --- a/src/test/contracts/output/stdlib_StdlibTest.code.rev.fif +++ /dev/null @@ -1,160 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_73995; - DECLPROC ?fun_75090; - DECLPROC ?fun_77445; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_36266a5855831da9; - DECLPROC ?fun_ref_364de9562794919e; - DECLPROC ?fun_ref_492a234961f0a3f5; - DECLPROC ?fun_ref_644ef5250652bdfa; - DECLPROC ?fun_ref_88418691d5a3eaa0; - DECLPROC ?fun_ref_951f0c320ee84da9; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_36266a5855831da9 INLINECALLDICT - ROTREV - ?fun_ref_364de9562794919e INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 s1 XCHG - 257 PUSHINT - STIX - ENDC - c4 POP - }> - ?fun_73995 PROC:<{ - ?fun_ref_36266a5855831da9 INLINECALLDICT - s0 s1 XCHG - ?fun_ref_951f0c320ee84da9 INLINECALLDICT - s1 POP - }> - ?fun_75090 PROC:<{ - ?fun_ref_36266a5855831da9 INLINECALLDICT - s0 s1 XCHG - ?fun_ref_492a234961f0a3f5 INLINECALLDICT - s1 POP - }> - ?fun_77445 PROC:<{ - ?fun_ref_36266a5855831da9 INLINECALLDICT - s0 s1 XCHG - ?fun_ref_88418691d5a3eaa0 INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D57687074666F38356A66694E794777626A6142385377344B316252397632577169326E61785971657043664482_} PUSHSLICE - }> - ?fun_ref_36266a5855831da9 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - }> PUSHCONT - IFJMP - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_644ef5250652bdfa INLINECALLDICT - }> - ?fun_ref_364de9562794919e PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 0 EQINT - s0 s1 XCHG - SBITS - 33 LESSINT - AND - <{ - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - }> - ?fun_ref_492a234961f0a3f5 PROCREF:<{ - SBITS - }> - ?fun_ref_644ef5250652bdfa PROCREF:<{ - 0 PUSHINT - }> - ?fun_ref_88418691d5a3eaa0 PROCREF:<{ - SREFS - }> - ?fun_ref_951f0c320ee84da9 PROCREF:<{ - SEMPTY - }> -}END>c \ No newline at end of file diff --git a/src/test/contracts/output/stdlib_StdlibTest.headers.fc b/src/test/contracts/output/stdlib_StdlibTest.headers.fc deleted file mode 100644 index 118a34c38..000000000 --- a/src/test/contracts/output/stdlib_StdlibTest.headers.fc +++ /dev/null @@ -1,31 +0,0 @@ -;; -;; Header files for StdlibTest -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $StdlibTest$_store -builder $StdlibTest$_store(builder build_0, (int) v) inline; - -;; $StdlibTest$_load -(slice, ((int))) $StdlibTest$_load(slice sc_0) inline; - -;; $StdlibTest$_contract_init -(int) $StdlibTest$_contract_init() impure inline_ref; - -;; $StdlibTest$_contract_load -(int) $StdlibTest$_contract_load() impure inline_ref; - -;; $StdlibTest$_contract_store -() $StdlibTest$_contract_store((int) v) impure inline; - -;; $StdlibTest$_fun_sliceEmpty -((int), int) $StdlibTest$_fun_sliceEmpty((int) $self, slice $sc) impure inline_ref; - -;; $StdlibTest$_fun_sliceBits -((int), int) $StdlibTest$_fun_sliceBits((int) $self, slice $sc) impure inline_ref; - -;; $StdlibTest$_fun_sliceRefs -((int), int) $StdlibTest$_fun_sliceRefs((int) $self, slice $sc) impure inline_ref; diff --git a/src/test/contracts/output/stdlib_StdlibTest.md b/src/test/contracts/output/stdlib_StdlibTest.md deleted file mode 100644 index 5cebff5d1..000000000 --- a/src/test/contracts/output/stdlib_StdlibTest.md +++ /dev/null @@ -1,56 +0,0 @@ -# TACT Compilation Report -Contract: StdlibTest -BOC Size: 407 bytes - -# Types -Total Types: 3 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -# Get Methods -Total Get Methods: 3 - -## sliceEmpty -Argument: sc - -## sliceBits -Argument: sc - -## sliceRefs -Argument: sc - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/contracts/output/stdlib_StdlibTest.pkg b/src/test/contracts/output/stdlib_StdlibTest.pkg deleted file mode 100644 index 3084d8176..000000000 --- a/src/test/contracts/output/stdlib_StdlibTest.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"StdlibTest","code":"te6ccgECFAEAAYsAART/APSkE/S88sgLAQIBYgIDAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UDQQCASAFBgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwAgJyBwgCASAQEQIBIAkKAhGvQu2eAO2eGMANDgIQqQvbPAHbPDENCwIQqVLbPAHbPDENDAAExwAABNdJAULtRNDUAfhj0gABl4EBAdcAATHgMPgo1wsKgwm68uCJ2zwPAATXSgACcACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgFIEhMAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtV2hwdGZvODVqZmlOeUd3YmphQjhTdzRLMWJSOXYyV3FpMm5heFlxZXBDZkSCA=","abi":"{\"name\":\"StdlibTest\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}}],\"getters\":[{\"name\":\"sliceEmpty\",\"arguments\":[{\"name\":\"sc\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sliceBits\",\"arguments\":[{\"name\":\"sc\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"sliceRefs\",\"arguments\":[{\"name\":\"sc\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECFgEAAZUAAQHAAQEFocp9AgEU/wD0pBP0vPLICwMCAWISBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtV2hwdGZvODVqZmlOeUd3YmphQjhTdzRLMWJSOXYyV3FpMm5heFlxZXBDZkSCAAEbCvu1E0NIAAYACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgJyDQsCEa9C7Z4A7Z4YwBQMAATXSgIBIBAOAhCpUts8Ads8MRQPAATXSQIQqQvbPAHbPDEUEQAExwACntAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggsj4QwHMfwHKAAEBgQEBzwDJ7VQUEwA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwAULtRNDUAfhj0gABl4EBAdcAATHgMPgo1wsKgwm68uCJ2zwVAAJwotE7GQ=="}},"sources":{"stdlib.tact":"Y29udHJhY3QgU3RkbGliVGVzdCB7DQoNCiAgICB2OiBJbnQgPSAwOw0KDQogICAgaW5pdCgpIHsNCiAgICAgICAgLy8gTm90aGluZyB0byBkbw0KICAgIH0NCg0KICAgIHJlY2VpdmUoKSB7DQogICAgICAgIC8vIERlcGxveQ0KICAgIH0NCg0KICAgIGdldCBmdW4gc2xpY2VFbXB0eShzYzogU2xpY2UpOiBCb29sIHsNCiAgICAgICAgcmV0dXJuIHNjLmVtcHR5KCk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBzbGljZUJpdHMoc2M6IFNsaWNlKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHNjLmJpdHMoKTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIHNsaWNlUmVmcyhzYzogU2xpY2UpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2MucmVmcygpOw0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./stdlib.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/src/test/contracts/output/stdlib_StdlibTest.stdlib.fc b/src/test/contracts/output/stdlib_StdlibTest.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/src/test/contracts/output/stdlib_StdlibTest.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/src/test/contracts/output/stdlib_StdlibTest.storage.fc b/src/test/contracts/output/stdlib_StdlibTest.storage.fc deleted file mode 100644 index 4f0ea0418..000000000 --- a/src/test/contracts/output/stdlib_StdlibTest.storage.fc +++ /dev/null @@ -1,35 +0,0 @@ -;; -;; Type: StdlibTest -;; - -builder $StdlibTest$_store(builder build_0, (int) v) inline { - var (v'v) = v; - build_0 = build_0.store_int(v'v, 257); - return build_0; -} - -(slice, ((int))) $StdlibTest$_load(slice sc_0) inline { - var v'v = sc_0~load_int(257); - return (sc_0, (v'v)); -} - -(int) $StdlibTest$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$StdlibTest$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $StdlibTest$_contract_init(); - } -} - -() $StdlibTest$_contract_store((int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $StdlibTest$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/contracts/output/stdlib_StdlibTest.ts b/src/test/contracts/output/stdlib_StdlibTest.ts deleted file mode 100644 index f2d4adc6f..000000000 --- a/src/test/contracts/output/stdlib_StdlibTest.ts +++ /dev/null @@ -1,323 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - - type StdlibTest_init_args = { - $$type: 'StdlibTest_init_args'; -} - -function initStdlibTest_init_args(src: StdlibTest_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function StdlibTest_init() { - const __code = Cell.fromBase64('te6ccgECFAEAAYsAART/APSkE/S88sgLAQIBYgIDAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UDQQCASAFBgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwAgJyBwgCASAQEQIBIAkKAhGvQu2eAO2eGMANDgIQqQvbPAHbPDENCwIQqVLbPAHbPDENDAAExwAABNdJAULtRNDUAfhj0gABl4EBAdcAATHgMPgo1wsKgwm68uCJ2zwPAATXSgACcACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgFIEhMAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtV2hwdGZvODVqZmlOeUd3YmphQjhTdzRLMWJSOXYyV3FpMm5heFlxZXBDZkSCA='); - const __system = Cell.fromBase64('te6cckECFgEAAZUAAQHAAQEFocp9AgEU/wD0pBP0vPLICwMCAWISBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtV2hwdGZvODVqZmlOeUd3YmphQjhTdzRLMWJSOXYyV3FpMm5heFlxZXBDZkSCAAEbCvu1E0NIAAYACVu70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwnZdOWrNOy3M6DpZtlGbopIAgJyDQsCEa9C7Z4A7Z4YwBQMAATXSgIBIBAOAhCpUts8Ads8MRQPAATXSQIQqQvbPAHbPDEUEQAExwACntAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggsj4QwHMfwHKAAEBgQEBzwDJ7VQUEwA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwAULtRNDUAfhj0gABl4EBAdcAATHgMPgo1wsKgwm68uCJ2zwVAAJwotE7GQ=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initStdlibTest_init_args({ $$type: 'StdlibTest_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const StdlibTest_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const StdlibTest_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, -] - -const StdlibTest_getters: ABIGetter[] = [ - {"name":"sliceEmpty","arguments":[{"name":"sc","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"sliceBits","arguments":[{"name":"sc","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"sliceRefs","arguments":[{"name":"sc","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const StdlibTest_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, -] - -export class StdlibTest implements Contract { - - static async init() { - return await StdlibTest_init(); - } - - static async fromInit() { - const init = await StdlibTest_init(); - const address = contractAddress(0, init); - return new StdlibTest(address, init); - } - - static fromAddress(address: Address) { - return new StdlibTest(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: StdlibTest_types, - getters: StdlibTest_getters, - receivers: StdlibTest_receivers, - errors: StdlibTest_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null) { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getSliceEmpty(provider: ContractProvider, sc: Cell) { - let builder = new TupleBuilder(); - builder.writeSlice(sc); - let source = (await provider.get('sliceEmpty', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getSliceBits(provider: ContractProvider, sc: Cell) { - let builder = new TupleBuilder(); - builder.writeSlice(sc); - let source = (await provider.get('sliceBits', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getSliceRefs(provider: ContractProvider, sc: Cell) { - let builder = new TupleBuilder(); - builder.writeSlice(sc); - let source = (await provider.get('sliceRefs', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/bounced-routing_SampleContract.abi b/src/test/features/output/bounced-routing_SampleContract.abi deleted file mode 100644 index 81df60f70..000000000 --- a/src/test/features/output/bounced-routing_SampleContract.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"SampleContract","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"EntryFirst","header":2757457064,"fields":[{"name":"amountToAdd","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"toAddress","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"EntrySecond","header":4282440720,"fields":[{"name":"amountToAdd","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"toAddress","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"First","header":3200290616,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"myCoins","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"myBool3","type":{"kind":"simple","type":"bool","optional":false}},{"name":"anAddress","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"Second","header":391585480,"fields":[{"name":"amount_bigger","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"myBool","type":{"kind":"simple","type":"bool","optional":false}},{"name":"thisDoesNotFit","type":{"kind":"simple","type":"uint","optional":false,"format":256}},{"name":"myAddress","type":{"kind":"simple","type":"address","optional":false}},{"name":"myBool2","type":{"kind":"simple","type":"bool","optional":false}},{"name":"myStruct","type":{"kind":"simple","type":"MyStruct","optional":false}},{"name":"myStruct2","type":{"kind":"simple","type":"MyStruct","optional":false}}]},{"name":"Large","header":618480963,"fields":[{"name":"address","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}}]},{"name":"SmallBounce","header":3235833558,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"myBool3","type":{"kind":"simple","type":"bool","optional":false}}]},{"name":"MyStruct","header":null,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}},{"receiver":"internal","message":{"kind":"typed","type":"EntryFirst"}},{"receiver":"internal","message":{"kind":"typed","type":"EntrySecond"}},{"receiver":"internal","message":{"kind":"typed","type":"First"}},{"receiver":"internal","message":{"kind":"typed","type":"Second"}},{"receiver":"internal","message":{"kind":"text","text":"Increment"}}],"getters":[{"name":"amount","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/bounced-routing_SampleContract.code.boc b/src/test/features/output/bounced-routing_SampleContract.code.boc deleted file mode 100644 index 357cb8511..000000000 Binary files a/src/test/features/output/bounced-routing_SampleContract.code.boc and /dev/null differ diff --git a/src/test/features/output/bounced-routing_SampleContract.code.boc.html b/src/test/features/output/bounced-routing_SampleContract.code.boc.html deleted file mode 100644 index ec1eb0f6c..000000000 --- a/src/test/features/output/bounced-routing_SampleContract.code.boc.html +++ /dev/null @@ -1,702 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_101100;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_320ae1effb6175d4;
-            ..DECLPROC ?fun_ref_40d98146a47dbe3b;
-            ..DECLPROC ?fun_ref_886b033c776b627e;
-            ..DECLPROC ?fun_ref_8e3c641d5653715d;
-            ..DECLPROC ?fun_ref_910ec180e80dbec2;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_fbe02d46bdfe17e8;
-            x5..recv_internal PROC:<{
-            18x5....s0 s1 XCHG
-            118x5....CTOS
-            26x5....4 LDU
-            18x5....s0 s1 XCHG
-            18x5....1 PUSHINT
-            18x5....AND
-            18x5....-1 MULCONST
-            18x5....s0 s1 XCHG
-            26x5....LDMSGADDR
-            18x5....s0 s1 XCHG
-            18x5....s0 PUSH
-            26x5....SBITS
-            34x5....267 PUSHINT
-            18x5....EQUAL
-            34x5....136 THROWIFNOT
-            18x5....s0 PUSH
-            34x5....11 PLDU
-            18x5....s0 PUSH
-            34x5....1279 PUSHINT
-            18x5....EQUAL
-            34x5....137 THROWIF
-            26x5....10 PUSHPOW2
-            18x5....EQUAL
-            34x5....136 THROWIFNOT
-            34x5....s0 s6 s4 PUXCPU
-            18x5....s0 s3 XCHG
-            30x5....4 TUPLE
-            28x5....1 SETGLOBVAR
-            18x5....s0 s2 XCHG
-            29x5....2 SETGLOBVAR
-            126x5....?fun_ref_fbe02d46bdfe17e8 INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_886b033c776b627e INLINECALLDICT
-            34x5....130 THROWIFNOT
-            18x5....NEWC
-            26x5....3 GETGLOBVAR
-            18x5....s0 s1 XCHG
-            18x5....STREF
-            18x5....-1 PUSHINT
-            18x5....s0 s1 XCHG
-            26x5....1 STI
-            18x5....s0 s1 XCHG
-            18x5....s0 s1 XCHG
-            34x5....257 PUSHINT
-            26x5....STIX
-            518x5....ENDC
-            26x5....c4 POP
-            x5..}>
-            x3..?fun_101100 PROC:<{
-            126x3....?fun_ref_fbe02d46bdfe17e8 INLINECALLDICT
-            126x3....?fun_ref_40d98146a47dbe3b INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D62794B646D556E3931484D6E467A62706E645643396E684D33466B56545236624B666E526674764857374E6282_} PUSHSLICE
-            ..}>
-            x1..?fun_ref_320ae1effb6175d4 PROCREF:<{
-            26x1....32 LDU
-            18x1....s0 s1 XCHG
-            23x1....391585480 PUSHINT
-            18x1....EQUAL
-            34x1....129 THROWIFNOT
-            26x1....64 LDU
-            26x1....1 LDI
-            26x1....256 LDU
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 s1 XCHG
-            26x1....1 LDI
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....s0 s1 XCHG
-            18x1....s0 s1 XCHG
-            18x1....LDREF
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....s0 s1 XCHG
-            18x1....s1 POP
-            18x1....s1 s7 XCHG
-            18x1....s1 s6 XCHG
-            18x1....s1 s5 XCHG
-            18x1....s1 s4 XCHG
-            26x1....s3 s3 s0 XCHG3
-            x1..}>
-            x7..?fun_ref_40d98146a47dbe3b PROCREF:<{
-            18x7....s0 PUSH
-            x7..}>
-            x5..?fun_ref_886b033c776b627e PROCREF:<{
-            26x5....2 SAVE
-            26x5....SAMEALTSAVE
-            18x5....s0 s1 XCHG
-            126x5....<{
-            26x2......32 PUSHINT
-            26x2......SDSKIPFIRST
-            18x2......0 PUSHINT
-            18x2......s1 PUSH
-            26x2......SBITS
-            26x2......31 GTINT
-            18x2......<{
-            18x2........s0 POP
-            18x2........s0 PUSH
-            34x2........32 PLDU
-            18x2......}> PUSHCONT
-            18x2......IF
-            18x2......s0 PUSH
-            23x2......3200290616 PUSHINT
-            18x2......EQUAL
-            26x2......<{
-            18x1........s0 POP
-            26x1........32 LDU
-            18x1........s0 s1 XCHG
-            23x1........3200290616 PUSHINT
-            18x1........EQUAL
-            34x1........129 THROWIFNOT
-            26x1........32 LDU
-            26x1........LDGRAMS
-            26x1........1 LDI
-            26x1........3 1 BLKSWAP
-            26x1........1 3 BLKDROP2
-            18x1........DROP2
-            28x1........x{496E20626F756E6365206F6620666972737482_} PUSHSLICE
-            26x1........STRDUMP
-            18x1........s0 POP
-            18x1........TUCK
-            18x1........ADD
-            18x1........s1 POP
-            26x1........-2 ADD
-            18x1........-1 PUSHINT
-            26x2......}> PUSHCONT
-            18x2......IFJMP
-            18x1......s0 PUSH
-            23x1......391585480 PUSHINT
-            18x1......EQUAL
-            126x1......<{
-            18x1........s0 POP
-            26x1........32 LDU
-            18x1........s0 s1 XCHG
-            23x1........391585480 PUSHINT
-            18x1........EQUAL
-            34x1........129 THROWIFNOT
-            26x1........64 LDU
-            26x1........1 LDI
-            18x1........ROTREV
-            26x1........1 2 BLKDROP2
-            18x1........s0 POP
-            28x1........x{496E20626F756E6365206F66207365636F6E6482_} PUSHSLICE
-            26x1........STRDUMP
-            18x1........s0 POP
-            18x1........ADD
-            26x1........-4 ADD
-            18x1........-1 PUSHINT
-            126x1......}> IFJMPREF
-            ......s0 PUSH
-            ......3235833558 PUSHINT
-            ......EQUAL
-            ......<{
-            ........s0 POP
-            ........32 LDU
-            ........s0 s1 XCHG
-            ........3235833558 PUSHINT
-            ........EQUAL
-            ........129 THROWIFNOT
-            ........32 LDU
-            ........1 LDI
-            ........ROTREV
-            ........1 2 BLKDROP2
-            ........s0 POP
-            ........x{496E20626F756E6365206F6620736D616C6C20626F756E636582_} PUSHSLICE
-            ........STRDUMP
-            ........s0 POP
-            ........ADD
-            ........-4 ADD
-            ........-1 PUSHINT
-            ......}> IFJMPREF
-            ......618480963 PUSHINT
-            ......EQUAL
-            ......<{
-            ........32 LDU
-            ........s0 s1 XCHG
-            ........618480963 PUSHINT
-            ........EQUAL
-            ........129 THROWIFNOT
-            ........NULL
-            ........s1 POP
-            ........s0 POP
-            ........x{496E20626F756E6365206F66206C6172676520626F756E636582_} PUSHSLICE
-            ........STRDUMP
-            ........s0 POP
-            ........-1 PUSHINT
-            ......}> IFJMPREF
-            ......DROP2
-            ......x{496E2067656E6572696320626F756E636582_} PUSHSLICE
-            ......STRDUMP
-            ......s0 POP
-            ......77 PUSHINT
-            ......-1 PUSHINT
-            126x5....}> IFJMPREF
-            18x3....0 PUSHINT
-            18x3....s1 PUSH
-            26x3....SBITS
-            26x3....31 GTINT
-            18x3....<{
-            18x2......s0 POP
-            18x2......s0 PUSH
-            34x2......32 PLDU
-            18x3....}> PUSHCONT
-            18x3....IF
-            18x3....s0 PUSH
-            26x3....0 EQINT
-            18x3....s2 PUSH
-            26x3....SBITS
-            26x3....33 LESSINT
-            18x3....AND
-            18x3....<{
-            18x1......DROP2
-            18x1......-1 PUSHINT
-            18x3....}> PUSHCONT
-            18x3....IFJMP
-            18x2....s0 PUSH
-            23x2....2757457064 PUSHINT
-            18x2....EQUAL
-            26x2....<{
-            18x1......s0 POP
-            26x1......32 LDU
-            18x1......s0 s1 XCHG
-            23x1......2757457064 PUSHINT
-            18x1......EQUAL
-            34x1......129 THROWIFNOT
-            26x1......32 LDU
-            26x1......LDMSGADDR
-            18x1......s0 s1 XCHG
-            18x1......s0 PUSH
-            26x1......SBITS
-            34x1......267 PUSHINT
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            18x1......s0 PUSH
-            34x1......11 PLDU
-            18x1......s0 PUSH
-            34x1......1279 PUSHINT
-            18x1......EQUAL
-            34x1......137 THROWIF
-            26x1......10 PUSHPOW2
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            18x1......s1 s2 XCHG
-            26x1......1 2 BLKDROP2
-            26x1......s2 s1 XCPU
-            18x1......SUB
-            23x1......1000000000 PUSHINT
-            18x1......2 PUSHINT
-            18x1......-1 PUSHINT
-            18x1......3 PUSHINT
-            18x1......0 PUSHINT
-            26x1......2 GETGLOBVAR
-            26x1......s3 s7 XCHG
-            18x1......NEWC
-            26x1......4 1 BLKSWAP
-            23x1......3200290616 PUSHINT
-            26x1......s0 s5 XCHG2
-            26x1......32 STU
-            18x1......s1 s3 XCHG
-            26x1......32 STU
-            18x1......s0 s1 XCHG
-            26x1......STGRAMS
-            26x1......1 STI
-            18x1......s0 s1 XCHG
-            18x1......s0 PUSH
-            26x1......SBITS
-            34x1......267 PUSHINT
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            18x1......s0 PUSH
-            34x1......11 PLDU
-            18x1......s0 PUSH
-            34x1......1279 PUSHINT
-            18x1......EQUAL
-            34x1......137 THROWIF
-            26x1......10 PUSHPOW2
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            26x1......STSLICER
-            518x1......ENDC
-            26x1......s4 s5 XCHG
-            26x1......s1 s3 s0 XCHG3
-            18x1......s1 s5 XCHG
-            18x1......s1 s4 XCHG
-            26x1......s3 s3 s0 XCHG3
-            18x1......NULL
-            18x1......NULL
-            126x1......?fun_ref_b93b9862cda1783c INLINECALLDICT
-            18x1......-1 PUSHINT
-            26x2....}> PUSHCONT
-            18x2....IFJMP
-            18x1....s0 PUSH
-            23x1....4282440720 PUSHINT
-            18x1....EQUAL
-            126x1....<{
-            18x1......s0 POP
-            26x1......32 LDU
-            18x1......s0 s1 XCHG
-            23x1......4282440720 PUSHINT
-            18x1......EQUAL
-            34x1......129 THROWIFNOT
-            26x1......32 LDU
-            26x1......LDMSGADDR
-            18x1......s0 s1 XCHG
-            18x1......s0 PUSH
-            26x1......SBITS
-            34x1......267 PUSHINT
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            18x1......s0 PUSH
-            34x1......11 PLDU
-            18x1......s0 PUSH
-            34x1......1279 PUSHINT
-            18x1......EQUAL
-            34x1......137 THROWIF
-            26x1......10 PUSHPOW2
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            18x1......s1 s2 XCHG
-            26x1......1 2 BLKDROP2
-            26x1......s2 s1 XCPU
-            18x1......SUB
-            23x1......1000000000 PUSHINT
-            18x1......2 PUSHINT
-            18x1......-1 PUSHINT
-            18x1......0 PUSHINT
-            18x1......1 PUSHINT
-            26x1......2 GETGLOBVAR
-            18x1......0 PUSHINT
-            18x1......s2 PUSH
-            18x1......s6 PUSH
-            26x1......s6 s10 XCHG
-            18x1......NEWC
-            26x1......7 1 BLKSWAP
-            126x1......?fun_ref_8e3c641d5653715d INLINECALLDICT
-            518x1......ENDC
-            26x1......s4 s5 XCHG
-            26x1......s1 s3 s0 XCHG3
-            18x1......s1 s5 XCHG
-            18x1......s1 s4 XCHG
-            26x1......s3 s3 s0 XCHG3
-            18x1......NULL
-            18x1......NULL
-            126x1......?fun_ref_b93b9862cda1783c INLINECALLDICT
-            18x1......-1 PUSHINT
-            126x1....}> IFJMPREF
-            ....s0 PUSH
-            ....3200290616 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......3200290616 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......32 LDU
-            ......LDGRAMS
-            ......1 LDI
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s1 s4 XCHG
-            ......s3 s3 s0 XCHG3
-            ......1 4 BLKDROP2
-            ......4 BLKDROP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....391585480 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......?fun_ref_320ae1effb6175d4 INLINECALLDICT
-            ......1 7 BLKDROP2
-            ......7 BLKDROP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 EQINT
-            ....<{
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......HASHSU
-            ......93093333132076440750103890131866374745660412111105226855661378207494015626164 PUSHINT
-            ......EQUAL
-            ......<{
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ....}> IFREFELSE
-            ....0 PUSHINT
-            x5..}>
-            x1..?fun_ref_8e3c641d5653715d PROCREF:<{
-            23x1....391585480 PUSHINT
-            26x1....s0 s8 XCHG2
-            26x1....32 STU
-            18x1....s1 s6 XCHG
-            26x1....64 STU
-            18x1....s1 s4 XCHG
-            26x1....1 STI
-            18x1....s1 s2 XCHG
-            26x1....256 STU
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            26x1....1 STI
-            18x1....s0 s1 XCHG
-            18x1....s0 s1 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....NEWC
-            18x1....ROT
-            18x1....s0 s1 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            518x1....ENDC
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            x1..}>
-            x1..?fun_ref_910ec180e80dbec2 PROCREF:<{
-            26x1....100 PUSHINT
-            x1..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x8..?fun_ref_fbe02d46bdfe17e8 PROCREF:<{
-            26x8....c4 PUSH
-            118x8....CTOS
-            18x8....LDREF
-            18x8....s0 s1 XCHG
-            30x8....3 SETGLOBVAR
-            26x8....1 LDI
-            18x8....s0 s1 XCHG
-            18x8....<{
-            34x7......257 PUSHINT
-            26x7......LDIX
-            18x7......s0 s1 XCHG
-            18x7......s1 POP
-            18x8....}> PUSHCONT
-            18x8....IFJMP
-            18x1....s0 POP
-            26x1....MYADDR
-            34x1....11 PLDU
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....137 THROWIFNOT
-            126x1....?fun_ref_910ec180e80dbec2 INLINECALLDICT
-            x8..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/bounced-routing_SampleContract.code.fc b/src/test/features/output/bounced-routing_SampleContract.code.fc deleted file mode 100644 index 895bab87b..000000000 --- a/src/test/features/output/bounced-routing_SampleContract.code.fc +++ /dev/null @@ -1,264 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "bounced-routing_SampleContract.headers.fc"; -#include "bounced-routing_SampleContract.stdlib.fc"; -#include "bounced-routing_SampleContract.constants.fc"; -#include "bounced-routing_SampleContract.storage.fc"; - -;; -;; Contract SampleContract functions -;; - -(int) $SampleContract$_contract_init() impure inline_ref { - var (($self'a)) = (null()); - $self'a = 100; - return ($self'a); -} - -((int), int) $SampleContract$_fun_amount((int) $self) impure inline_ref { - var (($self'a)) = $self; - return (($self'a), $self'a); -} - -;; -;; Receivers of a Contract SampleContract -;; - -(((int)), ()) %$SampleContract$_internal_empty((int) $self) impure inline { - var ($self'a) = $self; - return (($self'a), ()); -} - -(((int)), ()) $SampleContract$_internal_binary_EntryFirst((int) $self, (int, slice) $msg) impure inline { - var ($self'a) = $self; - var ($msg'amountToAdd, $msg'toAddress) = $msg; - $self'a = ($self'a - $msg'amountToAdd); - $global_send($SendParameters$_constructor_to_value_mode_bounce_body($msg'toAddress, 1000000000, 2, true, $First$_store_cell($First$_constructor_amount_myCoins_myBool3_anAddress($msg'amountToAdd, 3, false, __tact_context_get_sender())))); - return (($self'a), ()); -} - -(((int)), ()) $SampleContract$_internal_binary_EntrySecond((int) $self, (int, slice) $msg) impure inline { - var ($self'a) = $self; - var ($msg'amountToAdd, $msg'toAddress) = $msg; - $self'a = ($self'a - $msg'amountToAdd); - $global_send($SendParameters$_constructor_to_value_mode_bounce_body($msg'toAddress, 1000000000, 2, true, $Second$_store_cell($Second$_constructor_amount_bigger_myBool_thisDoesNotFit_myAddress_myBool2_myStruct_myStruct2($msg'amountToAdd, false, 1, __tact_context_get_sender(), false, $MyStruct$_constructor_amount(1), $MyStruct$_constructor_amount(2))))); - return (($self'a), ()); -} - -(((int)), ()) $SampleContract$_internal_binary_First((int) $self, (int, int, int, slice) $msg) impure inline { - var ($self'a) = $self; - var ($msg'amount, $msg'myCoins, $msg'myBool3, $msg'anAddress) = $msg; - var ($x'amount, $x'myCoins, $x'myBool3, $x'anAddress) = ($msg'amount, $msg'myCoins, $msg'myBool3, $msg'anAddress); - return (($self'a), ()); -} - -(((int)), ()) $SampleContract$_internal_binary_Second((int) $self, (int, int, int, slice, int, (int), (int)) $msg) impure inline { - var ($self'a) = $self; - var ($msg'amount_bigger, $msg'myBool, $msg'thisDoesNotFit, $msg'myAddress, $msg'myBool2, ($msg'myStruct'amount), ($msg'myStruct2'amount)) = $msg; - return (($self'a), ()); -} - -((int), ()) $SampleContract$_internal_text_cdd0f5966a37922238a6954ee918a162cc590409ef65f094cee81e9d0bc52bb4((int) $self) impure inline { - var ($self'a) = $self; - return (($self'a), ()); -} - -((int), ()) $SampleContract$_receive_bounce((int) $self, slice $msg) impure inline { - var ($self'a) = $self; - __tact_debug_str(__gen_slice_string_e00443a4d0500a8f08cfafd55e0ef63f7446ab298ff5fa2e86e8c14fb1c93308()); - int $y = $msg~load_uint(32); - $self'a = 77; - return (($self'a), ()); -} - -(((int)), ()) $SampleContract$_receive_binary_bounce_First((int) $self, (int, int, int) $msg) impure inline { - var ($self'a) = $self; - var ($msg'amount, $msg'myCoins, $msg'myBool3) = $msg; - __tact_debug_str(__gen_slice_string_243957683affad975f13b5d1da712eeeb40eaaafd138959df55425441c233292()); - int $y = $msg'myBool3; - $self'a = (($self'a + $msg'amount) - 2); - (int, int, int) $z = ($msg'amount, $msg'myCoins, $msg'myBool3); - return (($self'a), ()); -} - -(((int)), ()) $SampleContract$_receive_binary_bounce_Second((int) $self, (int, int) $msg) impure inline { - var ($self'a) = $self; - var ($msg'amount_bigger, $msg'myBool) = $msg; - __tact_debug_str(__gen_slice_string_5060db2d197fc52630815539c065a7d8c266f871c8b16b933b89d4fe90a72fae()); - $self'a = (($self'a + $msg'amount_bigger) - 4); - return (($self'a), ()); -} - -(((int)), ()) $SampleContract$_receive_binary_bounce_SmallBounce((int) $self, (int, int) $msg) impure inline { - var ($self'a) = $self; - var ($msg'amount, $msg'myBool3) = $msg; - __tact_debug_str(__gen_slice_string_f115c865d815c88dfb8375de4bb989003f2730d837bf69e92fac8747a1cdcb3f()); - $self'a = (($self'a + $msg'amount) - 4); - return (($self'a), ()); -} - -(((int)), ()) $SampleContract$_receive_binary_bounce_Large((int) $self, tuple $msg) impure inline { - var ($self'a) = $self; - var $msg = $msg; - __tact_debug_str(__gen_slice_string_072acac8f7f333d9554b76e61e6f7a869815335882336469afd2cfdcdb31e988()); - return (($self'a), ()); -} - -;; -;; Get methods of a Contract SampleContract -;; - -_ %amount() method_id(101100) { - var self = $SampleContract$_contract_load(); - var res = self~$SampleContract$_fun_amount(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmbyKdmUn91HMnFzbpndVC9nhM3FkVTR6bKfnRftvHW7Nb"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract SampleContract -;; - -((int), int) $SampleContract$_contract_router_internal((int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - - ;; Skip 0xFFFFFFFF - in_msg~skip_bits(32); - - ;; Parse op - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - ;; Bounced handler for First message - if (op == 3200290616) { - var msg = in_msg~$First$_load_bounced(); - self~$SampleContract$_receive_binary_bounce_First(msg); - return (self, true); - } - - ;; Bounced handler for Second message - if (op == 391585480) { - var msg = in_msg~$Second$_load_bounced(); - self~$SampleContract$_receive_binary_bounce_Second(msg); - return (self, true); - } - - ;; Bounced handler for SmallBounce message - if (op == 3235833558) { - var msg = in_msg~$SmallBounce$_load(); - self~$SampleContract$_receive_binary_bounce_SmallBounce(msg); - return (self, true); - } - - ;; Bounced handler for Large message - if (op == 618480963) { - var msg = in_msg~$Large$_load_bounced(); - self~$SampleContract$_receive_binary_bounce_Large(msg); - return (self, true); - } - - ;; Fallback bounce receiver - self~$SampleContract$_receive_bounce(in_msg); - - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$SampleContract$_internal_empty(); - return (self, true); - } - - ;; Receive EntryFirst message - if (op == 2757457064) { - var msg = in_msg~$EntryFirst$_load(); - self~$SampleContract$_internal_binary_EntryFirst(msg); - return (self, true); - } - - ;; Receive EntrySecond message - if (op == 4282440720) { - var msg = in_msg~$EntrySecond$_load(); - self~$SampleContract$_internal_binary_EntrySecond(msg); - return (self, true); - } - - ;; Receive First message - if (op == 3200290616) { - var msg = in_msg~$First$_load(); - self~$SampleContract$_internal_binary_First(msg); - return (self, true); - } - - ;; Receive Second message - if (op == 391585480) { - var msg = in_msg~$Second$_load(); - self~$SampleContract$_internal_binary_Second(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Increment" message - if (text_op == 0xcdd0f5966a37922238a6954ee918a162cc590409ef65f094cee81e9d0bc52bb4) { - self~$SampleContract$_internal_text_cdd0f5966a37922238a6954ee918a162cc590409ef65f094cee81e9d0bc52bb4(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $SampleContract$_contract_load(); - - ;; Handle operation - int handled = self~$SampleContract$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $SampleContract$_contract_store(self); -} diff --git a/src/test/features/output/bounced-routing_SampleContract.code.fif b/src/test/features/output/bounced-routing_SampleContract.code.fif deleted file mode 100644 index c0a5d2ed4..000000000 --- a/src/test/features/output/bounced-routing_SampleContract.code.fif +++ /dev/null @@ -1,674 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_not_null - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC $EntryFirst$_load - DECLPROC $EntrySecond$_load - DECLPROC $First$_store - DECLPROC $First$_store_cell - DECLPROC $First$_load - DECLPROC $First$_load_bounced - DECLPROC $MyStruct$_store - DECLPROC $MyStruct$_load - DECLPROC $Second$_store - DECLPROC $Second$_store_cell - DECLPROC $Second$_load - DECLPROC $Second$_load_bounced - DECLPROC $Large$_load_bounced - DECLPROC $SmallBounce$_load - DECLPROC $SampleContract$_store - DECLPROC $SampleContract$_load - DECLPROC $SampleContract$_contract_init - DECLPROC $SampleContract$_contract_load - DECLPROC $SampleContract$_contract_store - DECLPROC $global_send - DECLPROC $SampleContract$_fun_amount - DECLPROC $SendParameters$_constructor_to_value_mode_bounce_body - DECLPROC $First$_constructor_amount_myCoins_myBool3_anAddress - DECLPROC $Second$_constructor_amount_bigger_myBool_thisDoesNotFit_myAddress_myBool2_myStruct_myStruct2 - DECLPROC $MyStruct$_constructor_amount - DECLPROC %$SampleContract$_internal_empty - DECLPROC $SampleContract$_internal_binary_EntryFirst - DECLPROC $SampleContract$_internal_binary_EntrySecond - DECLPROC $SampleContract$_internal_binary_First - DECLPROC $SampleContract$_internal_binary_Second - DECLPROC $SampleContract$_internal_text_cdd0f5966a37922238a6954ee918a162cc590409ef65f094cee81e9d0bc52bb4 - DECLPROC $SampleContract$_receive_bounce - DECLPROC $SampleContract$_receive_binary_bounce_First - DECLPROC $SampleContract$_receive_binary_bounce_Second - DECLPROC $SampleContract$_receive_binary_bounce_SmallBounce - DECLPROC $SampleContract$_receive_binary_bounce_Large - 101100 DECLMETHOD %amount - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $SampleContract$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - $EntryFirst$_load PROCINLINE:<{ - 32 LDU - SWAP - 2757457064 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - __tact_load_address INLINECALLDICT - s1 s2 XCHG - }> - $EntrySecond$_load PROCINLINE:<{ - 32 LDU - SWAP - 4282440720 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - __tact_load_address INLINECALLDICT - s1 s2 XCHG - }> - $First$_store PROCINLINE:<{ - 3200290616 PUSHINT - s0 s5 XCHG2 - 32 STU - s1 s3 XCHG - 32 STU - SWAP - STGRAMS - 1 STI - SWAP - __tact_store_address INLINECALLDICT - }> - $First$_store_cell PROCINLINE:<{ - NEWC - 4 -ROLL - $First$_store INLINECALLDICT - ENDC - }> - $First$_load PROCINLINE:<{ - 32 LDU - SWAP - 3200290616 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - LDGRAMS - 1 LDI - __tact_load_address INLINECALLDICT - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - $First$_load_bounced PROCINLINE:<{ - 32 LDU - SWAP - 3200290616 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - LDGRAMS - 1 LDI - 3 -ROLL - }> - $MyStruct$_store PROCINLINE:<{ - SWAP - 257 PUSHINT - STIX - }> - $MyStruct$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - SWAP - }> - $Second$_store PROCREF:<{ - 391585480 PUSHINT - s0 s8 XCHG2 - 32 STU - s1 s6 XCHG - 64 STU - s1 s4 XCHG - 1 STI - s1 s2 XCHG - 256 STU - SWAP - __tact_store_address INLINECALLDICT - 1 STI - SWAP - $MyStruct$_store INLINECALLDICT - NEWC - ROT - $MyStruct$_store INLINECALLDICT - ENDC - SWAP - STREF - }> - $Second$_store_cell PROCINLINE:<{ - NEWC - 7 -ROLL - $Second$_store INLINECALLDICT - ENDC - }> - $Second$_load PROCREF:<{ - 32 LDU - SWAP - 391585480 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - 1 LDI - 256 LDU - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - $MyStruct$_load INLINECALLDICT - SWAP - LDREF - SWAP - CTOS - $MyStruct$_load INLINECALLDICT - NIP - s1 s7 XCHG - s1 s6 XCHG - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - $Second$_load_bounced PROCINLINE:<{ - 32 LDU - SWAP - 391585480 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - 1 LDI - -ROT - }> - $Large$_load_bounced PROCINLINE:<{ - 32 LDU - SWAP - 618480963 PUSHINT - EQUAL - 129 THROWIFNOT - PUSHNULL - }> - $SmallBounce$_load PROCINLINE:<{ - 32 LDU - SWAP - 3235833558 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - 1 LDI - -ROT - }> - $SampleContract$_store PROCINLINE:<{ - SWAP - 257 PUSHINT - STIX - }> - $SampleContract$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - SWAP - }> - $SampleContract$_contract_init PROCREF:<{ - 100 PUSHINT - }> - $SampleContract$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $SampleContract$_load INLINECALLDICT - NIP - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $SampleContract$_contract_init INLINECALLDICT - }> - $SampleContract$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - SWAP - $SampleContract$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $SampleContract$_fun_amount PROCREF:<{ - DUP - }> - $SendParameters$_constructor_to_value_mode_bounce_body PROCINLINE:<{ - s1 s4 XCHG - s3 s3 s0 XCHG3 - PUSHNULL - PUSHNULL - }> - $First$_constructor_amount_myCoins_myBool3_anAddress PROCINLINE:<{ - }> - $Second$_constructor_amount_bigger_myBool_thisDoesNotFit_myAddress_myBool2_myStruct_myStruct2 PROCINLINE:<{ - }> - $MyStruct$_constructor_amount PROCINLINE:<{ - }> - %$SampleContract$_internal_empty PROCINLINE:<{ - }> - $SampleContract$_internal_binary_EntryFirst PROCINLINE:<{ - s2 s1 XCPU - SUB - 1000000000 PUSHINT - 2 PUSHINT - TRUE - 3 PUSHINT - FALSE - __tact_context_get_sender INLINECALLDICT - s3 s7 XCHG - $First$_constructor_amount_myCoins_myBool3_anAddress INLINECALLDICT - $First$_store_cell INLINECALLDICT - s4 s5 XCHG - s1 s3 s0 XCHG3 - s1 s5 XCHG - $SendParameters$_constructor_to_value_mode_bounce_body INLINECALLDICT - $global_send INLINECALLDICT - }> - $SampleContract$_internal_binary_EntrySecond PROCINLINE:<{ - s2 s1 XCPU - SUB - 1000000000 PUSHINT - 2 PUSHINT - TRUE - FALSE - 1 PUSHINT - __tact_context_get_sender INLINECALLDICT - FALSE - s2 PUSH - $MyStruct$_constructor_amount INLINECALLDICT - s6 PUSH - $MyStruct$_constructor_amount INLINECALLDICT - s6 s10 XCHG - $Second$_constructor_amount_bigger_myBool_thisDoesNotFit_myAddress_myBool2_myStruct_myStruct2 INLINECALLDICT - $Second$_store_cell INLINECALLDICT - s4 s5 XCHG - s1 s3 s0 XCHG3 - s1 s5 XCHG - $SendParameters$_constructor_to_value_mode_bounce_body INLINECALLDICT - $global_send INLINECALLDICT - }> - $SampleContract$_internal_binary_First PROCINLINE:<{ - 4 BLKDROP - }> - $SampleContract$_internal_binary_Second PROCINLINE:<{ - 7 BLKDROP - }> - $SampleContract$_internal_text_cdd0f5966a37922238a6954ee918a162cc590409ef65f094cee81e9d0bc52bb4 PROCINLINE:<{ - }> - $SampleContract$_receive_bounce PROCINLINE:<{ - 2DROP - B{b5ee9c72410101010013000022496e2067656e6572696320626f756e63659b8e2ac3} B>boc - $SampleContract$_receive_binary_bounce_First PROCINLINE:<{ - 2DROP - B{b5ee9c72410101010014000024496e20626f756e6365206f66206669727374a88de4c0} B>boc - $SampleContract$_receive_binary_bounce_Second PROCINLINE:<{ - DROP - B{b5ee9c72410101010015000026496e20626f756e6365206f66207365636f6e64fc665418} B>boc - $SampleContract$_receive_binary_bounce_SmallBounce PROCINLINE:<{ - DROP - B{b5ee9c7241010101001b000032496e20626f756e6365206f6620736d616c6c20626f756e636520771682} B>boc - $SampleContract$_receive_binary_bounce_Large PROCINLINE:<{ - DROP - B{b5ee9c7241010101001b000032496e20626f756e6365206f66206c6172676520626f756e6365b9a85106} B>boc - %amount PROC:<{ - $SampleContract$_contract_load INLINECALLDICT - $SampleContract$_fun_amount INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d62794b646d556e3931484d6e467a62706e645643396e684d33466b56545236624b666e526674764857374e62} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $SampleContract$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - 32 PUSHINT - SDSKIPFIRST - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 3200290616 PUSHINT - EQUAL - IFJMP:<{ - DROP - $First$_load_bounced INLINECALLDICT - 1 3 BLKDROP2 - $SampleContract$_receive_binary_bounce_First INLINECALLDICT - TRUE - }> - DUP - 391585480 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Second$_load_bounced INLINECALLDICT - 1 2 BLKDROP2 - $SampleContract$_receive_binary_bounce_Second INLINECALLDICT - TRUE - }> - DUP - 3235833558 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SmallBounce$_load INLINECALLDICT - 1 2 BLKDROP2 - $SampleContract$_receive_binary_bounce_SmallBounce INLINECALLDICT - TRUE - }> - 618480963 PUSHINT - EQUAL - IFJMP:<{ - $Large$_load_bounced INLINECALLDICT - NIP - $SampleContract$_receive_binary_bounce_Large INLINECALLDICT - TRUE - }> - $SampleContract$_receive_bounce INLINECALLDICT - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - IFJMP:<{ - 2DROP - %$SampleContract$_internal_empty INLINECALLDICT - TRUE - }> - DUP - 2757457064 PUSHINT - EQUAL - IFJMP:<{ - DROP - $EntryFirst$_load INLINECALLDICT - 1 2 BLKDROP2 - $SampleContract$_internal_binary_EntryFirst INLINECALLDICT - TRUE - }> - DUP - 4282440720 PUSHINT - EQUAL - IFJMP:<{ - DROP - $EntrySecond$_load INLINECALLDICT - 1 2 BLKDROP2 - $SampleContract$_internal_binary_EntrySecond INLINECALLDICT - TRUE - }> - DUP - 3200290616 PUSHINT - EQUAL - IFJMP:<{ - DROP - $First$_load INLINECALLDICT - 1 4 BLKDROP2 - $SampleContract$_internal_binary_First INLINECALLDICT - TRUE - }> - DUP - 391585480 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Second$_load INLINECALLDICT - 1 7 BLKDROP2 - $SampleContract$_internal_binary_Second INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - 93093333132076440750103890131866374745660412111105226855661378207494015626164 PUSHINT - EQUAL - IFJMP:<{ - $SampleContract$_internal_text_cdd0f5966a37922238a6954ee918a162cc590409ef65f094cee81e9d0bc52bb4 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $SampleContract$_contract_load INLINECALLDICT - -ROT - $SampleContract$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $SampleContract$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/bounced-routing_SampleContract.code.rev.fif b/src/test/features/output/bounced-routing_SampleContract.code.rev.fif deleted file mode 100644 index e0bc733cd..000000000 --- a/src/test/features/output/bounced-routing_SampleContract.code.rev.fif +++ /dev/null @@ -1,666 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_101100; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_320ae1effb6175d4; - DECLPROC ?fun_ref_40d98146a47dbe3b; - DECLPROC ?fun_ref_886b033c776b627e; - DECLPROC ?fun_ref_8e3c641d5653715d; - DECLPROC ?fun_ref_910ec180e80dbec2; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_fbe02d46bdfe17e8; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_fbe02d46bdfe17e8 INLINECALLDICT - ROTREV - ?fun_ref_886b033c776b627e INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 s1 XCHG - 257 PUSHINT - STIX - ENDC - c4 POP - }> - ?fun_101100 PROC:<{ - ?fun_ref_fbe02d46bdfe17e8 INLINECALLDICT - ?fun_ref_40d98146a47dbe3b INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D62794B646D556E3931484D6E467A62706E645643396E684D33466B56545236624B666E526674764857374E6282_} PUSHSLICE - }> - ?fun_ref_320ae1effb6175d4 PROCREF:<{ - 32 LDU - s0 s1 XCHG - 391585480 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - 1 LDI - 256 LDU - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - 257 PUSHINT - LDIX - s0 s1 XCHG - s0 s1 XCHG - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - s1 s7 XCHG - s1 s6 XCHG - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - ?fun_ref_40d98146a47dbe3b PROCREF:<{ - s0 PUSH - }> - ?fun_ref_886b033c776b627e PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - 32 PUSHINT - SDSKIPFIRST - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 3200290616 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 3200290616 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - LDGRAMS - 1 LDI - 3 1 BLKSWAP - 1 3 BLKDROP2 - DROP2 - x{496E20626F756E6365206F6620666972737482_} PUSHSLICE - STRDUMP - s0 POP - TUCK - ADD - s1 POP - -2 ADD - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 391585480 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 391585480 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - 1 LDI - ROTREV - 1 2 BLKDROP2 - s0 POP - x{496E20626F756E6365206F66207365636F6E6482_} PUSHSLICE - STRDUMP - s0 POP - ADD - -4 ADD - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 3235833558 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 3235833558 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - 1 LDI - ROTREV - 1 2 BLKDROP2 - s0 POP - x{496E20626F756E6365206F6620736D616C6C20626F756E636582_} PUSHSLICE - STRDUMP - s0 POP - ADD - -4 ADD - -1 PUSHINT - }> IFJMPREF - 618480963 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 618480963 PUSHINT - EQUAL - 129 THROWIFNOT - NULL - s1 POP - s0 POP - x{496E20626F756E6365206F66206C6172676520626F756E636582_} PUSHSLICE - STRDUMP - s0 POP - -1 PUSHINT - }> IFJMPREF - DROP2 - x{496E2067656E6572696320626F756E636582_} PUSHSLICE - STRDUMP - s0 POP - 77 PUSHINT - -1 PUSHINT - }> IFJMPREF - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 2757457064 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2757457064 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 s2 XCHG - 1 2 BLKDROP2 - s2 s1 XCPU - SUB - 1000000000 PUSHINT - 2 PUSHINT - -1 PUSHINT - 3 PUSHINT - 0 PUSHINT - 2 GETGLOBVAR - s3 s7 XCHG - NEWC - 4 1 BLKSWAP - 3200290616 PUSHINT - s0 s5 XCHG2 - 32 STU - s1 s3 XCHG - 32 STU - s0 s1 XCHG - STGRAMS - 1 STI - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - s4 s5 XCHG - s1 s3 s0 XCHG3 - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 4282440720 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 4282440720 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 s2 XCHG - 1 2 BLKDROP2 - s2 s1 XCPU - SUB - 1000000000 PUSHINT - 2 PUSHINT - -1 PUSHINT - 0 PUSHINT - 1 PUSHINT - 2 GETGLOBVAR - 0 PUSHINT - s2 PUSH - s6 PUSH - s6 s10 XCHG - NEWC - 7 1 BLKSWAP - ?fun_ref_8e3c641d5653715d INLINECALLDICT - ENDC - s4 s5 XCHG - s1 s3 s0 XCHG3 - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - NULL - NULL - ?fun_ref_b93b9862cda1783c INLINECALLDICT - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 3200290616 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 3200290616 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - LDGRAMS - 1 LDI - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 s4 XCHG - s3 s3 s0 XCHG3 - 1 4 BLKDROP2 - 4 BLKDROP - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 391585480 PUSHINT - EQUAL - <{ - s0 POP - ?fun_ref_320ae1effb6175d4 INLINECALLDICT - 1 7 BLKDROP2 - 7 BLKDROP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 EQINT - <{ - s0 POP - }> PUSHCONT - <{ - HASHSU - 93093333132076440750103890131866374745660412111105226855661378207494015626164 PUSHINT - EQUAL - <{ - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> IFREFELSE - 0 PUSHINT - }> - ?fun_ref_8e3c641d5653715d PROCREF:<{ - 391585480 PUSHINT - s0 s8 XCHG2 - 32 STU - s1 s6 XCHG - 64 STU - s1 s4 XCHG - 1 STI - s1 s2 XCHG - 256 STU - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - 1 STI - s0 s1 XCHG - s0 s1 XCHG - 257 PUSHINT - STIX - NEWC - ROT - s0 s1 XCHG - 257 PUSHINT - STIX - ENDC - s0 s1 XCHG - STREF - }> - ?fun_ref_910ec180e80dbec2 PROCREF:<{ - 100 PUSHINT - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_fbe02d46bdfe17e8 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - }> PUSHCONT - IFJMP - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_910ec180e80dbec2 INLINECALLDICT - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/bounced-routing_SampleContract.constants.fc b/src/test/features/output/bounced-routing_SampleContract.constants.fc deleted file mode 100644 index 3c4bf2bdb..000000000 --- a/src/test/features/output/bounced-routing_SampleContract.constants.fc +++ /dev/null @@ -1,14 +0,0 @@ -;; String "In generic bounce" -slice __gen_slice_string_e00443a4d0500a8f08cfafd55e0ef63f7446ab298ff5fa2e86e8c14fb1c93308() asm "B{b5ee9c72410101010013000022496e2067656e6572696320626f756e63659b8e2ac3} B>boc boc boc boc boc X __tact_not_null(X x) inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; $EntryFirst$_load -(slice, ((int, slice))) $EntryFirst$_load(slice sc_0) inline; - -;; $EntrySecond$_load -(slice, ((int, slice))) $EntrySecond$_load(slice sc_0) inline; - -;; $First$_store -builder $First$_store(builder build_0, (int, int, int, slice) v) inline; - -;; $First$_store_cell -cell $First$_store_cell((int, int, int, slice) v) inline; - -;; $First$_load -(slice, ((int, int, int, slice))) $First$_load(slice sc_0) inline; - -;; $First$_load_bounced -(slice, ((int, int, int))) $First$_load_bounced(slice sc_0) inline; - -;; $MyStruct$_store -builder $MyStruct$_store(builder build_0, (int) v) inline; - -;; $MyStruct$_load -(slice, ((int))) $MyStruct$_load(slice sc_0) inline; - -;; $Second$_store -builder $Second$_store(builder build_0, (int, int, int, slice, int, (int), (int)) v) inline_ref; - -;; $Second$_store_cell -cell $Second$_store_cell((int, int, int, slice, int, (int), (int)) v) inline; - -;; $Second$_load -(slice, ((int, int, int, slice, int, (int), (int)))) $Second$_load(slice sc_0) inline_ref; - -;; $Second$_load_bounced -(slice, ((int, int))) $Second$_load_bounced(slice sc_0) inline; - -;; $Large$_load_bounced -(slice, (tuple)) $Large$_load_bounced(slice sc_0) inline; - -;; $SmallBounce$_load -(slice, ((int, int))) $SmallBounce$_load(slice sc_0) inline; - -;; $SampleContract$_store -builder $SampleContract$_store(builder build_0, (int) v) inline; - -;; $SampleContract$_load -(slice, ((int))) $SampleContract$_load(slice sc_0) inline; - -;; $SampleContract$_contract_init -(int) $SampleContract$_contract_init() impure inline_ref; - -;; $SampleContract$_contract_load -(int) $SampleContract$_contract_load() impure inline_ref; - -;; $SampleContract$_contract_store -() $SampleContract$_contract_store((int) v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $SampleContract$_fun_amount -((int), int) $SampleContract$_fun_amount((int) $self) impure inline_ref; - -;; $SendParameters$_constructor_to_value_mode_bounce_body -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_mode_bounce_body(slice to, int value, int mode, int bounce, cell body) inline; - -;; $First$_constructor_amount_myCoins_myBool3_anAddress -((int, int, int, slice)) $First$_constructor_amount_myCoins_myBool3_anAddress(int amount, int myCoins, int myBool3, slice anAddress) inline; - -;; $Second$_constructor_amount_bigger_myBool_thisDoesNotFit_myAddress_myBool2_myStruct_myStruct2 -((int, int, int, slice, int, (int), (int))) $Second$_constructor_amount_bigger_myBool_thisDoesNotFit_myAddress_myBool2_myStruct_myStruct2(int amount_bigger, int myBool, int thisDoesNotFit, slice myAddress, int myBool2, (int) myStruct, (int) myStruct2) inline; - -;; $MyStruct$_constructor_amount -((int)) $MyStruct$_constructor_amount(int amount) inline; diff --git a/src/test/features/output/bounced-routing_SampleContract.md b/src/test/features/output/bounced-routing_SampleContract.md deleted file mode 100644 index d4eeb2317..000000000 --- a/src/test/features/output/bounced-routing_SampleContract.md +++ /dev/null @@ -1,77 +0,0 @@ -# TACT Compilation Report -Contract: SampleContract -BOC Size: 1424 bytes - -# Types -Total Types: 10 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## EntryFirst -TLB: `entry_first#a45b74a8 amountToAdd:uint32 toAddress:address = EntryFirst` -Signature: `EntryFirst{amountToAdd:uint32,toAddress:address}` - -## EntrySecond -TLB: `entry_second#ff40dc10 amountToAdd:uint32 toAddress:address = EntrySecond` -Signature: `EntrySecond{amountToAdd:uint32,toAddress:address}` - -## First -TLB: `first#bec08f38 amount:uint32 myCoins:coins myBool3:bool anAddress:address = First` -Signature: `First{amount:uint32,myCoins:coins,myBool3:bool,anAddress:address}` - -## Second -TLB: `second#17571ec8 amount_bigger:uint64 myBool:bool thisDoesNotFit:uint256 myAddress:address myBool2:bool myStruct:MyStruct{amount:int257} myStruct2:MyStruct{amount:int257} = Second` -Signature: `Second{amount_bigger:uint64,myBool:bool,thisDoesNotFit:uint256,myAddress:address,myBool2:bool,myStruct:MyStruct{amount:int257},myStruct2:MyStruct{amount:int257}}` - -## Large -TLB: `large#24dd4543 address:address value:coins = Large` -Signature: `Large{address:address,value:coins}` - -## SmallBounce -TLB: `small_bounce#c0dee6d6 amount:uint32 myBool3:bool = SmallBounce` -Signature: `SmallBounce{amount:uint32,myBool3:bool}` - -## MyStruct -TLB: `_ amount:int257 = MyStruct` -Signature: `MyStruct{amount:int257}` - -# Get Methods -Total Get Methods: 1 - -## amount - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/bounced-routing_SampleContract.pkg b/src/test/features/output/bounced-routing_SampleContract.pkg deleted file mode 100644 index 7c92a3ae7..000000000 --- a/src/test/features/output/bounced-routing_SampleContract.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"SampleContract","code":"te6ccgECGwEABYQAART/APSkE/S88sgLAQIBYgIDAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UFgQCAVgSEwTg7aLt+wHjAnAh10nCH5UwINcLH94gwAAi10nBIbCSW3/gIIIQpFt0qLqOsjDTHwGCEKRbdKi68uCB0x/6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIEmwS4CCCEP9A3BC64wIgghC+wI84ugUGBwgE4IAg1yFwIddJwh+VMCDXCx/eIIIQvsCPOLqONzDTHwGCEL7Ajzi68uCB0x/6ANIAVSBsE1uNBJJbiBib3VuY2Ugb2YgZmlyc3SD+FDBmoDGm/n/gIIIQF1ceyLrjAiCCEMDe5ta64wKCECTdRUO64wIJCgsMAaZRIaGCEDuaygByf3Nw+EIQN8hVMIIQvsCPOFAFyx8Tyx8B+gLKAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJEEVBMBUUQzBtbds8fw4CsjDTHwGCEP9A3BC68uCB0x/6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIEmwSUSGhghA7msoAcn9wcfhCcCImEGrIVWDbPMkQRUEwFRRDMG1t2zx/DQ4CsI47MNMfAYIQvsCPOLry4IHTH/oA0gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIFEMwbBRfBH/gIIIQF1ceyLqOiDDbPGwXXwd/4MAAkTDjDXAQEQBmMNMfAYIQF1ceyLry4IHTP9IAWWwSMI0E0luIGJvdW5jZSBvZiBzZWNvbmSD+FDCgpvx/AHIw0x8BghDA3ubWuvLggdMf0gBZbBIwjQZSW4gYm91bmNlIG9mIHNtYWxsIGJvdW5jZYP4UMKCm/H8AYNMfAYIQJN1FQ7ry4IFtMTCNBlJbiBib3VuY2Ugb2YgbGFyZ2UgYm91bmNlg/hQwfwA2W40EUluIGdlbmVyaWMgYm91bmNlg/hQwgE1/AIyCEBdXHshQCMsfFss/FMoAEsv/ASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsoAAQGBAQHPAMhYAYEBAc8AyQHMAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AA8AmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAmNMfAYIQF1ceyLry4IHTP9IA0//6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAgQEB1wABAdQB0IEBAdcAATEXFhUUQzAAVPkBgvDN0PWWajeSIjimlU7pGKFizFkECe9l8JTO6B6dC8UrtLqTf9sx4AIBIBQVAgFIGRoCD7Vdm2ebZ4YwFhcAubd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4TsunLVmnZbmdB0s2yjN0UkAFC7UTQ1AH4Y9IAAZeBAQHXAAEx4DD4KNcLCoMJuvLgids8GAACIAAEgGQAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtYnlLZG1VbjkxSE1uRnpicG5kVkM5bmhNM0ZrVlRSNmJLZm5SZnR2SFc3TmKCA=","abi":"{\"name\":\"SampleContract\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"EntryFirst\",\"header\":2757457064,\"fields\":[{\"name\":\"amountToAdd\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":32}},{\"name\":\"toAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"EntrySecond\",\"header\":4282440720,\"fields\":[{\"name\":\"amountToAdd\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":32}},{\"name\":\"toAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"First\",\"header\":3200290616,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":32}},{\"name\":\"myCoins\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}},{\"name\":\"myBool3\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"anAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"Second\",\"header\":391585480,\"fields\":[{\"name\":\"amount_bigger\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"myBool\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"thisDoesNotFit\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":256}},{\"name\":\"myAddress\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"myBool2\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"myStruct\",\"type\":{\"kind\":\"simple\",\"type\":\"MyStruct\",\"optional\":false}},{\"name\":\"myStruct2\",\"type\":{\"kind\":\"simple\",\"type\":\"MyStruct\",\"optional\":false}}]},{\"name\":\"Large\",\"header\":618480963,\"fields\":[{\"name\":\"address\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":\"coins\"}}]},{\"name\":\"SmallBounce\",\"header\":3235833558,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":32}},{\"name\":\"myBool3\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}}]},{\"name\":\"MyStruct\",\"header\":null,\"fields\":[{\"name\":\"amount\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"EntryFirst\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"EntrySecond\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"First\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Second\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Increment\"}}],\"getters\":[{\"name\":\"amount\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECHQEABY4AAQHAAQEFoIcVAgEU/wD0pBP0vPLICwMCAWIMBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbWJ5S2RtVW45MUhNbkZ6YnBuZFZDOW5oTTNGa1ZUUjZiS2ZuUmZ0dkhXN05iggABGwr7tRNDSAAGACASAKCQC5t3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAg+1XZtnm2eGMBsLAAIgAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UGw0E4O2i7fsB4wJwIddJwh+VMCDXCx/eIMAAItdJwSGwklt/4CCCEKRbdKi6jrIw0x8BghCkW3SouvLggdMf+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBJsEuAgghD/QNwQuuMCIIIQvsCPOLoWExEOArCOOzDTHwGCEL7Ajzi68uCB0x/6ANIA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBRDMGwUXwR/4CCCEBdXHsi6jogw2zxsF18Hf+DAAJEw4w1wEA8AVPkBgvDN0PWWajeSIjimlU7pGKFizFkECe9l8JTO6B6dC8UrtLqTf9sx4ACY0x8BghAXVx7IuvLggdM/0gDT//pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gCBAQHXAAEB1AHQgQEB1wABMRcWFRRDMAKyMNMfAYIQ/0DcELry4IHTH/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSbBJRIaGCEDuaygByf3Bx+EJwIiYQashVYNs8yRBFQTAVFEMwbW3bPH8SFACMghAXVx7IUAjLHxbLPxTKABLL/wEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbKAAEBgQEBzwDIWAGBAQHPAMkBzAGmUSGhghA7msoAcn9zcPhCEDfIVTCCEL7AjzhQBcsfE8sfAfoCygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WyRBFQTAVFEMwbW3bPH8UAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABUAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwE4IAg1yFwIddJwh+VMCDXCx/eIIIQvsCPOLqONzDTHwGCEL7Ajzi68uCB0x/6ANIAVSBsE1uNBJJbiBib3VuY2Ugb2YgZmlyc3SD+FDBmoDGm/n/gIIIQF1ceyLrjAiCCEMDe5ta64wKCECTdRUO64wIaGRgXADZbjQRSW4gZ2VuZXJpYyBib3VuY2WD+FDCATX8AYNMfAYIQJN1FQ7ry4IFtMTCNBlJbiBib3VuY2Ugb2YgbGFyZ2UgYm91bmNlg/hQwfwByMNMfAYIQwN7m1rry4IHTH9IAWWwSMI0GUluIGJvdW5jZSBvZiBzbWFsbCBib3VuY2WD+FDCgpvx/AGYw0x8BghAXVx7IuvLggdM/0gBZbBIwjQTSW4gYm91bmNlIG9mIHNlY29uZIP4UMKCm/H8BQu1E0NQB+GPSAAGXgQEB1wABMeAw+CjXCwqDCbry4InbPBwABIBkxa7vVA=="}},"sources":{"src\\test\\features\\bounced-routing.tact":"bWVzc2FnZSBFbnRyeUZpcnN0IHsNCiAgICBhbW91bnRUb0FkZDogSW50IGFzIHVpbnQzMjsNCiAgICB0b0FkZHJlc3M6IEFkZHJlc3M7DQp9DQoNCm1lc3NhZ2UgRW50cnlTZWNvbmQgew0KICAgIGFtb3VudFRvQWRkOiBJbnQgYXMgdWludDMyOw0KICAgIHRvQWRkcmVzczogQWRkcmVzczsNCn0NCg0KbWVzc2FnZSBGaXJzdCB7DQogICAgYW1vdW50OiBJbnQgYXMgdWludDMyOw0KICAgIG15Q29pbnM6IEludCBhcyBjb2luczsNCiAgICBteUJvb2wzOiBCb29sOw0KICAgIGFuQWRkcmVzczogQWRkcmVzczsNCn0NCg0KbWVzc2FnZSBTZWNvbmQgew0KICAgIGFtb3VudF9iaWdnZXI6IEludCBhcyB1aW50NjQ7DQogICAgbXlCb29sOiBCb29sOw0KICAgIHRoaXNEb2VzTm90Rml0OiBJbnQgYXMgdWludDI1NjsNCiAgICBteUFkZHJlc3M6IEFkZHJlc3M7DQogICAgbXlCb29sMjogQm9vbDsNCiAgICBteVN0cnVjdDogTXlTdHJ1Y3Q7DQogICAgbXlTdHJ1Y3QyOiBNeVN0cnVjdDsNCn0NCg0KbWVzc2FnZSBMYXJnZSB7DQogICAgYWRkcmVzczogQWRkcmVzczsNCiAgICB2YWx1ZTogSW50IGFzIGNvaW5zOw0KfQ0KDQptZXNzYWdlIFNtYWxsQm91bmNlIHsNCiAgICBhbW91bnQ6IEludCBhcyB1aW50MzI7DQogICAgbXlCb29sMzogQm9vbDsNCn0NCg0Kc3RydWN0IE15U3RydWN0IHsNCiAgICBhbW91bnQ6IEludDsNCn0NCg0KY29udHJhY3QgU2FtcGxlQ29udHJhY3Qgew0KICAgIGE6IEludDsNCg0KICAgIGluaXQoKSB7DQogICAgICAgIHNlbGYuYSA9IDEwMDsNCiAgICB9DQoNCiAgICByZWNlaXZlKCkgew0KICAgICAgICAvLyBEZXBsb3kNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogRW50cnlGaXJzdCkgew0KICAgICAgICBzZWxmLmEgPSBzZWxmLmEgLSBtc2cuYW1vdW50VG9BZGQ7DQogICAgICAgIHNlbmQoU2VuZFBhcmFtZXRlcnN7DQogICAgICAgICAgICB0bzogbXNnLnRvQWRkcmVzcywNCiAgICAgICAgICAgIHZhbHVlOiB0b24oIjEiKSwgDQogICAgICAgICAgICBtb2RlOiBTZW5kSWdub3JlRXJyb3JzLCANCiAgICAgICAgICAgIGJvdW5jZTogdHJ1ZSwgDQogICAgICAgICAgICBib2R5OiBGaXJzdHthbW91bnQ6IG1zZy5hbW91bnRUb0FkZCwgbXlDb2luczogMywgbXlCb29sMzogZmFsc2UsIGFuQWRkcmVzczogc2VuZGVyKCl9LnRvQ2VsbCgpDQogICAgICAgIH0pOw0KICAgIH0NCiAgICANCiAgICByZWNlaXZlKG1zZzogRW50cnlTZWNvbmQpIHsNCiAgICAgICAgc2VsZi5hID0gc2VsZi5hIC0gbXNnLmFtb3VudFRvQWRkOw0KICAgICAgICBzZW5kKFNlbmRQYXJhbWV0ZXJzew0KICAgICAgICAgICAgdG86IG1zZy50b0FkZHJlc3MsDQogICAgICAgICAgICB2YWx1ZTogdG9uKCIxIiksIA0KICAgICAgICAgICAgbW9kZTogU2VuZElnbm9yZUVycm9ycywgDQogICAgICAgICAgICBib3VuY2U6IHRydWUsIA0KICAgICAgICAgICAgYm9keTogU2Vjb25ke2Ftb3VudF9iaWdnZXI6IG1zZy5hbW91bnRUb0FkZCwgbXlCb29sOiBmYWxzZSwgdGhpc0RvZXNOb3RGaXQ6IDEsIG15QWRkcmVzczogc2VuZGVyKCksIG15Qm9vbDI6IGZhbHNlLCBteVN0cnVjdDogTXlTdHJ1Y3R7YW1vdW50OiAxfSwgbXlTdHJ1Y3QyOiBNeVN0cnVjdHthbW91bnQ6IDJ9fS50b0NlbGwoKQ0KICAgICAgICB9KTsNCiAgICB9DQogICAgDQogICAgcmVjZWl2ZShtc2c6IEZpcnN0KSB7DQogICAgICAgIC8vIGRvIHNvbWV0aGluZyB3aXRoIHRoZSBTZWNvbmQgc3RydWN0DQogICAgICAgIGxldCB4OiBGaXJzdCA9IG1zZzsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2Vjb25kKSB7DQogICAgICAgIC8vIGRvIHNvbWV0aGluZyB3aXRoIHRoZSBTZWNvbmQgc3RydWN0DQogICAgfQ0KDQogICAgcmVjZWl2ZSgiSW5jcmVtZW50Iikgew0KICAgICAgICAvLyBzaW1wbGUgaGFuZGxlciBmb3IgYSB0ZXh0IG1lc3NhZ2UNCiAgICB9DQoNCiAgICBib3VuY2VkKG1zZzogU2xpY2UpIHsNCiAgICAgICAgZHVtcCgiSW4gZ2VuZXJpYyBib3VuY2UiKTsNCiAgICAgICAgbGV0IHk6IEludCA9IG1zZy5sb2FkVWludCgzMik7DQogICAgICAgIHNlbGYuYSA9IDc3Ow0KICAgIH0NCiAgICANCiAgICBib3VuY2VkKG1zZzogYm91bmNlZDxGaXJzdD4pIHsNCiAgICAgICAgZHVtcCgiSW4gYm91bmNlIG9mIGZpcnN0Iik7DQogICAgICAgIC8vIG9ubHkgdGhlIGZpcnN0IDIyNCBiaXRzIGFyZSBwb3B1bGF0ZWQgaW50byBhIHBhcnRpYWwgRmlyc3Qgc3RydWN0DQogICAgICAgIGxldCB5OiBCb29sID0gbXNnLm15Qm9vbDM7DQogICAgICAgIHNlbGYuYSA9IHNlbGYuYSArIG1zZy5hbW91bnQgLSAyOw0KICAgICAgICAvLyBsZXQgejogQWRkcmVzcyA9IG1zZy5hbkFkZHJlc3M7IC8vIFRoaXMgd291bGQgdGhyb3cNCiAgICAgICAgbGV0IHo6IGJvdW5jZWQ8Rmlyc3Q+ID0gbXNnOw0KICAgIH0NCiAgICANCiAgICBib3VuY2VkKG1zZzogYm91bmNlZDxTZWNvbmQ+KSB7DQogICAgICAgIGR1bXAoIkluIGJvdW5jZSBvZiBzZWNvbmQiKTsNCiAgICAgICAgc2VsZi5hID0gc2VsZi5hICsgbXNnLmFtb3VudF9iaWdnZXIgLSA0Ow0KICAgIH0NCg0KICAgIGJvdW5jZWQobXNnOiBTbWFsbEJvdW5jZSkgew0KICAgICAgICBkdW1wKCJJbiBib3VuY2Ugb2Ygc21hbGwgYm91bmNlIik7DQogICAgICAgIHNlbGYuYSA9IHNlbGYuYSArIG1zZy5hbW91bnQgLSA0Ow0KICAgIH0NCg0KICAgIGJvdW5jZWQobXNnOiBib3VuY2VkPExhcmdlPikgew0KICAgICAgICBkdW1wKCJJbiBib3VuY2Ugb2YgbGFyZ2UgYm91bmNlIik7DQogICAgfQ0KDQogICAgLy8gVGhpcyB3aWxsIGJlIHN1cHBvcnRlZCBpbiBhIGZ1dHVyZSBjb21taXQsIGFuZCB3aWxsIHRocm93IGlmIHRoZSBzdHJpbmcgZG9lcyBub3QgZml0IHdpdGhpbiBhIGJvdW5jZWQgbWVzc2FnZQ0KICAgIC8vYm91bmNlZCgiSW5jcmVtZW50Iikgew0KICAgIC8vIH0NCg0KICAgIGdldCBmdW4gYW1vdW50KCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLmE7DQogICAgfQ0KfQ0KDQpjb250cmFjdCBTYW1wbGVDb250cmFjdDIgew0KICAgIGluaXQoKSB7fQ0KDQogICAgcmVjZWl2ZSgpIHsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogRmlyc3QpIHsNCiAgICAgICAgZHVtcCgiQm91bmNpbmcgRmlyc3QhIik7DQogICAgICAgIHRocm93KDE0NCk7DQogICAgfQ0KICAgIA0KICAgIHJlY2VpdmUobXNnOiBTZWNvbmQpIHsNCiAgICAgICAgZHVtcCgiQm91bmNpbmcgU2Vjb25kISIpOw0KICAgICAgICB0aHJvdygxNDUpOw0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/bounced-routing.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/bounced-routing_SampleContract.stdlib.fc b/src/test/features/output/bounced-routing_SampleContract.stdlib.fc deleted file mode 100644 index 156be061f..000000000 --- a/src/test/features/output/bounced-routing_SampleContract.stdlib.fc +++ /dev/null @@ -1,78 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -() __tact_debug_str(slice value) impure asm "STRDUMP" "DROP"; - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} \ No newline at end of file diff --git a/src/test/features/output/bounced-routing_SampleContract.storage.fc b/src/test/features/output/bounced-routing_SampleContract.storage.fc deleted file mode 100644 index 3ea2c54c8..000000000 --- a/src/test/features/output/bounced-routing_SampleContract.storage.fc +++ /dev/null @@ -1,204 +0,0 @@ -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_to_value_mode_bounce_body(slice to, int value, int mode, int bounce, cell body) inline { - return (bounce, to, value, mode, body, null(), null()); -} - -;; -;; Type: EntryFirst -;; Header: 0xa45b74a8 -;; TLB: entry_first#a45b74a8 amountToAdd:uint32 toAddress:address = EntryFirst -;; - -(slice, ((int, slice))) $EntryFirst$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2757457064); - var v'amountToAdd = sc_0~load_uint(32); - var v'toAddress = sc_0~__tact_load_address(); - return (sc_0, (v'amountToAdd, v'toAddress)); -} - -;; -;; Type: EntrySecond -;; Header: 0xff40dc10 -;; TLB: entry_second#ff40dc10 amountToAdd:uint32 toAddress:address = EntrySecond -;; - -(slice, ((int, slice))) $EntrySecond$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 4282440720); - var v'amountToAdd = sc_0~load_uint(32); - var v'toAddress = sc_0~__tact_load_address(); - return (sc_0, (v'amountToAdd, v'toAddress)); -} - -;; -;; Type: First -;; Header: 0xbec08f38 -;; TLB: first#bec08f38 amount:uint32 myCoins:coins myBool3:bool anAddress:address = First -;; - -builder $First$_store(builder build_0, (int, int, int, slice) v) inline { - var (v'amount, v'myCoins, v'myBool3, v'anAddress) = v; - build_0 = store_uint(build_0, 3200290616, 32); - build_0 = build_0.store_uint(v'amount, 32); - build_0 = build_0.store_coins(v'myCoins); - build_0 = build_0.store_int(v'myBool3, 1); - build_0 = __tact_store_address(build_0, v'anAddress); - return build_0; -} - -cell $First$_store_cell((int, int, int, slice) v) inline { - return $First$_store(begin_cell(), v).end_cell(); -} - -(slice, ((int, int, int, slice))) $First$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 3200290616); - var v'amount = sc_0~load_uint(32); - var v'myCoins = sc_0~load_coins(); - var v'myBool3 = sc_0~load_int(1); - var v'anAddress = sc_0~__tact_load_address(); - return (sc_0, (v'amount, v'myCoins, v'myBool3, v'anAddress)); -} - -(slice, ((int, int, int))) $First$_load_bounced(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 3200290616); - var v'amount = sc_0~load_uint(32); - var v'myCoins = sc_0~load_coins(); - var v'myBool3 = sc_0~load_int(1); - return (sc_0, (v'amount, v'myCoins, v'myBool3)); -} - -((int, int, int, slice)) $First$_constructor_amount_myCoins_myBool3_anAddress(int amount, int myCoins, int myBool3, slice anAddress) inline { - return (amount, myCoins, myBool3, anAddress); -} - -;; -;; Type: MyStruct -;; TLB: _ amount:int257 = MyStruct -;; - -builder $MyStruct$_store(builder build_0, (int) v) inline { - var (v'amount) = v; - build_0 = build_0.store_int(v'amount, 257); - return build_0; -} - -(slice, ((int))) $MyStruct$_load(slice sc_0) inline { - var v'amount = sc_0~load_int(257); - return (sc_0, (v'amount)); -} - -((int)) $MyStruct$_constructor_amount(int amount) inline { - return (amount); -} - -;; -;; Type: Second -;; Header: 0x17571ec8 -;; TLB: second#17571ec8 amount_bigger:uint64 myBool:bool thisDoesNotFit:uint256 myAddress:address myBool2:bool myStruct:MyStruct{amount:int257} myStruct2:MyStruct{amount:int257} = Second -;; - -builder $Second$_store(builder build_0, (int, int, int, slice, int, (int), (int)) v) inline_ref { - var (v'amount_bigger, v'myBool, v'thisDoesNotFit, v'myAddress, v'myBool2, (v'myStruct'amount), (v'myStruct2'amount)) = v; - build_0 = store_uint(build_0, 391585480, 32); - build_0 = build_0.store_uint(v'amount_bigger, 64); - build_0 = build_0.store_int(v'myBool, 1); - build_0 = build_0.store_uint(v'thisDoesNotFit, 256); - build_0 = __tact_store_address(build_0, v'myAddress); - build_0 = build_0.store_int(v'myBool2, 1); - build_0 = $MyStruct$_store(build_0, (v'myStruct'amount)); - var build_1 = begin_cell(); - build_1 = $MyStruct$_store(build_1, (v'myStruct2'amount)); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -cell $Second$_store_cell((int, int, int, slice, int, (int), (int)) v) inline { - return $Second$_store(begin_cell(), v).end_cell(); -} - -(slice, ((int, int, int, slice, int, (int), (int)))) $Second$_load(slice sc_0) inline_ref { - throw_unless(129, sc_0~load_uint(32) == 391585480); - var v'amount_bigger = sc_0~load_uint(64); - var v'myBool = sc_0~load_int(1); - var v'thisDoesNotFit = sc_0~load_uint(256); - var v'myAddress = sc_0~__tact_load_address(); - var v'myBool2 = sc_0~load_int(1); - var v'myStruct = sc_0~$MyStruct$_load(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'myStruct2 = sc_1~$MyStruct$_load(); - return (sc_0, (v'amount_bigger, v'myBool, v'thisDoesNotFit, v'myAddress, v'myBool2, v'myStruct, v'myStruct2)); -} - -(slice, ((int, int))) $Second$_load_bounced(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 391585480); - var v'amount_bigger = sc_0~load_uint(64); - var v'myBool = sc_0~load_int(1); - return (sc_0, (v'amount_bigger, v'myBool)); -} - -((int, int, int, slice, int, (int), (int))) $Second$_constructor_amount_bigger_myBool_thisDoesNotFit_myAddress_myBool2_myStruct_myStruct2(int amount_bigger, int myBool, int thisDoesNotFit, slice myAddress, int myBool2, (int) myStruct, (int) myStruct2) inline { - return (amount_bigger, myBool, thisDoesNotFit, myAddress, myBool2, myStruct, myStruct2); -} - -;; -;; Type: Large -;; Header: 0x24dd4543 -;; TLB: large#24dd4543 address:address value:coins = Large -;; - -(slice, (tuple)) $Large$_load_bounced(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 618480963); - return (sc_0, null()); -} - -;; -;; Type: SmallBounce -;; Header: 0xc0dee6d6 -;; TLB: small_bounce#c0dee6d6 amount:uint32 myBool3:bool = SmallBounce -;; - -(slice, ((int, int))) $SmallBounce$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 3235833558); - var v'amount = sc_0~load_uint(32); - var v'myBool3 = sc_0~load_int(1); - return (sc_0, (v'amount, v'myBool3)); -} - -;; -;; Type: SampleContract -;; - -builder $SampleContract$_store(builder build_0, (int) v) inline { - var (v'a) = v; - build_0 = build_0.store_int(v'a, 257); - return build_0; -} - -(slice, ((int))) $SampleContract$_load(slice sc_0) inline { - var v'a = sc_0~load_int(257); - return (sc_0, (v'a)); -} - -(int) $SampleContract$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$SampleContract$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $SampleContract$_contract_init(); - } -} - -() $SampleContract$_contract_store((int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $SampleContract$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/bounced-routing_SampleContract.ts b/src/test/features/output/bounced-routing_SampleContract.ts deleted file mode 100644 index 15cdcd2e7..000000000 --- a/src/test/features/output/bounced-routing_SampleContract.ts +++ /dev/null @@ -1,691 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type EntryFirst = { - $$type: 'EntryFirst'; - amountToAdd: bigint; - toAddress: Address; -} - -export function storeEntryFirst(src: EntryFirst) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2757457064, 32); - b_0.storeUint(src.amountToAdd, 32); - b_0.storeAddress(src.toAddress); - }; -} - -export function loadEntryFirst(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2757457064) { throw Error('Invalid prefix'); } - let _amountToAdd = sc_0.loadUintBig(32); - let _toAddress = sc_0.loadAddress(); - return { $$type: 'EntryFirst' as const, amountToAdd: _amountToAdd, toAddress: _toAddress }; -} - -function loadTupleEntryFirst(source: TupleReader) { - let _amountToAdd = source.readBigNumber(); - let _toAddress = source.readAddress(); - return { $$type: 'EntryFirst' as const, amountToAdd: _amountToAdd, toAddress: _toAddress }; -} - -function storeTupleEntryFirst(source: EntryFirst) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amountToAdd); - builder.writeAddress(source.toAddress); - return builder.build(); -} - -function dictValueParserEntryFirst(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeEntryFirst(src)).endCell()); - }, - parse: (src) => { - return loadEntryFirst(src.loadRef().beginParse()); - } - } -} - -export type EntrySecond = { - $$type: 'EntrySecond'; - amountToAdd: bigint; - toAddress: Address; -} - -export function storeEntrySecond(src: EntrySecond) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(4282440720, 32); - b_0.storeUint(src.amountToAdd, 32); - b_0.storeAddress(src.toAddress); - }; -} - -export function loadEntrySecond(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 4282440720) { throw Error('Invalid prefix'); } - let _amountToAdd = sc_0.loadUintBig(32); - let _toAddress = sc_0.loadAddress(); - return { $$type: 'EntrySecond' as const, amountToAdd: _amountToAdd, toAddress: _toAddress }; -} - -function loadTupleEntrySecond(source: TupleReader) { - let _amountToAdd = source.readBigNumber(); - let _toAddress = source.readAddress(); - return { $$type: 'EntrySecond' as const, amountToAdd: _amountToAdd, toAddress: _toAddress }; -} - -function storeTupleEntrySecond(source: EntrySecond) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amountToAdd); - builder.writeAddress(source.toAddress); - return builder.build(); -} - -function dictValueParserEntrySecond(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeEntrySecond(src)).endCell()); - }, - parse: (src) => { - return loadEntrySecond(src.loadRef().beginParse()); - } - } -} - -export type First = { - $$type: 'First'; - amount: bigint; - myCoins: bigint; - myBool3: boolean; - anAddress: Address; -} - -export function storeFirst(src: First) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3200290616, 32); - b_0.storeUint(src.amount, 32); - b_0.storeCoins(src.myCoins); - b_0.storeBit(src.myBool3); - b_0.storeAddress(src.anAddress); - }; -} - -export function loadFirst(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3200290616) { throw Error('Invalid prefix'); } - let _amount = sc_0.loadUintBig(32); - let _myCoins = sc_0.loadCoins(); - let _myBool3 = sc_0.loadBit(); - let _anAddress = sc_0.loadAddress(); - return { $$type: 'First' as const, amount: _amount, myCoins: _myCoins, myBool3: _myBool3, anAddress: _anAddress }; -} - -function loadTupleFirst(source: TupleReader) { - let _amount = source.readBigNumber(); - let _myCoins = source.readBigNumber(); - let _myBool3 = source.readBoolean(); - let _anAddress = source.readAddress(); - return { $$type: 'First' as const, amount: _amount, myCoins: _myCoins, myBool3: _myBool3, anAddress: _anAddress }; -} - -function storeTupleFirst(source: First) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - builder.writeNumber(source.myCoins); - builder.writeBoolean(source.myBool3); - builder.writeAddress(source.anAddress); - return builder.build(); -} - -function dictValueParserFirst(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFirst(src)).endCell()); - }, - parse: (src) => { - return loadFirst(src.loadRef().beginParse()); - } - } -} - -export type Second = { - $$type: 'Second'; - amount_bigger: bigint; - myBool: boolean; - thisDoesNotFit: bigint; - myAddress: Address; - myBool2: boolean; - myStruct: MyStruct; - myStruct2: MyStruct; -} - -export function storeSecond(src: Second) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(391585480, 32); - b_0.storeUint(src.amount_bigger, 64); - b_0.storeBit(src.myBool); - b_0.storeUint(src.thisDoesNotFit, 256); - b_0.storeAddress(src.myAddress); - b_0.storeBit(src.myBool2); - b_0.store(storeMyStruct(src.myStruct)); - let b_1 = new Builder(); - b_1.store(storeMyStruct(src.myStruct2)); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadSecond(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 391585480) { throw Error('Invalid prefix'); } - let _amount_bigger = sc_0.loadUintBig(64); - let _myBool = sc_0.loadBit(); - let _thisDoesNotFit = sc_0.loadUintBig(256); - let _myAddress = sc_0.loadAddress(); - let _myBool2 = sc_0.loadBit(); - let _myStruct = loadMyStruct(sc_0); - let sc_1 = sc_0.loadRef().beginParse(); - let _myStruct2 = loadMyStruct(sc_1); - return { $$type: 'Second' as const, amount_bigger: _amount_bigger, myBool: _myBool, thisDoesNotFit: _thisDoesNotFit, myAddress: _myAddress, myBool2: _myBool2, myStruct: _myStruct, myStruct2: _myStruct2 }; -} - -function loadTupleSecond(source: TupleReader) { - let _amount_bigger = source.readBigNumber(); - let _myBool = source.readBoolean(); - let _thisDoesNotFit = source.readBigNumber(); - let _myAddress = source.readAddress(); - let _myBool2 = source.readBoolean(); - const _myStruct = loadTupleMyStruct(source.readTuple()); - const _myStruct2 = loadTupleMyStruct(source.readTuple()); - return { $$type: 'Second' as const, amount_bigger: _amount_bigger, myBool: _myBool, thisDoesNotFit: _thisDoesNotFit, myAddress: _myAddress, myBool2: _myBool2, myStruct: _myStruct, myStruct2: _myStruct2 }; -} - -function storeTupleSecond(source: Second) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount_bigger); - builder.writeBoolean(source.myBool); - builder.writeNumber(source.thisDoesNotFit); - builder.writeAddress(source.myAddress); - builder.writeBoolean(source.myBool2); - builder.writeTuple(storeTupleMyStruct(source.myStruct)); - builder.writeTuple(storeTupleMyStruct(source.myStruct2)); - return builder.build(); -} - -function dictValueParserSecond(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSecond(src)).endCell()); - }, - parse: (src) => { - return loadSecond(src.loadRef().beginParse()); - } - } -} - -export type Large = { - $$type: 'Large'; - address: Address; - value: bigint; -} - -export function storeLarge(src: Large) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(618480963, 32); - b_0.storeAddress(src.address); - b_0.storeCoins(src.value); - }; -} - -export function loadLarge(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 618480963) { throw Error('Invalid prefix'); } - let _address = sc_0.loadAddress(); - let _value = sc_0.loadCoins(); - return { $$type: 'Large' as const, address: _address, value: _value }; -} - -function loadTupleLarge(source: TupleReader) { - let _address = source.readAddress(); - let _value = source.readBigNumber(); - return { $$type: 'Large' as const, address: _address, value: _value }; -} - -function storeTupleLarge(source: Large) { - let builder = new TupleBuilder(); - builder.writeAddress(source.address); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserLarge(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeLarge(src)).endCell()); - }, - parse: (src) => { - return loadLarge(src.loadRef().beginParse()); - } - } -} - -export type SmallBounce = { - $$type: 'SmallBounce'; - amount: bigint; - myBool3: boolean; -} - -export function storeSmallBounce(src: SmallBounce) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3235833558, 32); - b_0.storeUint(src.amount, 32); - b_0.storeBit(src.myBool3); - }; -} - -export function loadSmallBounce(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3235833558) { throw Error('Invalid prefix'); } - let _amount = sc_0.loadUintBig(32); - let _myBool3 = sc_0.loadBit(); - return { $$type: 'SmallBounce' as const, amount: _amount, myBool3: _myBool3 }; -} - -function loadTupleSmallBounce(source: TupleReader) { - let _amount = source.readBigNumber(); - let _myBool3 = source.readBoolean(); - return { $$type: 'SmallBounce' as const, amount: _amount, myBool3: _myBool3 }; -} - -function storeTupleSmallBounce(source: SmallBounce) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - builder.writeBoolean(source.myBool3); - return builder.build(); -} - -function dictValueParserSmallBounce(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSmallBounce(src)).endCell()); - }, - parse: (src) => { - return loadSmallBounce(src.loadRef().beginParse()); - } - } -} - -export type MyStruct = { - $$type: 'MyStruct'; - amount: bigint; -} - -export function storeMyStruct(src: MyStruct) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.amount, 257); - }; -} - -export function loadMyStruct(slice: Slice) { - let sc_0 = slice; - let _amount = sc_0.loadIntBig(257); - return { $$type: 'MyStruct' as const, amount: _amount }; -} - -function loadTupleMyStruct(source: TupleReader) { - let _amount = source.readBigNumber(); - return { $$type: 'MyStruct' as const, amount: _amount }; -} - -function storeTupleMyStruct(source: MyStruct) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - return builder.build(); -} - -function dictValueParserMyStruct(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeMyStruct(src)).endCell()); - }, - parse: (src) => { - return loadMyStruct(src.loadRef().beginParse()); - } - } -} - - type SampleContract_init_args = { - $$type: 'SampleContract_init_args'; -} - -function initSampleContract_init_args(src: SampleContract_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function SampleContract_init() { - const __code = Cell.fromBase64('te6ccgECGwEABYQAART/APSkE/S88sgLAQIBYgIDAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UFgQCAVgSEwTg7aLt+wHjAnAh10nCH5UwINcLH94gwAAi10nBIbCSW3/gIIIQpFt0qLqOsjDTHwGCEKRbdKi68uCB0x/6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIEmwS4CCCEP9A3BC64wIgghC+wI84ugUGBwgE4IAg1yFwIddJwh+VMCDXCx/eIIIQvsCPOLqONzDTHwGCEL7Ajzi68uCB0x/6ANIAVSBsE1uNBJJbiBib3VuY2Ugb2YgZmlyc3SD+FDBmoDGm/n/gIIIQF1ceyLrjAiCCEMDe5ta64wKCECTdRUO64wIJCgsMAaZRIaGCEDuaygByf3Nw+EIQN8hVMIIQvsCPOFAFyx8Tyx8B+gLKAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJEEVBMBUUQzBtbds8fw4CsjDTHwGCEP9A3BC68uCB0x/6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIEmwSUSGhghA7msoAcn9wcfhCcCImEGrIVWDbPMkQRUEwFRRDMG1t2zx/DQ4CsI47MNMfAYIQvsCPOLry4IHTH/oA0gD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIFEMwbBRfBH/gIIIQF1ceyLqOiDDbPGwXXwd/4MAAkTDjDXAQEQBmMNMfAYIQF1ceyLry4IHTP9IAWWwSMI0E0luIGJvdW5jZSBvZiBzZWNvbmSD+FDCgpvx/AHIw0x8BghDA3ubWuvLggdMf0gBZbBIwjQZSW4gYm91bmNlIG9mIHNtYWxsIGJvdW5jZYP4UMKCm/H8AYNMfAYIQJN1FQ7ry4IFtMTCNBlJbiBib3VuY2Ugb2YgbGFyZ2UgYm91bmNlg/hQwfwA2W40EUluIGdlbmVyaWMgYm91bmNlg/hQwgE1/AIyCEBdXHshQCMsfFss/FMoAEsv/ASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsoAAQGBAQHPAMhYAYEBAc8AyQHMAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AA8AmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAmNMfAYIQF1ceyLry4IHTP9IA0//6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAgQEB1wABAdQB0IEBAdcAATEXFhUUQzAAVPkBgvDN0PWWajeSIjimlU7pGKFizFkECe9l8JTO6B6dC8UrtLqTf9sx4AIBIBQVAgFIGRoCD7Vdm2ebZ4YwFhcAubd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4TsunLVmnZbmdB0s2yjN0UkAFC7UTQ1AH4Y9IAAZeBAQHXAAEx4DD4KNcLCoMJuvLgids8GAACIAAEgGQAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtYnlLZG1VbjkxSE1uRnpicG5kVkM5bmhNM0ZrVlRSNmJLZm5SZnR2SFc3TmKCA='); - const __system = Cell.fromBase64('te6cckECHQEABY4AAQHAAQEFoIcVAgEU/wD0pBP0vPLICwMCAWIMBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbWJ5S2RtVW45MUhNbkZ6YnBuZFZDOW5oTTNGa1ZUUjZiS2ZuUmZ0dkhXN05iggABGwr7tRNDSAAGACASAKCQC5t3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAg+1XZtnm2eGMBsLAAIgAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UGw0E4O2i7fsB4wJwIddJwh+VMCDXCx/eIMAAItdJwSGwklt/4CCCEKRbdKi6jrIw0x8BghCkW3SouvLggdMf+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBJsEuAgghD/QNwQuuMCIIIQvsCPOLoWExEOArCOOzDTHwGCEL7Ajzi68uCB0x/6ANIA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBRDMGwUXwR/4CCCEBdXHsi6jogw2zxsF18Hf+DAAJEw4w1wEA8AVPkBgvDN0PWWajeSIjimlU7pGKFizFkECe9l8JTO6B6dC8UrtLqTf9sx4ACY0x8BghAXVx7IuvLggdM/0gDT//pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gCBAQHXAAEB1AHQgQEB1wABMRcWFRRDMAKyMNMfAYIQ/0DcELry4IHTH/pAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgSbBJRIaGCEDuaygByf3Bx+EJwIiYQashVYNs8yRBFQTAVFEMwbW3bPH8SFACMghAXVx7IUAjLHxbLPxTKABLL/wEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbKAAEBgQEBzwDIWAGBAQHPAMkBzAGmUSGhghA7msoAcn9zcPhCEDfIVTCCEL7AjzhQBcsfE8sfAfoCygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WyRBFQTAVFEMwbW3bPH8UAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABUAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwE4IAg1yFwIddJwh+VMCDXCx/eIIIQvsCPOLqONzDTHwGCEL7Ajzi68uCB0x/6ANIAVSBsE1uNBJJbiBib3VuY2Ugb2YgZmlyc3SD+FDBmoDGm/n/gIIIQF1ceyLrjAiCCEMDe5ta64wKCECTdRUO64wIaGRgXADZbjQRSW4gZ2VuZXJpYyBib3VuY2WD+FDCATX8AYNMfAYIQJN1FQ7ry4IFtMTCNBlJbiBib3VuY2Ugb2YgbGFyZ2UgYm91bmNlg/hQwfwByMNMfAYIQwN7m1rry4IHTH9IAWWwSMI0GUluIGJvdW5jZSBvZiBzbWFsbCBib3VuY2WD+FDCgpvx/AGYw0x8BghAXVx7IuvLggdM/0gBZbBIwjQTSW4gYm91bmNlIG9mIHNlY29uZIP4UMKCm/H8BQu1E0NQB+GPSAAGXgQEB1wABMeAw+CjXCwqDCbry4InbPBwABIBkxa7vVA=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initSampleContract_init_args({ $$type: 'SampleContract_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const SampleContract_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const SampleContract_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"EntryFirst","header":2757457064,"fields":[{"name":"amountToAdd","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"toAddress","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"EntrySecond","header":4282440720,"fields":[{"name":"amountToAdd","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"toAddress","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"First","header":3200290616,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"myCoins","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"myBool3","type":{"kind":"simple","type":"bool","optional":false}},{"name":"anAddress","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"Second","header":391585480,"fields":[{"name":"amount_bigger","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"myBool","type":{"kind":"simple","type":"bool","optional":false}},{"name":"thisDoesNotFit","type":{"kind":"simple","type":"uint","optional":false,"format":256}},{"name":"myAddress","type":{"kind":"simple","type":"address","optional":false}},{"name":"myBool2","type":{"kind":"simple","type":"bool","optional":false}},{"name":"myStruct","type":{"kind":"simple","type":"MyStruct","optional":false}},{"name":"myStruct2","type":{"kind":"simple","type":"MyStruct","optional":false}}]}, - {"name":"Large","header":618480963,"fields":[{"name":"address","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}}]}, - {"name":"SmallBounce","header":3235833558,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"myBool3","type":{"kind":"simple","type":"bool","optional":false}}]}, - {"name":"MyStruct","header":null,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const SampleContract_getters: ABIGetter[] = [ - {"name":"amount","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const SampleContract_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, - {"receiver":"internal","message":{"kind":"typed","type":"EntryFirst"}}, - {"receiver":"internal","message":{"kind":"typed","type":"EntrySecond"}}, - {"receiver":"internal","message":{"kind":"typed","type":"First"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Second"}}, - {"receiver":"internal","message":{"kind":"text","text":"Increment"}}, -] - -export class SampleContract implements Contract { - - static async init() { - return await SampleContract_init(); - } - - static async fromInit() { - const init = await SampleContract_init(); - const address = contractAddress(0, init); - return new SampleContract(address, init); - } - - static fromAddress(address: Address) { - return new SampleContract(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: SampleContract_types, - getters: SampleContract_getters, - receivers: SampleContract_receivers, - errors: SampleContract_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null | EntryFirst | EntrySecond | First | Second | 'Increment') { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'EntryFirst') { - body = beginCell().store(storeEntryFirst(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'EntrySecond') { - body = beginCell().store(storeEntrySecond(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'First') { - body = beginCell().store(storeFirst(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Second') { - body = beginCell().store(storeSecond(message)).endCell(); - } - if (message === 'Increment') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getAmount(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('amount', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/bounced-routing_SampleContract2.abi b/src/test/features/output/bounced-routing_SampleContract2.abi deleted file mode 100644 index b8211ea63..000000000 --- a/src/test/features/output/bounced-routing_SampleContract2.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"SampleContract2","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"EntryFirst","header":2757457064,"fields":[{"name":"amountToAdd","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"toAddress","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"EntrySecond","header":4282440720,"fields":[{"name":"amountToAdd","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"toAddress","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"First","header":3200290616,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"myCoins","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"myBool3","type":{"kind":"simple","type":"bool","optional":false}},{"name":"anAddress","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"Second","header":391585480,"fields":[{"name":"amount_bigger","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"myBool","type":{"kind":"simple","type":"bool","optional":false}},{"name":"thisDoesNotFit","type":{"kind":"simple","type":"uint","optional":false,"format":256}},{"name":"myAddress","type":{"kind":"simple","type":"address","optional":false}},{"name":"myBool2","type":{"kind":"simple","type":"bool","optional":false}},{"name":"myStruct","type":{"kind":"simple","type":"MyStruct","optional":false}},{"name":"myStruct2","type":{"kind":"simple","type":"MyStruct","optional":false}}]},{"name":"Large","header":618480963,"fields":[{"name":"address","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}}]},{"name":"SmallBounce","header":3235833558,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"myBool3","type":{"kind":"simple","type":"bool","optional":false}}]},{"name":"MyStruct","header":null,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}},{"receiver":"internal","message":{"kind":"typed","type":"First"}},{"receiver":"internal","message":{"kind":"typed","type":"Second"}}],"getters":[],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/bounced-routing_SampleContract2.code.boc b/src/test/features/output/bounced-routing_SampleContract2.code.boc deleted file mode 100644 index 61f352692..000000000 Binary files a/src/test/features/output/bounced-routing_SampleContract2.code.boc and /dev/null differ diff --git a/src/test/features/output/bounced-routing_SampleContract2.code.boc.html b/src/test/features/output/bounced-routing_SampleContract2.code.boc.html deleted file mode 100644 index 965195928..000000000 --- a/src/test/features/output/bounced-routing_SampleContract2.code.boc.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_320ae1effb6175d4;
-            ..DECLPROC ?fun_ref_a05e0042bce184fb;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            ..DECLPROC ?fun_ref_c9df47d090b30bb8;
-            x3..recv_internal PROC:<{
-            18x3....s0 s1 XCHG
-            118x3....CTOS
-            26x3....4 LDU
-            18x3....s0 s1 XCHG
-            18x3....1 PUSHINT
-            18x3....AND
-            18x3....-1 MULCONST
-            18x3....s0 s1 XCHG
-            26x3....LDMSGADDR
-            18x3....s0 s1 XCHG
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            34x3....s0 s6 s4 PUXCPU
-            18x3....s0 s3 XCHG
-            30x3....4 TUPLE
-            28x3....1 SETGLOBVAR
-            18x3....s0 s2 XCHG
-            29x3....2 SETGLOBVAR
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_c9df47d090b30bb8 INLINECALLDICT
-            34x1....130 THROWIFNOT
-            18x1....s0 POP
-            18x1....NEWC
-            26x1....3 GETGLOBVAR
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....-1 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            518x1....ENDC
-            26x1....c4 POP
-            x3..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D55726B563543417772764145757465734E557635774875674B6676444D79335964796E4A4D44624E6A33435382_} PUSHSLICE
-            ..}>
-            x1..?fun_ref_320ae1effb6175d4 PROCREF:<{
-            26x1....32 LDU
-            18x1....s0 s1 XCHG
-            23x1....391585480 PUSHINT
-            18x1....EQUAL
-            34x1....129 THROWIFNOT
-            26x1....64 LDU
-            26x1....1 LDI
-            26x1....256 LDU
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 s1 XCHG
-            26x1....1 LDI
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....s0 s1 XCHG
-            18x1....s0 s1 XCHG
-            18x1....LDREF
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....s0 s1 XCHG
-            18x1....s1 POP
-            18x1....s1 s7 XCHG
-            18x1....s1 s6 XCHG
-            18x1....s1 s5 XCHG
-            18x1....s1 s4 XCHG
-            26x1....s3 s3 s0 XCHG3
-            x1..}>
-            x344..?fun_ref_a05e0042bce184fb PROCREF:<{
-            26x344....c4 PUSH
-            118x344....CTOS
-            18x344....LDREF
-            18x344....s0 s1 XCHG
-            30x344....3 SETGLOBVAR
-            26x344....1 LDI
-            18x344....s0 POP
-            18x344....<{
-            18x273......NULL
-            18x344....}> PUSHCONT
-            18x344....IFJMP
-            26x71....MYADDR
-            34x71....11 PLDU
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....137 THROWIFNOT
-            126x71....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x344..}>
-            x80..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x80....NULL
-            x80..}>
-            x3..?fun_ref_c9df47d090b30bb8 PROCREF:<{
-            18x3....s0 s1 XCHG
-            18x3....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x3....}> PUSHCONT
-            18x3....IFJMP
-            18x3....0 PUSHINT
-            18x3....s1 PUSH
-            26x3....SBITS
-            26x3....31 GTINT
-            18x3....<{
-            18x2......s0 POP
-            18x2......s0 PUSH
-            34x2......32 PLDU
-            18x3....}> PUSHCONT
-            18x3....IF
-            18x3....s0 PUSH
-            26x3....0 EQINT
-            18x3....s2 PUSH
-            26x3....SBITS
-            26x3....33 LESSINT
-            18x3....AND
-            18x3....<{
-            18x1......DROP2
-            18x1......-1 PUSHINT
-            18x3....}> PUSHCONT
-            18x3....IFJMP
-            18x2....s0 PUSH
-            23x2....3200290616 PUSHINT
-            18x2....EQUAL
-            26x2....<{
-            18x1......s0 POP
-            26x1......32 LDU
-            18x1......s0 s1 XCHG
-            23x1......3200290616 PUSHINT
-            18x1......EQUAL
-            34x1......129 THROWIFNOT
-            26x1......32 LDU
-            26x1......LDGRAMS
-            26x1......1 LDI
-            26x1......LDMSGADDR
-            18x1......s0 s1 XCHG
-            18x1......s0 PUSH
-            26x1......SBITS
-            34x1......267 PUSHINT
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            18x1......s0 PUSH
-            34x1......11 PLDU
-            18x1......s0 PUSH
-            34x1......1279 PUSHINT
-            18x1......EQUAL
-            34x1......137 THROWIF
-            26x1......10 PUSHPOW2
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            18x1......s1 s4 XCHG
-            26x1......s3 s3 s0 XCHG3
-            26x1......1 4 BLKDROP2
-            26x1......4 BLKDROP
-            22x1......x{426F756E63696E67204669727374218} PUSHSLICE
-            26x1......STRDUMP
-            18x1......s0 POP
-            84x1......144 THROW
-            ......-1 PUSHINT
-            26x2....}> PUSHCONT
-            18x2....IFJMP
-            23x1....391585480 PUSHINT
-            18x1....EQUAL
-            26x1....<{
-            126x1......?fun_ref_320ae1effb6175d4 INLINECALLDICT
-            26x1......1 7 BLKDROP2
-            26x1......7 BLKDROP
-            28x1......x{426F756E63696E67205365636F6E642182_} PUSHSLICE
-            26x1......STRDUMP
-            18x1......s0 POP
-            84x1......145 THROW
-            ......-1 PUSHINT
-            26x1....}> PUSHCONT
-            18x1....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            x3..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/bounced-routing_SampleContract2.code.fc b/src/test/features/output/bounced-routing_SampleContract2.code.fc deleted file mode 100644 index b5d38821a..000000000 --- a/src/test/features/output/bounced-routing_SampleContract2.code.fc +++ /dev/null @@ -1,127 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "bounced-routing_SampleContract2.headers.fc"; -#include "bounced-routing_SampleContract2.stdlib.fc"; -#include "bounced-routing_SampleContract2.constants.fc"; -#include "bounced-routing_SampleContract2.storage.fc"; - -;; -;; Contract SampleContract2 functions -;; - -tuple $SampleContract2$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -;; -;; Receivers of a Contract SampleContract2 -;; - -((tuple), ()) %$SampleContract2$_internal_empty(tuple $self) impure inline { - var $self = $self; - return ($self, ()); -} - -((tuple), ()) $SampleContract2$_internal_binary_First(tuple $self, (int, int, int, slice) $msg) impure inline { - var $self = $self; - var ($msg'amount, $msg'myCoins, $msg'myBool3, $msg'anAddress) = $msg; - __tact_debug_str(__gen_slice_string_94c3f101bbe94a48f10dfe5c99449522d57da3d3f44d711da4395dcd9cf8c814()); - throw(144); - return ($self, ()); -} - -((tuple), ()) $SampleContract2$_internal_binary_Second(tuple $self, (int, int, int, slice, int, (int), (int)) $msg) impure inline { - var $self = $self; - var ($msg'amount_bigger, $msg'myBool, $msg'thisDoesNotFit, $msg'myAddress, $msg'myBool2, ($msg'myStruct'amount), ($msg'myStruct2'amount)) = $msg; - __tact_debug_str(__gen_slice_string_b959dde8a8be0822e78951cc7690fb5182b435b11cc70c801cf2a2b3e9b1e40b()); - throw(145); - return ($self, ()); -} - -;; -;; Get methods of a Contract SampleContract2 -;; - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmUrkV5CAwrvAEutesNUv5wHugKfvDMy3YdynJMDbNj3CS"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract SampleContract2 -;; - -(tuple, int) $SampleContract2$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$SampleContract2$_internal_empty(); - return (self, true); - } - - ;; Receive First message - if (op == 3200290616) { - var msg = in_msg~$First$_load(); - self~$SampleContract2$_internal_binary_First(msg); - return (self, true); - } - - ;; Receive Second message - if (op == 391585480) { - var msg = in_msg~$Second$_load(); - self~$SampleContract2$_internal_binary_Second(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $SampleContract2$_contract_load(); - - ;; Handle operation - int handled = self~$SampleContract2$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $SampleContract2$_contract_store(self); -} diff --git a/src/test/features/output/bounced-routing_SampleContract2.code.fif b/src/test/features/output/bounced-routing_SampleContract2.code.fif deleted file mode 100644 index 45afa4104..000000000 --- a/src/test/features/output/bounced-routing_SampleContract2.code.fif +++ /dev/null @@ -1,222 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC $First$_load - DECLPROC $MyStruct$_load - DECLPROC $Second$_load - DECLPROC $SampleContract2$_contract_init - DECLPROC $SampleContract2$_contract_load - DECLPROC $SampleContract2$_contract_store - DECLPROC %$SampleContract2$_internal_empty - DECLPROC $SampleContract2$_internal_binary_First - DECLPROC $SampleContract2$_internal_binary_Second - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $SampleContract2$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - $First$_load PROCINLINE:<{ - 32 LDU - SWAP - 3200290616 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - LDGRAMS - 1 LDI - __tact_load_address INLINECALLDICT - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - $MyStruct$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - SWAP - }> - $Second$_load PROCREF:<{ - 32 LDU - SWAP - 391585480 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - 1 LDI - 256 LDU - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - $MyStruct$_load INLINECALLDICT - SWAP - LDREF - SWAP - CTOS - $MyStruct$_load INLINECALLDICT - NIP - s1 s7 XCHG - s1 s6 XCHG - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - $SampleContract2$_contract_init PROCREF:<{ - PUSHNULL - }> - $SampleContract2$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $SampleContract2$_contract_init INLINECALLDICT - }> - $SampleContract2$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - %$SampleContract2$_internal_empty PROCINLINE:<{ - }> - $SampleContract2$_internal_binary_First PROCINLINE:<{ - 4 BLKDROP - B{b5ee9c7241010101001100001e426f756e63696e6720466972737421fbb0a49f} B>boc - $SampleContract2$_internal_binary_Second PROCINLINE:<{ - 7 BLKDROP - B{b5ee9c72410101010012000020426f756e63696e67205365636f6e64214fa65a46} B>boc - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d55726b563543417772764145757465734e557635774875674b6676444d79335964796e4a4d44624e6a334353} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $SampleContract2$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - IFJMP:<{ - 2DROP - %$SampleContract2$_internal_empty INLINECALLDICT - TRUE - }> - DUP - 3200290616 PUSHINT - EQUAL - IFJMP:<{ - DROP - $First$_load INLINECALLDICT - 1 4 BLKDROP2 - $SampleContract2$_internal_binary_First INLINECALLDICT - TRUE - }> - 391585480 PUSHINT - EQUAL - IFJMP:<{ - $Second$_load INLINECALLDICT - 1 7 BLKDROP2 - $SampleContract2$_internal_binary_Second INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $SampleContract2$_contract_load INLINECALLDICT - -ROT - $SampleContract2$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $SampleContract2$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/bounced-routing_SampleContract2.code.rev.fif b/src/test/features/output/bounced-routing_SampleContract2.code.rev.fif deleted file mode 100644 index 76ba8da09..000000000 --- a/src/test/features/output/bounced-routing_SampleContract2.code.rev.fif +++ /dev/null @@ -1,222 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_320ae1effb6175d4; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_c9df47d090b30bb8; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_c9df47d090b30bb8 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D55726B563543417772764145757465734E557635774875674B6676444D79335964796E4A4D44624E6A33435382_} PUSHSLICE - }> - ?fun_ref_320ae1effb6175d4 PROCREF:<{ - 32 LDU - s0 s1 XCHG - 391585480 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - 1 LDI - 256 LDU - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - 257 PUSHINT - LDIX - s0 s1 XCHG - s0 s1 XCHG - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - s1 s7 XCHG - s1 s6 XCHG - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_c9df47d090b30bb8 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 3200290616 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 3200290616 PUSHINT - EQUAL - 129 THROWIFNOT - 32 LDU - LDGRAMS - 1 LDI - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 s4 XCHG - s3 s3 s0 XCHG3 - 1 4 BLKDROP2 - 4 BLKDROP - x{426F756E63696E67204669727374218} PUSHSLICE - STRDUMP - s0 POP - 144 THROW - -1 PUSHINT - }> PUSHCONT - IFJMP - 391585480 PUSHINT - EQUAL - <{ - ?fun_ref_320ae1effb6175d4 INLINECALLDICT - 1 7 BLKDROP2 - 7 BLKDROP - x{426F756E63696E67205365636F6E642182_} PUSHSLICE - STRDUMP - s0 POP - 145 THROW - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/bounced-routing_SampleContract2.constants.fc b/src/test/features/output/bounced-routing_SampleContract2.constants.fc deleted file mode 100644 index e5067c237..000000000 --- a/src/test/features/output/bounced-routing_SampleContract2.constants.fc +++ /dev/null @@ -1,5 +0,0 @@ -;; String "Bouncing First!" -slice __gen_slice_string_94c3f101bbe94a48f10dfe5c99449522d57da3d3f44d711da4395dcd9cf8c814() asm "B{b5ee9c7241010101001100001e426f756e63696e6720466972737421fbb0a49f} B>boc boc { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type EntryFirst = { - $$type: 'EntryFirst'; - amountToAdd: bigint; - toAddress: Address; -} - -export function storeEntryFirst(src: EntryFirst) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2757457064, 32); - b_0.storeUint(src.amountToAdd, 32); - b_0.storeAddress(src.toAddress); - }; -} - -export function loadEntryFirst(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2757457064) { throw Error('Invalid prefix'); } - let _amountToAdd = sc_0.loadUintBig(32); - let _toAddress = sc_0.loadAddress(); - return { $$type: 'EntryFirst' as const, amountToAdd: _amountToAdd, toAddress: _toAddress }; -} - -function loadTupleEntryFirst(source: TupleReader) { - let _amountToAdd = source.readBigNumber(); - let _toAddress = source.readAddress(); - return { $$type: 'EntryFirst' as const, amountToAdd: _amountToAdd, toAddress: _toAddress }; -} - -function storeTupleEntryFirst(source: EntryFirst) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amountToAdd); - builder.writeAddress(source.toAddress); - return builder.build(); -} - -function dictValueParserEntryFirst(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeEntryFirst(src)).endCell()); - }, - parse: (src) => { - return loadEntryFirst(src.loadRef().beginParse()); - } - } -} - -export type EntrySecond = { - $$type: 'EntrySecond'; - amountToAdd: bigint; - toAddress: Address; -} - -export function storeEntrySecond(src: EntrySecond) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(4282440720, 32); - b_0.storeUint(src.amountToAdd, 32); - b_0.storeAddress(src.toAddress); - }; -} - -export function loadEntrySecond(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 4282440720) { throw Error('Invalid prefix'); } - let _amountToAdd = sc_0.loadUintBig(32); - let _toAddress = sc_0.loadAddress(); - return { $$type: 'EntrySecond' as const, amountToAdd: _amountToAdd, toAddress: _toAddress }; -} - -function loadTupleEntrySecond(source: TupleReader) { - let _amountToAdd = source.readBigNumber(); - let _toAddress = source.readAddress(); - return { $$type: 'EntrySecond' as const, amountToAdd: _amountToAdd, toAddress: _toAddress }; -} - -function storeTupleEntrySecond(source: EntrySecond) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amountToAdd); - builder.writeAddress(source.toAddress); - return builder.build(); -} - -function dictValueParserEntrySecond(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeEntrySecond(src)).endCell()); - }, - parse: (src) => { - return loadEntrySecond(src.loadRef().beginParse()); - } - } -} - -export type First = { - $$type: 'First'; - amount: bigint; - myCoins: bigint; - myBool3: boolean; - anAddress: Address; -} - -export function storeFirst(src: First) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3200290616, 32); - b_0.storeUint(src.amount, 32); - b_0.storeCoins(src.myCoins); - b_0.storeBit(src.myBool3); - b_0.storeAddress(src.anAddress); - }; -} - -export function loadFirst(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3200290616) { throw Error('Invalid prefix'); } - let _amount = sc_0.loadUintBig(32); - let _myCoins = sc_0.loadCoins(); - let _myBool3 = sc_0.loadBit(); - let _anAddress = sc_0.loadAddress(); - return { $$type: 'First' as const, amount: _amount, myCoins: _myCoins, myBool3: _myBool3, anAddress: _anAddress }; -} - -function loadTupleFirst(source: TupleReader) { - let _amount = source.readBigNumber(); - let _myCoins = source.readBigNumber(); - let _myBool3 = source.readBoolean(); - let _anAddress = source.readAddress(); - return { $$type: 'First' as const, amount: _amount, myCoins: _myCoins, myBool3: _myBool3, anAddress: _anAddress }; -} - -function storeTupleFirst(source: First) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - builder.writeNumber(source.myCoins); - builder.writeBoolean(source.myBool3); - builder.writeAddress(source.anAddress); - return builder.build(); -} - -function dictValueParserFirst(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFirst(src)).endCell()); - }, - parse: (src) => { - return loadFirst(src.loadRef().beginParse()); - } - } -} - -export type Second = { - $$type: 'Second'; - amount_bigger: bigint; - myBool: boolean; - thisDoesNotFit: bigint; - myAddress: Address; - myBool2: boolean; - myStruct: MyStruct; - myStruct2: MyStruct; -} - -export function storeSecond(src: Second) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(391585480, 32); - b_0.storeUint(src.amount_bigger, 64); - b_0.storeBit(src.myBool); - b_0.storeUint(src.thisDoesNotFit, 256); - b_0.storeAddress(src.myAddress); - b_0.storeBit(src.myBool2); - b_0.store(storeMyStruct(src.myStruct)); - let b_1 = new Builder(); - b_1.store(storeMyStruct(src.myStruct2)); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadSecond(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 391585480) { throw Error('Invalid prefix'); } - let _amount_bigger = sc_0.loadUintBig(64); - let _myBool = sc_0.loadBit(); - let _thisDoesNotFit = sc_0.loadUintBig(256); - let _myAddress = sc_0.loadAddress(); - let _myBool2 = sc_0.loadBit(); - let _myStruct = loadMyStruct(sc_0); - let sc_1 = sc_0.loadRef().beginParse(); - let _myStruct2 = loadMyStruct(sc_1); - return { $$type: 'Second' as const, amount_bigger: _amount_bigger, myBool: _myBool, thisDoesNotFit: _thisDoesNotFit, myAddress: _myAddress, myBool2: _myBool2, myStruct: _myStruct, myStruct2: _myStruct2 }; -} - -function loadTupleSecond(source: TupleReader) { - let _amount_bigger = source.readBigNumber(); - let _myBool = source.readBoolean(); - let _thisDoesNotFit = source.readBigNumber(); - let _myAddress = source.readAddress(); - let _myBool2 = source.readBoolean(); - const _myStruct = loadTupleMyStruct(source.readTuple()); - const _myStruct2 = loadTupleMyStruct(source.readTuple()); - return { $$type: 'Second' as const, amount_bigger: _amount_bigger, myBool: _myBool, thisDoesNotFit: _thisDoesNotFit, myAddress: _myAddress, myBool2: _myBool2, myStruct: _myStruct, myStruct2: _myStruct2 }; -} - -function storeTupleSecond(source: Second) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount_bigger); - builder.writeBoolean(source.myBool); - builder.writeNumber(source.thisDoesNotFit); - builder.writeAddress(source.myAddress); - builder.writeBoolean(source.myBool2); - builder.writeTuple(storeTupleMyStruct(source.myStruct)); - builder.writeTuple(storeTupleMyStruct(source.myStruct2)); - return builder.build(); -} - -function dictValueParserSecond(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSecond(src)).endCell()); - }, - parse: (src) => { - return loadSecond(src.loadRef().beginParse()); - } - } -} - -export type Large = { - $$type: 'Large'; - address: Address; - value: bigint; -} - -export function storeLarge(src: Large) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(618480963, 32); - b_0.storeAddress(src.address); - b_0.storeCoins(src.value); - }; -} - -export function loadLarge(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 618480963) { throw Error('Invalid prefix'); } - let _address = sc_0.loadAddress(); - let _value = sc_0.loadCoins(); - return { $$type: 'Large' as const, address: _address, value: _value }; -} - -function loadTupleLarge(source: TupleReader) { - let _address = source.readAddress(); - let _value = source.readBigNumber(); - return { $$type: 'Large' as const, address: _address, value: _value }; -} - -function storeTupleLarge(source: Large) { - let builder = new TupleBuilder(); - builder.writeAddress(source.address); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserLarge(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeLarge(src)).endCell()); - }, - parse: (src) => { - return loadLarge(src.loadRef().beginParse()); - } - } -} - -export type SmallBounce = { - $$type: 'SmallBounce'; - amount: bigint; - myBool3: boolean; -} - -export function storeSmallBounce(src: SmallBounce) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3235833558, 32); - b_0.storeUint(src.amount, 32); - b_0.storeBit(src.myBool3); - }; -} - -export function loadSmallBounce(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3235833558) { throw Error('Invalid prefix'); } - let _amount = sc_0.loadUintBig(32); - let _myBool3 = sc_0.loadBit(); - return { $$type: 'SmallBounce' as const, amount: _amount, myBool3: _myBool3 }; -} - -function loadTupleSmallBounce(source: TupleReader) { - let _amount = source.readBigNumber(); - let _myBool3 = source.readBoolean(); - return { $$type: 'SmallBounce' as const, amount: _amount, myBool3: _myBool3 }; -} - -function storeTupleSmallBounce(source: SmallBounce) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - builder.writeBoolean(source.myBool3); - return builder.build(); -} - -function dictValueParserSmallBounce(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSmallBounce(src)).endCell()); - }, - parse: (src) => { - return loadSmallBounce(src.loadRef().beginParse()); - } - } -} - -export type MyStruct = { - $$type: 'MyStruct'; - amount: bigint; -} - -export function storeMyStruct(src: MyStruct) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.amount, 257); - }; -} - -export function loadMyStruct(slice: Slice) { - let sc_0 = slice; - let _amount = sc_0.loadIntBig(257); - return { $$type: 'MyStruct' as const, amount: _amount }; -} - -function loadTupleMyStruct(source: TupleReader) { - let _amount = source.readBigNumber(); - return { $$type: 'MyStruct' as const, amount: _amount }; -} - -function storeTupleMyStruct(source: MyStruct) { - let builder = new TupleBuilder(); - builder.writeNumber(source.amount); - return builder.build(); -} - -function dictValueParserMyStruct(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeMyStruct(src)).endCell()); - }, - parse: (src) => { - return loadMyStruct(src.loadRef().beginParse()); - } - } -} - - type SampleContract2_init_args = { - $$type: 'SampleContract2_init_args'; -} - -function initSampleContract2_init_args(src: SampleContract2_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function SampleContract2_init() { - const __code = Cell.fromBase64('te6ccgECDQEAAiwAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UBAUCAVgJCgE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwGAfYBkjB/4HAh10nCH5UwINcLH94gwAAi10nBIbCSW3/gIIIQvsCPOLqOUjDTHwGCEL7Ajzi68uCB0x/6ANIA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBRDMGwUXwSL9Cb3VuY2luZyBGaXJzdCGP4UMPLAkH8HAAJtAVrgghAXVx7Iuo6g2zxsF18HjQQQm91bmNpbmcgU2Vjb25kIYP4UMPLAkX/gMHAIAJjTHwGCEBdXHsi68uCB0z/SANP/+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAIEBAdcAAQHUAdCBAQHXAAExFxYVFEMwALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgCAUgLDAARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1VcmtWNUNBd3J2QUV1dGVzTlV2NXdIdWdLZnZETXkzWWR5bkpNRGJOajNDU4IA=='); - const __system = Cell.fromBase64('te6cckECDwEAAjYAAQHAAQEFocltAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVVya1Y1Q0F3cnZBRXV0ZXNOVXY1d0h1Z0tmdkRNeTNZZHluSk1EYk5qM0NTggABGwr7tRNDSAAGAAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSAKS0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCMMj4QwHMfwHKAMntVA0KAfYBkjB/4HAh10nCH5UwINcLH94gwAAi10nBIbCSW3/gIIIQvsCPOLqOUjDTHwGCEL7Ajzi68uCB0x/6ANIA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiBRDMGwUXwSL9Cb3VuY2luZyBGaXJzdCGP4UMPLAkH8LAVrgghAXVx7Iuo6g2zxsF18HjQQQm91bmNpbmcgU2Vjb25kIYP4UMPLAkX/gMHAMAJjTHwGCEBdXHsi68uCB0z/SANP/+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAIEBAdcAAQHUAdCBAQHXAAExFxYVFEMwATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPA4AAm36K0P5'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initSampleContract2_init_args({ $$type: 'SampleContract2_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const SampleContract2_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const SampleContract2_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"EntryFirst","header":2757457064,"fields":[{"name":"amountToAdd","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"toAddress","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"EntrySecond","header":4282440720,"fields":[{"name":"amountToAdd","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"toAddress","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"First","header":3200290616,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"myCoins","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}},{"name":"myBool3","type":{"kind":"simple","type":"bool","optional":false}},{"name":"anAddress","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"Second","header":391585480,"fields":[{"name":"amount_bigger","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"myBool","type":{"kind":"simple","type":"bool","optional":false}},{"name":"thisDoesNotFit","type":{"kind":"simple","type":"uint","optional":false,"format":256}},{"name":"myAddress","type":{"kind":"simple","type":"address","optional":false}},{"name":"myBool2","type":{"kind":"simple","type":"bool","optional":false}},{"name":"myStruct","type":{"kind":"simple","type":"MyStruct","optional":false}},{"name":"myStruct2","type":{"kind":"simple","type":"MyStruct","optional":false}}]}, - {"name":"Large","header":618480963,"fields":[{"name":"address","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"uint","optional":false,"format":"coins"}}]}, - {"name":"SmallBounce","header":3235833558,"fields":[{"name":"amount","type":{"kind":"simple","type":"uint","optional":false,"format":32}},{"name":"myBool3","type":{"kind":"simple","type":"bool","optional":false}}]}, - {"name":"MyStruct","header":null,"fields":[{"name":"amount","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const SampleContract2_getters: ABIGetter[] = [ -] - -const SampleContract2_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, - {"receiver":"internal","message":{"kind":"typed","type":"First"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Second"}}, -] - -export class SampleContract2 implements Contract { - - static async init() { - return await SampleContract2_init(); - } - - static async fromInit() { - const init = await SampleContract2_init(); - const address = contractAddress(0, init); - return new SampleContract2(address, init); - } - - static fromAddress(address: Address) { - return new SampleContract2(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: SampleContract2_types, - getters: SampleContract2_getters, - receivers: SampleContract2_receivers, - errors: SampleContract2_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null | First | Second) { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'First') { - body = beginCell().store(storeFirst(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Second') { - body = beginCell().store(storeSecond(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - -} \ No newline at end of file diff --git a/src/test/features/output/constants_ConstantTester.abi b/src/test/features/output/constants_ConstantTester.abi deleted file mode 100644 index 74088af2b..000000000 --- a/src/test/features/output/constants_ConstantTester.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"ConstantTester","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}],"receivers":[],"getters":[{"name":"something1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"something2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"something3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"something4","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"something5","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"something6","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"something7","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"something8","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"globalConst","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/constants_ConstantTester.code.boc b/src/test/features/output/constants_ConstantTester.code.boc deleted file mode 100644 index 8b91b87a0..000000000 Binary files a/src/test/features/output/constants_ConstantTester.code.boc and /dev/null differ diff --git a/src/test/features/output/constants_ConstantTester.code.boc.html b/src/test/features/output/constants_ConstantTester.code.boc.html deleted file mode 100644 index 4b87d0e88..000000000 --- a/src/test/features/output/constants_ConstantTester.code.boc.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_84155;
-            ..DECLPROC ?fun_100663;
-            ..DECLPROC ?fun_104726;
-            ..DECLPROC ?fun_108917;
-            ..DECLPROC ?fun_112980;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC ?fun_116577;
-            ..DECLPROC ?fun_121234;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_125425;
-            ..DECLPROC ?fun_129488;
-            ..DECLPROC ?fun_ref_42b8b647cef00903;
-            ..DECLPROC ?fun_ref_51c934c84ea98141;
-            ..DECLPROC ?fun_ref_5a96edf722854a5b;
-            ..DECLPROC ?fun_ref_8045b0fe2c91fb92;
-            ..DECLPROC ?fun_ref_910ec180e80dbec2;
-            ..DECLPROC ?fun_ref_a05e0042bce184fb;
-            ..DECLPROC ?fun_ref_a6858c8b0d825234;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            ..DECLPROC ?fun_ref_c7cba78124f0aa01;
-            ..DECLPROC ?fun_ref_d31b4aed7a42e751;
-            ..DECLPROC ?fun_ref_e14184b5a22c67e2;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....ROTREV
-            ....?fun_ref_d31b4aed7a42e751 INLINECALLDICT
-            ....130 THROWIFNOT
-            ....s0 POP
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..?fun_84155 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_a6858c8b0d825234 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_100663 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_51c934c84ea98141 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_104726 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_5a96edf722854a5b INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_108917 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_c7cba78124f0aa01 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_112980 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_8045b0fe2c91fb92 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..?fun_116577 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_910ec180e80dbec2 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_121234 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_e14184b5a22c67e2 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D63726E35776F547A41673563486576344C436A7467354C667771377A686B453141417233464C6D626B38353382_} PUSHSLICE
-            ..}>
-            ..?fun_125425 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_129488 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_42b8b647cef00903 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..?fun_ref_42b8b647cef00903 PROCREF:<{
-            ....123000000000 PUSHINT
-            ..}>
-            ..?fun_ref_51c934c84ea98141 PROCREF:<{
-            ....456000000000 PUSHINT
-            ..}>
-            ..?fun_ref_5a96edf722854a5b PROCREF:<{
-            ....x{48656C6C6F20776F726C64218} PUSHSLICE
-            ..}>
-            ..?fun_ref_8045b0fe2c91fb92 PROCREF:<{
-            ....5 PUSHINT
-            ..}>
-            x1..?fun_ref_910ec180e80dbec2 PROCREF:<{
-            26x1....100 PUSHINT
-            x1..}>
-            x344..?fun_ref_a05e0042bce184fb PROCREF:<{
-            26x344....c4 PUSH
-            118x344....CTOS
-            18x344....LDREF
-            18x344....s0 s1 XCHG
-            30x344....3 SETGLOBVAR
-            26x344....1 LDI
-            18x344....s0 POP
-            18x344....<{
-            18x273......NULL
-            18x344....}> PUSHCONT
-            18x344....IFJMP
-            26x71....MYADDR
-            34x71....11 PLDU
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....137 THROWIFNOT
-            126x71....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x344..}>
-            ..?fun_ref_a6858c8b0d825234 PROCREF:<{
-            ....4 PUSHINT
-            ..}>
-            x80..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x80....NULL
-            x80..}>
-            ..?fun_ref_c7cba78124f0aa01 PROCREF:<{
-            ....10 PUSHINT
-            ..}>
-            ..?fun_ref_d31b4aed7a42e751 PROCREF:<{
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....SBITS
-            ....s1 POP
-            ....31 GTINT
-            ....s0 POP
-            ....0 PUSHINT
-            ..}>
-            ..?fun_ref_e14184b5a22c67e2 PROCREF:<{
-            ....11 PUSHINT
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/constants_ConstantTester.code.fc b/src/test/features/output/constants_ConstantTester.code.fc deleted file mode 100644 index fc38668e4..000000000 --- a/src/test/features/output/constants_ConstantTester.code.fc +++ /dev/null @@ -1,185 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "constants_ConstantTester.headers.fc"; -#include "constants_ConstantTester.stdlib.fc"; -#include "constants_ConstantTester.constants.fc"; -#include "constants_ConstantTester.storage.fc"; - -;; -;; Contract ConstantTester functions -;; - -tuple $ConstantTester$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -(tuple, int) $ConstantTester$_fun_something1(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 11); -} - -(tuple, int) $ConstantTester$_fun_something2(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, null()); -} - -(tuple, int) $ConstantTester$_fun_something3(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 123000000000); -} - -(tuple, int) $ConstantTester$_fun_something4(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 456000000000); -} - -(tuple, slice) $ConstantTester$_fun_something5(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, __gen_slice_string_be033138a8e284b3da1cee56e92447de2368f6431d64a3c6fe4db3183aeb9c36()); -} - -(tuple, int) $ConstantTester$_fun_something6(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 10); -} - -(tuple, int) $ConstantTester$_fun_something7(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 5); -} - -(tuple, int) $ConstantTester$_fun_something8(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 4); -} - -(tuple, int) $ConstantTester$_fun_globalConst(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 100); -} - -;; -;; Receivers of a Contract ConstantTester -;; - -;; -;; Get methods of a Contract ConstantTester -;; - -_ %something1() method_id(121234) { - var self = $ConstantTester$_contract_load(); - var res = self~$ConstantTester$_fun_something1(); - return res; -} - -_ %something2() method_id(125425) { - var self = $ConstantTester$_contract_load(); - var res = self~$ConstantTester$_fun_something2(); - return res; -} - -_ %something3() method_id(129488) { - var self = $ConstantTester$_contract_load(); - var res = self~$ConstantTester$_fun_something3(); - return res; -} - -_ %something4() method_id(100663) { - var self = $ConstantTester$_contract_load(); - var res = self~$ConstantTester$_fun_something4(); - return res; -} - -_ %something5() method_id(104726) { - var self = $ConstantTester$_contract_load(); - var res = self~$ConstantTester$_fun_something5(); - return res; -} - -_ %something6() method_id(108917) { - var self = $ConstantTester$_contract_load(); - var res = self~$ConstantTester$_fun_something6(); - return res; -} - -_ %something7() method_id(112980) { - var self = $ConstantTester$_contract_load(); - var res = self~$ConstantTester$_fun_something7(); - return res; -} - -_ %something8() method_id(84155) { - var self = $ConstantTester$_contract_load(); - var res = self~$ConstantTester$_fun_something8(); - return res; -} - -_ %globalConst() method_id(116577) { - var self = $ConstantTester$_contract_load(); - var res = self~$ConstantTester$_fun_globalConst(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://Qmcrn5woTzAg5cHev4LCjtg5Lfwq7zhkE1AAr3FLmbk853"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract ConstantTester -;; - -(tuple, int) $ConstantTester$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $ConstantTester$_contract_load(); - - ;; Handle operation - int handled = self~$ConstantTester$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $ConstantTester$_contract_store(self); -} diff --git a/src/test/features/output/constants_ConstantTester.code.fif b/src/test/features/output/constants_ConstantTester.code.fif deleted file mode 100644 index 199384db5..000000000 --- a/src/test/features/output/constants_ConstantTester.code.fif +++ /dev/null @@ -1,208 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $ConstantTester$_contract_init - DECLPROC $ConstantTester$_contract_load - DECLPROC $ConstantTester$_contract_store - DECLPROC $ConstantTester$_fun_something1 - DECLPROC $ConstantTester$_fun_something2 - DECLPROC $ConstantTester$_fun_something3 - DECLPROC $ConstantTester$_fun_something4 - DECLPROC $ConstantTester$_fun_something5 - DECLPROC $ConstantTester$_fun_something6 - DECLPROC $ConstantTester$_fun_something7 - DECLPROC $ConstantTester$_fun_something8 - DECLPROC $ConstantTester$_fun_globalConst - 121234 DECLMETHOD %something1 - 125425 DECLMETHOD %something2 - 129488 DECLMETHOD %something3 - 100663 DECLMETHOD %something4 - 104726 DECLMETHOD %something5 - 108917 DECLMETHOD %something6 - 112980 DECLMETHOD %something7 - 84155 DECLMETHOD %something8 - 116577 DECLMETHOD %globalConst - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $ConstantTester$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $ConstantTester$_contract_init PROCREF:<{ - PUSHNULL - }> - $ConstantTester$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $ConstantTester$_contract_init INLINECALLDICT - }> - $ConstantTester$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $ConstantTester$_fun_something1 PROCREF:<{ - 11 PUSHINT - }> - $ConstantTester$_fun_something2 PROCREF:<{ - PUSHNULL - }> - $ConstantTester$_fun_something3 PROCREF:<{ - 123000000000 PUSHINT - }> - $ConstantTester$_fun_something4 PROCREF:<{ - 456000000000 PUSHINT - }> - $ConstantTester$_fun_something5 PROCREF:<{ - B{b5ee9c7241010101000e00001848656c6c6f20776f726c6421782dc5bc} B>boc - $ConstantTester$_fun_something6 PROCREF:<{ - 10 PUSHINT - }> - $ConstantTester$_fun_something7 PROCREF:<{ - 5 PUSHINT - }> - $ConstantTester$_fun_something8 PROCREF:<{ - 4 PUSHINT - }> - $ConstantTester$_fun_globalConst PROCREF:<{ - 100 PUSHINT - }> - %something1 PROC:<{ - $ConstantTester$_contract_load INLINECALLDICT - $ConstantTester$_fun_something1 INLINECALLDICT - NIP - }> - %something2 PROC:<{ - $ConstantTester$_contract_load INLINECALLDICT - $ConstantTester$_fun_something2 INLINECALLDICT - NIP - }> - %something3 PROC:<{ - $ConstantTester$_contract_load INLINECALLDICT - $ConstantTester$_fun_something3 INLINECALLDICT - NIP - }> - %something4 PROC:<{ - $ConstantTester$_contract_load INLINECALLDICT - $ConstantTester$_fun_something4 INLINECALLDICT - NIP - }> - %something5 PROC:<{ - $ConstantTester$_contract_load INLINECALLDICT - $ConstantTester$_fun_something5 INLINECALLDICT - NIP - }> - %something6 PROC:<{ - $ConstantTester$_contract_load INLINECALLDICT - $ConstantTester$_fun_something6 INLINECALLDICT - NIP - }> - %something7 PROC:<{ - $ConstantTester$_contract_load INLINECALLDICT - $ConstantTester$_fun_something7 INLINECALLDICT - NIP - }> - %something8 PROC:<{ - $ConstantTester$_contract_load INLINECALLDICT - $ConstantTester$_fun_something8 INLINECALLDICT - NIP - }> - %globalConst PROC:<{ - $ConstantTester$_contract_load INLINECALLDICT - $ConstantTester$_fun_globalConst INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d63726e35776f547a41673563486576344c436a7467354c667771377a686b453141417233464c6d626b383533} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $ConstantTester$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - DUP - SBITS - NIP - 31 GTINT - IF:<{ - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $ConstantTester$_contract_load INLINECALLDICT - -ROT - $ConstantTester$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $ConstantTester$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/constants_ConstantTester.code.rev.fif b/src/test/features/output/constants_ConstantTester.code.rev.fif deleted file mode 100644 index 938b6143a..000000000 --- a/src/test/features/output/constants_ConstantTester.code.rev.fif +++ /dev/null @@ -1,193 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_84155; - DECLPROC ?fun_100663; - DECLPROC ?fun_104726; - DECLPROC ?fun_108917; - DECLPROC ?fun_112980; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC ?fun_116577; - DECLPROC ?fun_121234; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_125425; - DECLPROC ?fun_129488; - DECLPROC ?fun_ref_42b8b647cef00903; - DECLPROC ?fun_ref_51c934c84ea98141; - DECLPROC ?fun_ref_5a96edf722854a5b; - DECLPROC ?fun_ref_8045b0fe2c91fb92; - DECLPROC ?fun_ref_910ec180e80dbec2; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_a6858c8b0d825234; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_c7cba78124f0aa01; - DECLPROC ?fun_ref_d31b4aed7a42e751; - DECLPROC ?fun_ref_e14184b5a22c67e2; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_d31b4aed7a42e751 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_84155 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_a6858c8b0d825234 INLINECALLDICT - s1 POP - }> - ?fun_100663 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_51c934c84ea98141 INLINECALLDICT - s1 POP - }> - ?fun_104726 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_5a96edf722854a5b INLINECALLDICT - s1 POP - }> - ?fun_108917 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_c7cba78124f0aa01 INLINECALLDICT - s1 POP - }> - ?fun_112980 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_8045b0fe2c91fb92 INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - ?fun_116577 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_910ec180e80dbec2 INLINECALLDICT - s1 POP - }> - ?fun_121234 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_e14184b5a22c67e2 INLINECALLDICT - s1 POP - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D63726E35776F547A41673563486576344C436A7467354C667771377A686B453141417233464C6D626B38353382_} PUSHSLICE - }> - ?fun_125425 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - s1 POP - }> - ?fun_129488 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_42b8b647cef00903 INLINECALLDICT - s1 POP - }> - ?fun_ref_42b8b647cef00903 PROCREF:<{ - 123000000000 PUSHINT - }> - ?fun_ref_51c934c84ea98141 PROCREF:<{ - 456000000000 PUSHINT - }> - ?fun_ref_5a96edf722854a5b PROCREF:<{ - x{48656C6C6F20776F726C64218} PUSHSLICE - }> - ?fun_ref_8045b0fe2c91fb92 PROCREF:<{ - 5 PUSHINT - }> - ?fun_ref_910ec180e80dbec2 PROCREF:<{ - 100 PUSHINT - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_a6858c8b0d825234 PROCREF:<{ - 4 PUSHINT - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_c7cba78124f0aa01 PROCREF:<{ - 10 PUSHINT - }> - ?fun_ref_d31b4aed7a42e751 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - SBITS - s1 POP - 31 GTINT - s0 POP - 0 PUSHINT - }> - ?fun_ref_e14184b5a22c67e2 PROCREF:<{ - 11 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/constants_ConstantTester.constants.fc b/src/test/features/output/constants_ConstantTester.constants.fc deleted file mode 100644 index 34b1a127f..000000000 --- a/src/test/features/output/constants_ConstantTester.constants.fc +++ /dev/null @@ -1,2 +0,0 @@ -;; String "Hello world!" -slice __gen_slice_string_be033138a8e284b3da1cee56e92447de2368f6431d64a3c6fe4db3183aeb9c36() asm "B{b5ee9c7241010101000e00001848656c6c6f20776f726c6421782dc5bc} B>boc { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - - type ConstantTester_init_args = { - $$type: 'ConstantTester_init_args'; -} - -function initConstantTester_init_args(src: ConstantTester_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function ConstantTester_init() { - const __code = Cell.fromBase64('te6ccgECJQEAAgYAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UIgQCASAFBgAaAZIwf+Ag10kxwh8wcAIPvkXe2ebZ4YwiBwIBIAgJAAJ0AgEgCgsCASAWFwIBIAwNAgEgEBECD7JN9s82zwxgIg4CD7JFts82zwxgIg8ADoIYaiu30AAAHIvEhlbGxvIHdvcmxkIYAg+yXXbPNs8MYCISAgFqExQAAnoCDaaptnm2eGMiFQC3p6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4TsunLVmnZbmdB0s2yjN0UkAAnUCASAYGQIBICAhAgFIGhsCA5poHR4AEKq+7UTQ0gABAg6rYds82zwxIhwABIBkAg2sts82zwxgIh8Ac67jQ1aXBmczovL1FtY3JuNXdvVHpBZzVjSGV2NExDanRnNUxmd3E3emhrRTFBQXIzRkxtYms4NTOCAABIALAg+yfHbPNs8MYCIkAg+ydDbPNs8MYCIjATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPCQADoIYHKNfDgAAAm0='); - const __system = Cell.fromBase64('te6cckECJwEAAhAAAQHAAQEFoPkDAgEU/wD0pBP0vPLICwMCAWIjBAIBICEFAgEgFAYCASALBwIBIAoIAg+ydDbPNs8MYCUJAA6CGByjXw4AAg+yfHbPNs8MYCUmAgEgEAwCA5poDg0Ac67jQ1aXBmczovL1FtY3JuNXdvVHpBZzVjSGV2NExDanRnNUxmd3E3emhrRTFBQXIzRkxtYms4NTOCACDay2zzbPDGAlDwAEgAsCAUgTEQIOq2HbPNs8MSUSAASAZAAQqr7tRNDSAAECASAcFQIBIBoWAgFqGBcAt6ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOE7Lpy1Zp2W5nQdLNsozdFJAg2mqbZ5tnhjJRkAAnUCD7Jdds82zwxgJRsAAnoCASAfHQIPskW2zzbPDGAlHgAci8SGVsbG8gd29ybGQhgCD7JN9s82zwxgJSAADoIYaiu30AACD75F3tnm2eGMJSIAAnQCktAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQlJAAaAZIwf+Ag10kxwh8wcAE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwmAAJtGJ7XKA=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initConstantTester_init_args({ $$type: 'ConstantTester_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const ConstantTester_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const ConstantTester_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, -] - -const ConstantTester_getters: ABIGetter[] = [ - {"name":"something1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"something2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"something3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"something4","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"something5","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"something6","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"something7","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"something8","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"globalConst","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const ConstantTester_receivers: ABIReceiver[] = [ -] - -export class ConstantTester implements Contract { - - static async init() { - return await ConstantTester_init(); - } - - static async fromInit() { - const init = await ConstantTester_init(); - const address = contractAddress(0, init); - return new ConstantTester(address, init); - } - - static fromAddress(address: Address) { - return new ConstantTester(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: ConstantTester_types, - getters: ConstantTester_getters, - receivers: ConstantTester_receivers, - errors: ConstantTester_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async getSomething1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('something1', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getSomething2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('something2', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getSomething3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('something3', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getSomething4(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('something4', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getSomething5(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('something5', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getSomething6(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('something6', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getSomething7(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('something7', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getSomething8(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('something8', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGlobalConst(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('globalConst', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/debug_Debug.abi b/src/test/features/output/debug_Debug.abi deleted file mode 100644 index be59ddf91..000000000 --- a/src/test/features/output/debug_Debug.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Debug","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Debug"}},{"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}],"getters":[{"name":"debug","arguments":[],"returnType":null}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/debug_Debug.code.boc b/src/test/features/output/debug_Debug.code.boc deleted file mode 100644 index b57debae3..000000000 Binary files a/src/test/features/output/debug_Debug.code.boc and /dev/null differ diff --git a/src/test/features/output/debug_Debug.code.boc.html b/src/test/features/output/debug_Debug.code.boc.html deleted file mode 100644 index c98375703..000000000 --- a/src/test/features/output/debug_Debug.code.boc.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_93099;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_2409c879affe1754;
-            ..DECLPROC ?fun_ref_5f70fa418758b2dd;
-            ..DECLPROC ?fun_ref_930ee6d46a468015;
-            ..DECLPROC ?fun_ref_98bd73e77ae39d4b;
-            ..DECLPROC ?fun_ref_a05e0042bce184fb;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            x2..recv_internal PROC:<{
-            18x2....s0 s1 XCHG
-            118x2....CTOS
-            26x2....4 LDU
-            18x2....s0 s1 XCHG
-            18x2....1 PUSHINT
-            18x2....AND
-            18x2....-1 MULCONST
-            18x2....s0 s1 XCHG
-            26x2....LDMSGADDR
-            18x2....s0 s1 XCHG
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            34x2....137 THROWIF
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            34x2....s0 s6 s4 PUXCPU
-            18x2....s0 s3 XCHG
-            30x2....4 TUPLE
-            28x2....1 SETGLOBVAR
-            18x2....s0 s2 XCHG
-            29x2....2 SETGLOBVAR
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....ROTREV
-            126x2....?fun_ref_5f70fa418758b2dd INLINECALLDICT
-            34x2....130 THROWIFNOT
-            18x2....s0 POP
-            18x2....NEWC
-            26x2....3 GETGLOBVAR
-            18x2....s0 s1 XCHG
-            18x2....STREF
-            18x2....-1 PUSHINT
-            18x2....s0 s1 XCHG
-            26x2....1 STI
-            518x2....ENDC
-            26x2....c4 POP
-            x2..}>
-            ..?fun_93099 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....?fun_ref_930ee6d46a468015 INLINECALLDICT
-            ....s0 POP
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D6244774B7A7058787036545539473252477A39574A56313267446B6D715951316271544D4643396E4B32787A82_} PUSHSLICE
-            ..}>
-            x5..?fun_ref_2409c879affe1754 PROCREF:<{
-            18x5....NEWC
-            18x5....s1 PUSH
-            26x5....0 LESSINT
-            18x5....<{
-            26x1......45 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......8 STU
-            18x1......s0 s1 XCHG
-            18x1......-1 MULCONST
-            18x1......s0 s1 XCHG
-            18x5....}> PUSHCONT
-            18x5....IF
-            18x5....s1 PUSH
-            23x5....931322574615478515625 PUSHINT
-            26x5....30 LSHIFT
-            18x5....LESS
-            26x5....<{
-            18x4......0 PUSHINT
-            18x4......s0 PUSH
-            18x4......1 PUSHINT
-            26x4......<{
-            18x17........s0 s4 XCHG
-            18x17........10 PUSHINT
-            26x17........false 0 false 3 0 DIV
-            26x17........48 ADD
-            18x17........s5 PUSH
-            18x17........MUL
-            18x17........s1 s2 XCHG
-            18x17........ADD
-            18x17........s0 s4 XCHG
-            26x17........8 LSHIFT
-            18x17........s0 s2 XCHG
-            18x17........INC
-            18x17........s1 PUSH
-            26x17........0 EQINT
-            26x17........s5 s3 s0 XCHG3
-            26x4......}> PUSHCONT
-            18x4......UNTIL
-            18x4......s0 POP
-            18x4......s3 POP
-            26x4......3 LSHIFT
-            26x4......STUX
-            26x5....}> PUSHCONT
-            26x5....<{
-            26x1......0 TUPLE
-            18x1......0 PUSHINT
-            26x1......<{
-            18x61........s3 PUSH
-            18x61........10 PUSHINT
-            26x61........false 0 false 2 0 DIV
-            18x61........s1 s2 XCHG
-            87x61........TPUSH
-            18x61........s0 s1 XCHG
-            18x61........INC
-            18x61........s0 s3 XCHG
-            18x61........10 PUSHINT
-            26x61........false 0 false 1 0 DIV
-            18x61........s0 PUSH
-            26x61........0 EQINT
-            18x61........s1 s4 XCHG
-            26x1......}> PUSHCONT
-            18x1......UNTIL
-            18x1......s3 POP
-            18x1......s2 PUSH
-            18x1......-1 ADD
-            18x1......s0 s3 XCHG
-            18x1......<{
-            26x61........s0 s2 PUSH2
-            26x61........INDEXVAR
-            26x61........48 ADD
-            18x61........ROT
-            26x61........8 STU
-            18x61........s0 s2 XCHG
-            18x61........-1 ADD
-            18x61........ROTREV
-            18x1......}> PUSHCONT
-            18x1......REPEAT
-            18x1......s0 POP
-            18x1......s1 POP
-            26x5....}> PUSHCONT
-            18x5....IFELSE
-            518x5....ENDC
-            118x5....CTOS
-            x5..}>
-            x2..?fun_ref_5f70fa418758b2dd PROCREF:<{
-            26x2....2 SAVE
-            26x2....SAMEALTSAVE
-            18x2....s0 s1 XCHG
-            18x2....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x2....}> PUSHCONT
-            18x2....IFJMP
-            18x2....0 PUSHINT
-            18x2....s1 PUSH
-            26x2....SBITS
-            26x2....31 GTINT
-            18x2....<{
-            18x2......s0 POP
-            18x2......s0 PUSH
-            34x2......32 PLDU
-            18x2....}> PUSHCONT
-            18x2....IF
-            18x2....s0 PUSH
-            23x2....2490013878 PUSHINT
-            18x2....EQUAL
-            26x2....<{
-            18x1......s0 POP
-            26x1......32 LDU
-            18x1......s0 s1 XCHG
-            23x1......2490013878 PUSHINT
-            18x1......EQUAL
-            34x1......129 THROWIFNOT
-            26x1......64 LDU
-            18x1......s0 s1 XCHG
-            18x1......s1 POP
-            18x1......NEWC
-            18x1......s0 s1 XCHG
-            23x1......2952335191 PUSHINT
-            18x1......ROT
-            26x1......32 STU
-            26x1......64 STU
-            518x1......ENDC
-            26x1......2 GETGLOBVAR
-            18x1......s0 s1 XCHG
-            18x1......0 PUSHINT
-            18x1......NULL
-            126x1......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            18x1......-1 PUSHINT
-            26x2....}> PUSHCONT
-            18x2....IFJMP
-            26x1....0 EQINT
-            18x1....<{
-            ......s0 POP
-            18x1....}> PUSHCONT
-            126x1....<{
-            526x1......HASHSU
-            23x1......78767043930632832884184893608813340453083540642055662257146169686053766160215 PUSHINT
-            18x1......EQUAL
-            26x1......<{
-            26x1........DUMPSTK
-            22x1........x{48656C6C6F20776F726C64218} PUSHSLICE
-            26x1........STRDUMP
-            18x1........s0 POP
-            26x1........123 PUSHINT
-            126x1........?fun_ref_2409c879affe1754 INLINECALLDICT
-            26x1........STRDUMP
-            18x1........s0 POP
-            18x1........-1 PUSHINT
-            126x1........?fun_ref_98bd73e77ae39d4b INLINECALLDICT
-            18x1........0 PUSHINT
-            51x1........?fun_ref_98bd73e77ae39d4b INLINECALLDICT
-            22x1........x{6E756C6C8} PUSHSLICE
-            26x1........STRDUMP
-            18x1........s0 POP
-            18x1........-1 PUSHINT
-            26x1........RETFALSE
-            26x1......}> PUSHCONT
-            18x1......IFJMP
-            126x1....}> IFREFELSE
-            ....0 PUSHINT
-            x2..}>
-            ..?fun_ref_930ee6d46a468015 PROCREF:<{
-            ....DUMPSTK
-            ....x{48656C6C6F20776F726C64218} PUSHSLICE
-            ....STRDUMP
-            ....s0 POP
-            ....123 PUSHINT
-            ....?fun_ref_2409c879affe1754 INLINECALLDICT
-            ....STRDUMP
-            ....s0 POP
-            ....-1 PUSHINT
-            ....?fun_ref_98bd73e77ae39d4b INLINECALLDICT
-            ....0 PUSHINT
-            ....?fun_ref_98bd73e77ae39d4b INLINECALLDICT
-            ....x{6E756C6C8} PUSHSLICE
-            ....STRDUMP
-            ....s0 POP
-            ..}>
-            x2..?fun_ref_98bd73e77ae39d4b PROCREF:<{
-            18x2....<{
-            22x1......x{747275658} PUSHSLICE
-            26x1......STRDUMP
-            18x1......s0 POP
-            18x2....}> PUSHCONT
-            18x2....<{
-            22x1......x{66616C73658} PUSHSLICE
-            26x1......STRDUMP
-            18x1......s0 POP
-            18x2....}> PUSHCONT
-            18x2....IFELSE
-            x2..}>
-            x344..?fun_ref_a05e0042bce184fb PROCREF:<{
-            26x344....c4 PUSH
-            118x344....CTOS
-            18x344....LDREF
-            18x344....s0 s1 XCHG
-            30x344....3 SETGLOBVAR
-            26x344....1 LDI
-            18x344....s0 POP
-            18x344....<{
-            18x273......NULL
-            18x344....}> PUSHCONT
-            18x344....IFJMP
-            26x71....MYADDR
-            34x71....11 PLDU
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....137 THROWIFNOT
-            126x71....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x344..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x80..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x80....NULL
-            x80..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/debug_Debug.code.fc b/src/test/features/output/debug_Debug.code.fc deleted file mode 100644 index ea4619811..000000000 --- a/src/test/features/output/debug_Debug.code.fc +++ /dev/null @@ -1,139 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "debug_Debug.headers.fc"; -#include "debug_Debug.stdlib.fc"; -#include "debug_Debug.constants.fc"; -#include "debug_Debug.storage.fc"; - -;; -;; Contract Debug functions -;; - -tuple $Debug$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -(tuple, ()) $Debug$_fun_debug(tuple $self) impure inline_ref { - var ($self) = $self; - dump_stack(); - __tact_debug_str(__gen_slice_string_be033138a8e284b3da1cee56e92447de2368f6431d64a3c6fe4db3183aeb9c36()); - __tact_debug_str(__tact_int_to_string(123)); - __tact_debug_bool(true); - __tact_debug_bool(false); - __tact_debug_str("null"); - return ($self, ()); -} - -;; -;; Receivers of a Contract Debug -;; - -(tuple, ()) $Debug$_internal_text_ae249126308fef6639c0700d2103e444d8b335cde82fdc21c87c3b7bc1b9df57(tuple $self) impure inline { - var $self = $self; - dump_stack(); - __tact_debug_str(__gen_slice_string_be033138a8e284b3da1cee56e92447de2368f6431d64a3c6fe4db3183aeb9c36()); - __tact_debug_str(__tact_int_to_string(123)); - __tact_debug_bool(true); - __tact_debug_bool(false); - __tact_debug_str("null"); - return ($self, ()); -} - -((tuple), ()) $Debug$_internal_binary_Deploy(tuple $self, (int) $deploy) impure inline { - var $self = $self; - var ($deploy'queryId) = $deploy; - $self~$Debug$_fun_notify($DeployOk$_store_cell($DeployOk$_constructor_queryId($deploy'queryId))); - return ($self, ()); -} - -;; -;; Get methods of a Contract Debug -;; - -_ %debug() method_id(93099) { - var self = $Debug$_contract_load(); - var res = self~$Debug$_fun_debug(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmbDwKzpXxp6TU9G2RGz9WJV12gDkmqYQ1bqTMFC9nK2xz"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Debug -;; - -(tuple, int) $Debug$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Deploy message - if (op == 2490013878) { - var msg = in_msg~$Deploy$_load(); - self~$Debug$_internal_binary_Deploy(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Debug" message - if (text_op == 0xae249126308fef6639c0700d2103e444d8b335cde82fdc21c87c3b7bc1b9df57) { - self~$Debug$_internal_text_ae249126308fef6639c0700d2103e444d8b335cde82fdc21c87c3b7bc1b9df57(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Debug$_contract_load(); - - ;; Handle operation - int handled = self~$Debug$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Debug$_contract_store(self); -} diff --git a/src/test/features/output/debug_Debug.code.fif b/src/test/features/output/debug_Debug.code.fif deleted file mode 100644 index 29676d285..000000000 --- a/src/test/features/output/debug_Debug.code.fif +++ /dev/null @@ -1,486 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_debug_bool - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC __tact_int_to_string - DECLPROC $Deploy$_load - DECLPROC $DeployOk$_store - DECLPROC $DeployOk$_store_cell - DECLPROC $StateInit$_not_null - DECLPROC $Debug$_contract_init - DECLPROC $Debug$_contract_load - DECLPROC $Debug$_contract_store - DECLPROC $global_send - DECLPROC $Debug$_fun_debug - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $Debug$_fun_forward - DECLPROC $Debug$_fun_notify - DECLPROC $DeployOk$_constructor_queryId - DECLPROC $Debug$_internal_text_ae249126308fef6639c0700d2103e444d8b335cde82fdc21c87c3b7bc1b9df57 - DECLPROC $Debug$_internal_binary_Deploy - 93099 DECLMETHOD %debug - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Debug$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_debug_bool PROCREF:<{ - IF:<{ - x{74727565} PUSHSLICE - STRDUMP - DROP - }>ELSE<{ - x{66616c7365} PUSHSLICE - STRDUMP - DROP - }> - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_int_to_string PROCREF:<{ - NEWC - OVER - 0 LESSINT - IF:<{ - 45 PUSHINT - SWAP - 8 STU - SWAP - NEGATE - SWAP - }> - OVER - 1000000000000000000000000000000 PUSHINTX - LESS - IF:<{ - 0 PUSHINT - DUP - 1 PUSHINT - UNTIL:<{ - s0 s4 XCHG - 10 PUSHINT - DIVMOD - 48 ADDCONST - s5 PUSH - MUL - s1 s2 XCHG - ADD - s0 s4 XCHG - 8 LSHIFT# - s0 s2 XCHG - INC - OVER - 0 EQINT - s5 s3 s0 XCHG3 - }> - DROP - s3 POP - 3 LSHIFT# - STUX - }>ELSE<{ - NIL - 0 PUSHINT - UNTIL:<{ - s3 PUSH - 10 PUSHINT - MOD - s1 s2 XCHG - TPUSH - SWAP - INC - s0 s3 XCHG - 10 PUSHINT - DIV - DUP - 0 EQINT - s1 s4 XCHG - }> - s3 POP - s2 PUSH - DEC - s0 s3 XCHG - REPEAT:<{ - s0 s2 PUSH2 - INDEXVAR - 48 ADDCONST - ROT - 8 STU - s0 s2 XCHG - DEC - -ROT - }> - DROP - NIP - }> - ENDC - CTOS - }> - $Deploy$_load PROCINLINE:<{ - 32 LDU - SWAP - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - SWAP - }> - $DeployOk$_store PROCINLINE:<{ - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - }> - $DeployOk$_store_cell PROCINLINE:<{ - NEWC - SWAP - $DeployOk$_store INLINECALLDICT - ENDC - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $Debug$_contract_init PROCREF:<{ - PUSHNULL - }> - $Debug$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $Debug$_contract_init INLINECALLDICT - }> - $Debug$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $Debug$_fun_debug PROCREF:<{ - DUMPSTK - B{b5ee9c7241010101000e00001848656c6c6f20776f726c6421782dc5bc} B>boc - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $Debug$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $Debug$_fun_notify PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - FALSE - PUSHNULL - $Debug$_fun_forward INLINECALLDICT - }> - $DeployOk$_constructor_queryId PROCINLINE:<{ - }> - $Debug$_internal_text_ae249126308fef6639c0700d2103e444d8b335cde82fdc21c87c3b7bc1b9df57 PROCINLINE:<{ - DUMPSTK - B{b5ee9c7241010101000e00001848656c6c6f20776f726c6421782dc5bc} B>boc - $Debug$_internal_binary_Deploy PROCINLINE:<{ - $DeployOk$_constructor_queryId INLINECALLDICT - $DeployOk$_store_cell INLINECALLDICT - $Debug$_fun_notify INLINECALLDICT - }> - %debug PROC:<{ - $Debug$_contract_load INLINECALLDICT - $Debug$_fun_debug INLINECALLDICT - DROP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d6244774b7a7058787036545539473252477a39574a56313267446b6d715951316271544d4643396e4b32787a} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Debug$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 2490013878 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Deploy$_load INLINECALLDICT - NIP - $Debug$_internal_binary_Deploy INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - 78767043930632832884184893608813340453083540642055662257146169686053766160215 PUSHINT - EQUAL - IFJMP:<{ - $Debug$_internal_text_ae249126308fef6639c0700d2103e444d8b335cde82fdc21c87c3b7bc1b9df57 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Debug$_contract_load INLINECALLDICT - -ROT - $Debug$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Debug$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/debug_Debug.code.rev.fif b/src/test/features/output/debug_Debug.code.rev.fif deleted file mode 100644 index d64a1a489..000000000 --- a/src/test/features/output/debug_Debug.code.rev.fif +++ /dev/null @@ -1,467 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_93099; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_2409c879affe1754; - DECLPROC ?fun_ref_5f70fa418758b2dd; - DECLPROC ?fun_ref_930ee6d46a468015; - DECLPROC ?fun_ref_98bd73e77ae39d4b; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_e31d986f279fa0fb; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_5f70fa418758b2dd INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_93099 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_930ee6d46a468015 INLINECALLDICT - s0 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D6244774B7A7058787036545539473252477A39574A56313267446B6D715951316271544D4643396E4B32787A82_} PUSHSLICE - }> - ?fun_ref_2409c879affe1754 PROCREF:<{ - NEWC - s1 PUSH - 0 LESSINT - <{ - 45 PUSHINT - s0 s1 XCHG - 8 STU - s0 s1 XCHG - -1 MULCONST - s0 s1 XCHG - }> PUSHCONT - IF - s1 PUSH - 931322574615478515625 PUSHINT - 30 LSHIFT - LESS - <{ - 0 PUSHINT - s0 PUSH - 1 PUSHINT - <{ - s0 s4 XCHG - 10 PUSHINT - false 0 false 3 0 DIV - 48 ADD - s5 PUSH - MUL - s1 s2 XCHG - ADD - s0 s4 XCHG - 8 LSHIFT - s0 s2 XCHG - INC - s1 PUSH - 0 EQINT - s5 s3 s0 XCHG3 - }> PUSHCONT - UNTIL - s0 POP - s3 POP - 3 LSHIFT - STUX - }> PUSHCONT - <{ - 0 TUPLE - 0 PUSHINT - <{ - s3 PUSH - 10 PUSHINT - false 0 false 2 0 DIV - s1 s2 XCHG - TPUSH - s0 s1 XCHG - INC - s0 s3 XCHG - 10 PUSHINT - false 0 false 1 0 DIV - s0 PUSH - 0 EQINT - s1 s4 XCHG - }> PUSHCONT - UNTIL - s3 POP - s2 PUSH - -1 ADD - s0 s3 XCHG - <{ - s0 s2 PUSH2 - INDEXVAR - 48 ADD - ROT - 8 STU - s0 s2 XCHG - -1 ADD - ROTREV - }> PUSHCONT - REPEAT - s0 POP - s1 POP - }> PUSHCONT - IFELSE - ENDC - CTOS - }> - ?fun_ref_5f70fa418758b2dd PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 2490013878 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - s0 s1 XCHG - s1 POP - NEWC - s0 s1 XCHG - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - 0 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 EQINT - <{ - s0 POP - }> PUSHCONT - <{ - HASHSU - 78767043930632832884184893608813340453083540642055662257146169686053766160215 PUSHINT - EQUAL - <{ - DUMPSTK - x{48656C6C6F20776F726C64218} PUSHSLICE - STRDUMP - s0 POP - 123 PUSHINT - ?fun_ref_2409c879affe1754 INLINECALLDICT - STRDUMP - s0 POP - -1 PUSHINT - ?fun_ref_98bd73e77ae39d4b INLINECALLDICT - 0 PUSHINT - ?fun_ref_98bd73e77ae39d4b INLINECALLDICT - x{6E756C6C8} PUSHSLICE - STRDUMP - s0 POP - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> IFREFELSE - 0 PUSHINT - }> - ?fun_ref_930ee6d46a468015 PROCREF:<{ - DUMPSTK - x{48656C6C6F20776F726C64218} PUSHSLICE - STRDUMP - s0 POP - 123 PUSHINT - ?fun_ref_2409c879affe1754 INLINECALLDICT - STRDUMP - s0 POP - -1 PUSHINT - ?fun_ref_98bd73e77ae39d4b INLINECALLDICT - 0 PUSHINT - ?fun_ref_98bd73e77ae39d4b INLINECALLDICT - x{6E756C6C8} PUSHSLICE - STRDUMP - s0 POP - }> - ?fun_ref_98bd73e77ae39d4b PROCREF:<{ - <{ - x{747275658} PUSHSLICE - STRDUMP - s0 POP - }> PUSHCONT - <{ - x{66616C73658} PUSHSLICE - STRDUMP - s0 POP - }> PUSHCONT - IFELSE - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/debug_Debug.constants.fc b/src/test/features/output/debug_Debug.constants.fc deleted file mode 100644 index 34b1a127f..000000000 --- a/src/test/features/output/debug_Debug.constants.fc +++ /dev/null @@ -1,2 +0,0 @@ -;; String "Hello world!" -slice __gen_slice_string_be033138a8e284b3da1cee56e92447de2368f6431d64a3c6fe4db3183aeb9c36() asm "B{b5ee9c7241010101000e00001848656c6c6f20776f726c6421782dc5bc} B>boc X __tact_not_null(X x) inline; - -;; __tact_debug_bool -() __tact_debug_bool(int value) impure inline_ref; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_int_to_string -slice __tact_int_to_string(int src) inline_ref; - -;; $Deploy$_load -(slice, ((int))) $Deploy$_load(slice sc_0) inline; - -;; $DeployOk$_store -builder $DeployOk$_store(builder build_0, (int) v) inline; - -;; $DeployOk$_store_cell -cell $DeployOk$_store_cell((int) v) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $Debug$_contract_init -tuple $Debug$_contract_init() impure inline_ref; - -;; $Debug$_contract_load -tuple $Debug$_contract_load() impure inline_ref; - -;; $Debug$_contract_store -() $Debug$_contract_store(tuple v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $Debug$_fun_debug -(tuple, ()) $Debug$_fun_debug(tuple $self) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $Debug$_fun_forward -(tuple, ()) $Debug$_fun_forward(tuple $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $Debug$_fun_notify -(tuple, ()) $Debug$_fun_notify(tuple $self, cell $body) impure inline; - -;; $DeployOk$_constructor_queryId -((int)) $DeployOk$_constructor_queryId(int queryId) inline; diff --git a/src/test/features/output/debug_Debug.md b/src/test/features/output/debug_Debug.md deleted file mode 100644 index 3ddc4c536..000000000 --- a/src/test/features/output/debug_Debug.md +++ /dev/null @@ -1,61 +0,0 @@ -# TACT Compilation Report -Contract: Debug -BOC Size: 903 bytes - -# Types -Total Types: 6 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Deploy -TLB: `deploy#946a98b6 queryId:uint64 = Deploy` -Signature: `Deploy{queryId:uint64}` - -## DeployOk -TLB: `deploy_ok#aff90f57 queryId:uint64 = DeployOk` -Signature: `DeployOk{queryId:uint64}` - -## FactoryDeploy -TLB: `factory_deploy#6d0ff13b queryId:uint64 cashback:address = FactoryDeploy` -Signature: `FactoryDeploy{queryId:uint64,cashback:address}` - -# Get Methods -Total Get Methods: 1 - -## debug - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/debug_Debug.pkg b/src/test/features/output/debug_Debug.pkg deleted file mode 100644 index 31389c4f3..000000000 --- a/src/test/features/output/debug_Debug.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Debug","code":"te6ccgECFAEAA3sAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UCwQCASAJCgKg7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEJRqmLa6jqgw0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4MAAkTDjDXAFBgE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwHA6j5AYLwriSRJjCP72Y5wHANIQPkRNizNc3oL9whyHw7e8G531e6j6z+AIvEhlbGxvIHdvcmxkIY/hQwgHvbPP4UMH/bPHDbPItG51bGyP4UMH/bMeAODw8ByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsACACYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAIPv11e2ebZ4YQLDAIBIBARATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPA0DUv4Ai8SGVsbG8gd29ybGQhj+FDCAe9s8/hQwf9s8cNs8i0bnVsbI/hQwDg8PAAJtAN7IIcEAmIAtAcsHAaMB3iGCODJ8snNBGdO3qaoduY4gcCBxjhQEeqkMpjAlqBKgBKoHAqQhwABFMOYwM6oCzwGOK28AcI4RI3qpCBJvjAGkA3qpBCDAABTmMyKlA5xTAm+BpjBYywcCpVnkMDHiydAALJmLR0cnVlj+FDCai1ZmFsc2WP4UMOIAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSAIBSBITABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbWJEd0t6cFh4cDZUVTlHMlJHejlXSlYxMmdEa21xWVExYnFUTUZDOW5LMnh6gg","abi":"{\"name\":\"Debug\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Deploy\",\"header\":2490013878,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"DeployOk\",\"header\":2952335191,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"FactoryDeploy\",\"header\":1829761339,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"cashback\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Debug\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Deploy\"}}],\"getters\":[{\"name\":\"debug\",\"arguments\":[],\"returnType\":null}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECFgEAA4UAAQHAAQEFoMY/AgEU/wD0pBP0vPLICwMCAWIMBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtYkR3S3pwWHhwNlRVOUcyUkd6OVdKVjEyZ0RrbXFZUTFicVRNRkM5bksyeHqCAAEbCvu1E0NIAAYAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAg+/XV7Z5tnhhBQLA1L+AIvEhlbGxvIHdvcmxkIY/hQwgHvbPP4UMH/bPHDbPItG51bGyP4UMBAPDwKS0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCMMj4QwHMfwHKAMntVBQNAqDtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQlGqYtrqOqDDTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gwACRMOMNcBEOA6j5AYLwriSRJjCP72Y5wHANIQPkRNizNc3oL9whyHw7e8G531e6j6z+AIvEhlbGxvIHdvcmxkIY/hQwgHvbPP4UMH/bPHDbPItG51bGyP4UMH/bMeAQDw8ALJmLR0cnVlj+FDCai1ZmFsc2WP4UMOIA3sghwQCYgC0BywcBowHeIYI4Mnyyc0EZ07epqh25jiBwIHGOFAR6qQymMCWoEqAEqgcCpCHAAEUw5jAzqgLPAY4rbwBwjhEjeqkIEm+MAaQDeqkEIMAAFOYzIqUDnFMCb4GmMFjLBwKlWeQwMeLJ0AE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwSAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABMAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwBNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8FQACbZNwXoc="}},"sources":{"src\\test\\features\\debug.tact":"aW1wb3J0ICJAc3RkbGliL2RlcGxveSI7DQoNCmNvbnRyYWN0IERlYnVnIHdpdGggRGVwbG95YWJsZSB7DQoNCiAgICBpbml0KCkgew0KICAgICAgICANCiAgICB9DQoNCiAgICByZWNlaXZlKCJEZWJ1ZyIpIHsNCiAgICAgICAgZHVtcFN0YWNrKCk7DQogICAgICAgIGR1bXAoIkhlbGxvIHdvcmxkISIpOw0KICAgICAgICBkdW1wKDEyMyk7DQogICAgICAgIGR1bXAodHJ1ZSk7DQogICAgICAgIGR1bXAoZmFsc2UpOw0KICAgICAgICBkdW1wKG51bGwpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZGVidWcoKSB7DQogICAgICAgIGR1bXBTdGFjaygpOw0KICAgICAgICBkdW1wKCJIZWxsbyB3b3JsZCEiKTsNCiAgICAgICAgZHVtcCgxMjMpOw0KICAgICAgICBkdW1wKHRydWUpOw0KICAgICAgICBkdW1wKGZhbHNlKTsNCiAgICAgICAgZHVtcChudWxsKTsNCiAgICB9DQp9"},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/debug.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/debug_Debug.stdlib.fc b/src/test/features/output/debug_Debug.stdlib.fc deleted file mode 100644 index 3cae19ab0..000000000 --- a/src/test/features/output/debug_Debug.stdlib.fc +++ /dev/null @@ -1,160 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -() __tact_debug_str(slice value) impure asm "STRDUMP" "DROP"; - -() __tact_debug_bool(int value) impure inline_ref { - if (value) { - __tact_debug_str("true"); - } else { - __tact_debug_str("false"); - } -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -slice __tact_int_to_string(int src) inline_ref { - var b = begin_cell(); - if (src < 0) { - b = b.store_uint(45, 8); - src = - src; - } - - if (src < 1000000000000000000000000000000) { - int len = 0; - int value = 0; - int mult = 1; - do { - (src, int res) = src.divmod(10); - value = value + (res + 48) * mult; - mult = mult * 256; - len = len + 1; - } until (src == 0); - - b = b.store_uint(value, len * 8); - } else { - tuple t = empty_tuple(); - int len = 0; - do { - int digit = src % 10; - t~tpush(digit); - len = len + 1; - src = src / 10; - } until (src == 0); - - int c = len - 1; - repeat(len) { - int v = t.at(c); - b = b.store_uint(v + 48, 8); - c = c - 1; - } - } - return b.end_cell().begin_parse(); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -(tuple, ()) $Debug$_fun_forward(tuple $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var ($self) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return ($self, ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return ($self, ()); -} - -(tuple, ()) $Debug$_fun_notify(tuple $self, cell $body) impure inline { - var ($self) = $self; - $self~$Debug$_fun_forward(__tact_context_get_sender(), $body, false, null()); - return ($self, ()); -} \ No newline at end of file diff --git a/src/test/features/output/debug_Debug.storage.fc b/src/test/features/output/debug_Debug.storage.fc deleted file mode 100644 index 6e443f5a2..000000000 --- a/src/test/features/output/debug_Debug.storage.fc +++ /dev/null @@ -1,76 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: Deploy -;; Header: 0x946a98b6 -;; TLB: deploy#946a98b6 queryId:uint64 = Deploy -;; - -(slice, ((int))) $Deploy$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2490013878); - var v'queryId = sc_0~load_uint(64); - return (sc_0, (v'queryId)); -} - -;; -;; Type: DeployOk -;; Header: 0xaff90f57 -;; TLB: deploy_ok#aff90f57 queryId:uint64 = DeployOk -;; - -builder $DeployOk$_store(builder build_0, (int) v) inline { - var (v'queryId) = v; - build_0 = store_uint(build_0, 2952335191, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell $DeployOk$_store_cell((int) v) inline { - return $DeployOk$_store(begin_cell(), v).end_cell(); -} - -((int)) $DeployOk$_constructor_queryId(int queryId) inline { - return (queryId); -} - -;; -;; Type: Debug -;; - -tuple $Debug$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $Debug$_contract_init(); - } -} - -() $Debug$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/debug_Debug.ts b/src/test/features/output/debug_Debug.ts deleted file mode 100644 index 287de21a3..000000000 --- a/src/test/features/output/debug_Debug.ts +++ /dev/null @@ -1,440 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Deploy = { - $$type: 'Deploy'; - queryId: bigint; -} - -export function storeDeploy(src: Deploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2490013878, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2490013878) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function loadTupleDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function storeTupleDeploy(source: Deploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeploy(src)).endCell()); - }, - parse: (src) => { - return loadDeploy(src.loadRef().beginParse()); - } - } -} - -export type DeployOk = { - $$type: 'DeployOk'; - queryId: bigint; -} - -export function storeDeployOk(src: DeployOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2952335191, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeployOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2952335191) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function loadTupleDeployOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function storeTupleDeployOk(source: DeployOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeployOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeployOk(src)).endCell()); - }, - parse: (src) => { - return loadDeployOk(src.loadRef().beginParse()); - } - } -} - -export type FactoryDeploy = { - $$type: 'FactoryDeploy'; - queryId: bigint; - cashback: Address; -} - -export function storeFactoryDeploy(src: FactoryDeploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1829761339, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.cashback); - }; -} - -export function loadFactoryDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1829761339) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _cashback = sc_0.loadAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function loadTupleFactoryDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _cashback = source.readAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function storeTupleFactoryDeploy(source: FactoryDeploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.cashback); - return builder.build(); -} - -function dictValueParserFactoryDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFactoryDeploy(src)).endCell()); - }, - parse: (src) => { - return loadFactoryDeploy(src.loadRef().beginParse()); - } - } -} - - type Debug_init_args = { - $$type: 'Debug_init_args'; -} - -function initDebug_init_args(src: Debug_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function Debug_init() { - const __code = Cell.fromBase64('te6ccgECFAEAA3sAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UCwQCASAJCgKg7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEJRqmLa6jqgw0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4MAAkTDjDXAFBgE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwHA6j5AYLwriSRJjCP72Y5wHANIQPkRNizNc3oL9whyHw7e8G531e6j6z+AIvEhlbGxvIHdvcmxkIY/hQwgHvbPP4UMH/bPHDbPItG51bGyP4UMH/bMeAODw8ByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsACACYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAIPv11e2ebZ4YQLDAIBIBARATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPA0DUv4Ai8SGVsbG8gd29ybGQhj+FDCAe9s8/hQwf9s8cNs8i0bnVsbI/hQwDg8PAAJtAN7IIcEAmIAtAcsHAaMB3iGCODJ8snNBGdO3qaoduY4gcCBxjhQEeqkMpjAlqBKgBKoHAqQhwABFMOYwM6oCzwGOK28AcI4RI3qpCBJvjAGkA3qpBCDAABTmMyKlA5xTAm+BpjBYywcCpVnkMDHiydAALJmLR0cnVlj+FDCai1ZmFsc2WP4UMOIAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSAIBSBITABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbWJEd0t6cFh4cDZUVTlHMlJHejlXSlYxMmdEa21xWVExYnFUTUZDOW5LMnh6gg'); - const __system = Cell.fromBase64('te6cckECFgEAA4UAAQHAAQEFoMY/AgEU/wD0pBP0vPLICwMCAWIMBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtYkR3S3pwWHhwNlRVOUcyUkd6OVdKVjEyZ0RrbXFZUTFicVRNRkM5bksyeHqCAAEbCvu1E0NIAAYAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAg+/XV7Z5tnhhBQLA1L+AIvEhlbGxvIHdvcmxkIY/hQwgHvbPP4UMH/bPHDbPItG51bGyP4UMBAPDwKS0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCMMj4QwHMfwHKAMntVBQNAqDtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQlGqYtrqOqDDTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gwACRMOMNcBEOA6j5AYLwriSRJjCP72Y5wHANIQPkRNizNc3oL9whyHw7e8G531e6j6z+AIvEhlbGxvIHdvcmxkIY/hQwgHvbPP4UMH/bPHDbPItG51bGyP4UMH/bMeAQDw8ALJmLR0cnVlj+FDCai1ZmFsc2WP4UMOIA3sghwQCYgC0BywcBowHeIYI4Mnyyc0EZ07epqh25jiBwIHGOFAR6qQymMCWoEqAEqgcCpCHAAEUw5jAzqgLPAY4rbwBwjhEjeqkIEm+MAaQDeqkEIMAAFOYzIqUDnFMCb4GmMFjLBwKlWeQwMeLJ0AE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwSAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABMAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwBNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8FQACbZNwXoc='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initDebug_init_args({ $$type: 'Debug_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Debug_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const Debug_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}, -] - -const Debug_getters: ABIGetter[] = [ - {"name":"debug","arguments":[],"returnType":null}, -] - -const Debug_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Debug"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}, -] - -export class Debug implements Contract { - - static async init() { - return await Debug_init(); - } - - static async fromInit() { - const init = await Debug_init(); - const address = contractAddress(0, init); - return new Debug(address, init); - } - - static fromAddress(address: Address) { - return new Debug(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Debug_types, - getters: Debug_getters, - receivers: Debug_receivers, - errors: Debug_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Debug' | Deploy) { - - let body: Cell | null = null; - if (message === 'Debug') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Deploy') { - body = beginCell().store(storeDeploy(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getDebug(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('debug', builder.build())).stack; - } - -} \ No newline at end of file diff --git a/src/test/features/output/deep_A.abi b/src/test/features/output/deep_A.abi deleted file mode 100644 index 98acbabae..000000000 --- a/src/test/features/output/deep_A.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"A","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Message"}}],"getters":[{"name":"getNext","arguments":[],"returnType":{"kind":"simple","type":"StateInit","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/deep_A.code.boc b/src/test/features/output/deep_A.code.boc deleted file mode 100644 index 61a5f5f0e..000000000 Binary files a/src/test/features/output/deep_A.code.boc and /dev/null differ diff --git a/src/test/features/output/deep_A.code.boc.html b/src/test/features/output/deep_A.code.boc.html deleted file mode 100644 index eb12b43a7..000000000 --- a/src/test/features/output/deep_A.code.boc.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_74105;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_4e505489f90bc9d7;
-            ..DECLPROC ?fun_ref_6dff86987b79c955;
-            ..DECLPROC ?fun_ref_8ebf2d2b2fb5a303;
-            ..DECLPROC ?fun_ref_a05e0042bce184fb;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            x1..recv_internal PROC:<{
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            26x1....4 LDU
-            18x1....s0 s1 XCHG
-            18x1....1 PUSHINT
-            18x1....AND
-            18x1....-1 MULCONST
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            34x1....s0 s6 s4 PUXCPU
-            18x1....s0 s3 XCHG
-            30x1....4 TUPLE
-            28x1....1 SETGLOBVAR
-            18x1....s0 s2 XCHG
-            29x1....2 SETGLOBVAR
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x1....ROTREV
-            126x1....?fun_ref_6dff86987b79c955 INLINECALLDICT
-            34x1....130 THROWIFNOT
-            18x1....s0 POP
-            18x1....NEWC
-            26x1....3 GETGLOBVAR
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....-1 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            518x1....ENDC
-            26x1....c4 POP
-            x1..}>
-            x1..?fun_74105 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_4e505489f90bc9d7 INLINECALLDICT
-            26x1....1 2 BLKDROP2
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D53583731783156346B4C664C426E65434E6373676B586174334A56647A385156784556684C6451447251714E82_} PUSHSLICE
-            ..}>
-            x1..?fun_ref_4e505489f90bc9d7 PROCREF:<{
-            26x1....3 GETGLOBVAR
-            26x1....MYADDR
-            126x1....?fun_ref_8ebf2d2b2fb5a303 INLINECALLDICT
-            x1..}>
-            x1..?fun_ref_6dff86987b79c955 PROCREF:<{
-            26x1....2 SAVE
-            26x1....SAMEALTSAVE
-            18x1....s0 s1 XCHG
-            18x1....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x1....}> PUSHCONT
-            18x1....IFJMP
-            18x1....0 PUSHINT
-            18x1....s1 PUSH
-            26x1....SBITS
-            26x1....31 GTINT
-            18x1....<{
-            18x1......s0 POP
-            18x1......s0 PUSH
-            34x1......32 PLDU
-            18x1....}> PUSHCONT
-            18x1....IF
-            26x1....0 EQINT
-            26x1....<{
-            526x1......HASHSU
-            23x1......81463308115887082732985988965814941212607499737973399264699107294340141092189 PUSHINT
-            18x1......EQUAL
-            126x1......<{
-            26x1........3 GETGLOBVAR
-            26x1........MYADDR
-            126x1........?fun_ref_8ebf2d2b2fb5a303 INLINECALLDICT
-            18x1........DUP2
-            18x1........0 PUSHINT
-            18x1........ROTREV
-            18x1........NEWC
-            18x1........0 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........2 STU
-            18x1........3 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........2 STU
-            18x1........0 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........1 STU
-            18x1........s1 s2 XCHG
-            18x1........STREF
-            18x1........STREF
-            518x1........ENDC
-            26x1........HASHCU
-            18x1........NEWC
-            18x1........2 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........2 STU
-            18x1........0 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........1 STU
-            18x1........s1 s2 XCHG
-            26x1........8 STI
-            26x1........256 STU
-            518x1........ENDC
-            118x1........CTOS
-            18x1........s0 PUSH
-            26x1........SBITS
-            34x1........267 PUSHINT
-            18x1........EQUAL
-            34x1........136 THROWIFNOT
-            18x1........s0 PUSH
-            34x1........11 PLDU
-            18x1........s0 PUSH
-            34x1........1279 PUSHINT
-            18x1........EQUAL
-            34x1........137 THROWIF
-            26x1........10 PUSHPOW2
-            18x1........EQUAL
-            34x1........136 THROWIFNOT
-            18x1........0 PUSHINT
-            26x1........66 PUSHINT
-            18x1........-1 PUSHINT
-            18x1........x{000000004D657373616765} PUSHREF
-            26x1........4 3 REVERSE
-            26x1........s4 s3 s0 XCHG3
-            18x1........s1 s2 XCHG
-            26x1........s3 s6 XCHG
-            26x1........s3 s4 XCHG
-            18x1........ROTREV
-            126x1........?fun_ref_b93b9862cda1783c INLINECALLDICT
-            18x1........-1 PUSHINT
-            26x1........RETFALSE
-            126x1......}> IFJMPREF
-            26x1....}> PUSHCONT
-            18x1....<{
-            ......s0 POP
-            18x1....}> PUSHCONT
-            18x1....IFELSE
-            ....0 PUSHINT
-            x1..}>
-            x2..?fun_ref_8ebf2d2b2fb5a303 PROCREF:<{
-            18x2....s0 s1 XCHG
-            118x2....CTOS
-            26x2....LDDICT
-            18x2....s0 POP
-            18x2....NULL
-            18x2....s1 PUSH
-            34x2....26758 PUSHINT
-            18x2....s0 s1 XCHG
-            26x2....16 PUSHINT
-            326x2....DICTUGETREF
-            26x2....NULLSWAPIFNOT
-            34x2....135 THROWIFNOT
-            18x2....s0 s1 XCHG
-            34x2....26758 PUSHINT
-            18x2....s2 PUSH
-            18x2....s0 s2 XCHG
-            26x2....16 PUSHINT
-            526x2....DICTUSETREF
-            18x2....s0 s2 XCHG
-            34x2....30887 PUSHINT
-            18x2....s0 s1 XCHG
-            26x2....16 PUSHINT
-            176x2....DICTUGETREF
-            26x2....NULLSWAPIFNOT
-            34x2....135 THROWIFNOT
-            18x2....s1 s2 XCHG
-            34x2....30887 PUSHINT
-            18x2....s0 s1 XCHG
-            18x2....s0 s2 XCHG
-            26x2....16 PUSHINT
-            1626x2....DICTUSETREF
-            18x2....NEWC
-            18x2....s0 s1 XCHG
-            18x2....NEWC
-            26x2....STDICT
-            518x2....ENDC
-            18x2....s0 s1 XCHG
-            18x2....STREF
-            18x2....0 PUSHINT
-            18x2....s0 s1 XCHG
-            26x2....1 STI
-            18x2....ROT
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            34x2....137 THROWIF
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            26x2....STSLICER
-            518x2....ENDC
-            x2..}>
-            x344..?fun_ref_a05e0042bce184fb PROCREF:<{
-            26x344....c4 PUSH
-            118x344....CTOS
-            18x344....LDREF
-            18x344....s0 s1 XCHG
-            30x344....3 SETGLOBVAR
-            26x344....1 LDI
-            18x344....s0 POP
-            18x344....<{
-            18x273......NULL
-            18x344....}> PUSHCONT
-            18x344....IFJMP
-            26x71....MYADDR
-            34x71....11 PLDU
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....137 THROWIFNOT
-            126x71....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x344..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x80..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x80....NULL
-            x80..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/deep_A.code.fc b/src/test/features/output/deep_A.code.fc deleted file mode 100644 index bf489a3d9..000000000 --- a/src/test/features/output/deep_A.code.fc +++ /dev/null @@ -1,116 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "deep_A.headers.fc"; -#include "deep_A.stdlib.fc"; -#include "deep_A.constants.fc"; -#include "deep_A.storage.fc"; - -;; -;; Contract A functions -;; - -tuple $A$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -(tuple, (cell, cell)) $A$_fun_getNext(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, $B$_init_child(__tact_context_sys, my_address())); -} - -;; -;; Receivers of a Contract A -;; - -(tuple, ()) $A$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d(tuple $self) impure inline { - var $self = $self; - var ($init'code, $init'data) = $B$_init_child(__tact_context_sys, my_address()); - slice $address = $global_contractAddress(($init'code, $init'data)); - $global_send($SendParameters$_constructor_value_to_mode_bounce_code_data_body(0, $address, (64 + 2), true, $init'code, $init'data, __gen_cell_comment_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d())); - return ($self, ()); -} - -;; -;; Get methods of a Contract A -;; - -_ %getNext() method_id(74105) { - var self = $A$_contract_load(); - var res = self~$A$_fun_getNext(); - return $StateInit$_to_external(res); -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmSX71x1V4kLfLBneCNcsgkXat3JVdz8QVxEVhLdQDrQqN"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract A -;; - -(tuple, int) $A$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Message" message - if (text_op == 0xb41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d) { - self~$A$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $A$_contract_load(); - - ;; Handle operation - int handled = self~$A$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $A$_contract_store(self); -} diff --git a/src/test/features/output/deep_A.code.fif b/src/test/features/output/deep_A.code.fif deleted file mode 100644 index ee6d6e29d..000000000 --- a/src/test/features/output/deep_A.code.fif +++ /dev/null @@ -1,388 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_store_address - DECLPROC __tact_create_address - DECLPROC __tact_compute_contract_address - DECLPROC __tact_not_null - DECLPROC __tact_store_bool - DECLPROC __tact_dict_set_code - DECLPROC __tact_dict_get_code - DECLPROC $StateInit$_to_external - DECLPROC $B$init$_store - DECLPROC $A$_contract_init - DECLPROC $A$_contract_load - DECLPROC $A$_contract_store - DECLPROC $global_contractAddress - DECLPROC $global_send - DECLPROC $B$_init_child - DECLPROC $A$_fun_getNext - DECLPROC $SendParameters$_constructor_value_to_mode_bounce_code_data_body - DECLPROC $A$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d - 74105 DECLMETHOD %getNext - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $A$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_create_address PROCINLINE:<{ - NEWC - 2 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - __tact_verify_address INLINECALLDICT - }> - __tact_compute_contract_address PROCINLINE:<{ - NEWC - 0 PUSHINT - SWAP - 2 STU - 3 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - __tact_create_address INLINECALLDICT - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_dict_set_code PROCINLINE:<{ - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - }> - __tact_dict_get_code PROCINLINE:<{ - SWAP - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - }> - $StateInit$_to_external PROCINLINE:<{ - }> - $B$init$_store PROCINLINE:<{ - __tact_store_address INLINECALLDICT - }> - $A$_contract_init PROCREF:<{ - PUSHNULL - }> - $A$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $A$_contract_init INLINECALLDICT - }> - $A$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $global_contractAddress PROCINLINE:<{ - 0 PUSHINT - -ROT - __tact_compute_contract_address INLINECALLDICT - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $B$_init_child PROCREF:<{ - SWAP - CTOS - LDDICT - DROP - NEWDICT - OVER - 26758 PUSHINT - __tact_dict_get_code INLINECALLDICT - SWAP - 26758 PUSHINT - s2 PUSH - __tact_dict_set_code INLINECALLDICT - s0 s2 XCHG - 30887 PUSHINT - __tact_dict_get_code INLINECALLDICT - s1 s2 XCHG - 30887 PUSHINT - SWAP - __tact_dict_set_code INLINECALLDICT - NEWC - SWAP - NEWC - STDICT - ENDC - SWAP - STREF - FALSE - SWAP - 1 STI - ROT - $B$init$_store INLINECALLDICT - ENDC - }> - $A$_fun_getNext PROCREF:<{ - __tact_context_sys GETGLOB - MYADDR - $B$_init_child INLINECALLDICT - }> - $SendParameters$_constructor_value_to_mode_bounce_code_data_body PROCINLINE:<{ - s3 s6 XCHG - s3 s4 XCHG - -ROT - }> - $A$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d PROCINLINE:<{ - __tact_context_sys GETGLOB - MYADDR - $B$_init_child INLINECALLDICT - 2DUP - $global_contractAddress INLINECALLDICT - 0 PUSHINT - 66 PUSHINT - TRUE - B{b5ee9c7241010101000d000016000000004d6573736167652e559ef2} B>boc PUSHREF - 4 3 REVERSE - s4 s3 s0 XCHG3 - s1 s2 XCHG - $SendParameters$_constructor_value_to_mode_bounce_code_data_body INLINECALLDICT - $global_send INLINECALLDICT - }> - %getNext PROC:<{ - $A$_contract_load INLINECALLDICT - $A$_fun_getNext INLINECALLDICT - 1 2 BLKDROP2 - $StateInit$_to_external INLINECALLDICT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d53583731783156346b4c664c426e65434e6373676b586174334a56647a385156784556684c6451447251714e} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $A$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 0 EQINT - IF:<{ - HASHSU - 81463308115887082732985988965814941212607499737973399264699107294340141092189 PUSHINT - EQUAL - IFJMP:<{ - $A$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $A$_contract_load INLINECALLDICT - -ROT - $A$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $A$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/deep_A.code.rev.fif b/src/test/features/output/deep_A.code.rev.fif deleted file mode 100644 index 26508dc70..000000000 --- a/src/test/features/output/deep_A.code.rev.fif +++ /dev/null @@ -1,404 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_74105; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_4e505489f90bc9d7; - DECLPROC ?fun_ref_6dff86987b79c955; - DECLPROC ?fun_ref_8ebf2d2b2fb5a303; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_6dff86987b79c955 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_74105 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_4e505489f90bc9d7 INLINECALLDICT - 1 2 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D53583731783156346B4C664C426E65434E6373676B586174334A56647A385156784556684C6451447251714E82_} PUSHSLICE - }> - ?fun_ref_4e505489f90bc9d7 PROCREF:<{ - 3 GETGLOBVAR - MYADDR - ?fun_ref_8ebf2d2b2fb5a303 INLINECALLDICT - }> - ?fun_ref_6dff86987b79c955 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 0 EQINT - <{ - HASHSU - 81463308115887082732985988965814941212607499737973399264699107294340141092189 PUSHINT - EQUAL - <{ - 3 GETGLOBVAR - MYADDR - ?fun_ref_8ebf2d2b2fb5a303 INLINECALLDICT - DUP2 - 0 PUSHINT - ROTREV - NEWC - 0 PUSHINT - s0 s1 XCHG - 2 STU - 3 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - 0 PUSHINT - 66 PUSHINT - -1 PUSHINT - x{000000004D657373616765} PUSHREF - 4 3 REVERSE - s4 s3 s0 XCHG3 - s1 s2 XCHG - s3 s6 XCHG - s3 s4 XCHG - ROTREV - ?fun_ref_b93b9862cda1783c INLINECALLDICT - -1 PUSHINT - RETFALSE - }> IFJMPREF - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - 0 PUSHINT - }> - ?fun_ref_8ebf2d2b2fb5a303 PROCREF:<{ - s0 s1 XCHG - CTOS - LDDICT - s0 POP - NULL - s1 PUSH - 26758 PUSHINT - s0 s1 XCHG - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - s0 s1 XCHG - 26758 PUSHINT - s2 PUSH - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - s0 s2 XCHG - 30887 PUSHINT - s0 s1 XCHG - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - s1 s2 XCHG - 30887 PUSHINT - s0 s1 XCHG - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - NEWC - s0 s1 XCHG - NEWC - STDICT - ENDC - s0 s1 XCHG - STREF - 0 PUSHINT - s0 s1 XCHG - 1 STI - ROT - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/deep_A.constants.fc b/src/test/features/output/deep_A.constants.fc deleted file mode 100644 index 8cfe7a596..000000000 --- a/src/test/features/output/deep_A.constants.fc +++ /dev/null @@ -1,2 +0,0 @@ -;; Comment "Message" -cell __gen_cell_comment_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d() asm "B{b5ee9c7241010101000d000016000000004d6573736167652e559ef2} B>boc PUSHREF"; \ No newline at end of file diff --git a/src/test/features/output/deep_A.headers.fc b/src/test/features/output/deep_A.headers.fc deleted file mode 100644 index aac4cbd2c..000000000 --- a/src/test/features/output/deep_A.headers.fc +++ /dev/null @@ -1,58 +0,0 @@ -;; -;; Header files for A -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_create_address -slice __tact_create_address(int chain, int hash) inline; - -;; __tact_compute_contract_address -slice __tact_compute_contract_address(int chain, cell code, cell data) inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_dict_set_code -cell __tact_dict_set_code(cell dict, int id, cell code) inline; - -;; __tact_dict_get_code -cell __tact_dict_get_code(cell dict, int id) inline; - -;; $StateInit$_to_external -(cell, cell) $StateInit$_to_external(((cell, cell)) v) inline; - -;; $B$init$_store -builder $B$init$_store(builder build_0, (slice) v) inline; - -;; $A$_contract_init -tuple $A$_contract_init() impure inline_ref; - -;; $A$_contract_load -tuple $A$_contract_load() impure inline_ref; - -;; $A$_contract_store -() $A$_contract_store(tuple v) impure inline; - -;; $global_contractAddress -slice $global_contractAddress((cell, cell) $s) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $B$_init_child -(cell, cell) $B$_init_child(cell sys', slice $parent) inline_ref; - -;; $A$_fun_getNext -(tuple, (cell, cell)) $A$_fun_getNext(tuple $self) impure inline_ref; - -;; $SendParameters$_constructor_value_to_mode_bounce_code_data_body -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_bounce_code_data_body(int value, slice to, int mode, int bounce, cell code, cell data, cell body) inline; diff --git a/src/test/features/output/deep_A.md b/src/test/features/output/deep_A.md deleted file mode 100644 index 04c47397d..000000000 --- a/src/test/features/output/deep_A.md +++ /dev/null @@ -1,49 +0,0 @@ -# TACT Compilation Report -Contract: A -BOC Size: 807 bytes - -# Types -Total Types: 3 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -# Get Methods -Total Get Methods: 1 - -## getNext - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/deep_A.pkg b/src/test/features/output/deep_A.pkg deleted file mode 100644 index 19596245b..000000000 --- a/src/test/features/output/deep_A.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"A","code":"te6ccgECEwEAAxsAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UCwQCASAJCgGK7aLt+wGSMH/gcCHXScIflTAg1wsf3sAAjqf5AYLwtBqZMzAcHXKOZOI2hf46nHVAq5NZ73MYlDwO5eCRDV264wKRMOJwBQO4+EP4KNs8XHBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIcIBCf4heI0QwEhA2EDRZ2zx/2zEOBgcAFgAAAABNZXNzYWdlAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AAgAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwCEb0Lztnm2eNglAsMAgEgDxABNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8DQEM+EP4KNs8DgACbQDEAdD0BDBtIYFohgGAEPQPb6Hy4IcBgWiGIgKAEPQXAoF4pwGAEPQPb6Hy4IcSgXinAQKAEPQXyAHI9ADJAcxwAcoAWCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFskAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSAIBSBESABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVNYNzF4MVY0a0xmTEJuZUNOY3Nna1hhdDNKVmR6OFFWeEVWaExkUURyUXFOgg","abi":"{\"name\":\"A\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Message\"}}],\"getters\":[{\"name\":\"getNext\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"StateInit\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECLwEABw4AAQHAAQIBZhsCAgEgDQMBBbIp4AQBFP8A9KQT9LzyyAsFAgFiCQYCAVgjBwIBSCIIAHWybuNDVpcGZzOi8vUW1iREhXYjdOMXZnMmpKWnVZZlM4MWlRVWZvRVRnc1dGajlCTDY4N2k2UkZYQ4IALO0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCyPhDAcx/AcoAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsntVBoKAdztou37AZIwf+BwIddJwh+VMCDXCx/ewACO0PkBIILwtBqZMzAcHXKOZOI2hf46nHVAq5NZ73MYlDwO5eCRDV264wKC8Pw8ghEkZlgduiP5BM0aCXI8CGmt6gBFvWcz6k9229JyupN/2zHgkTDicAsDuDD4QyHbPFxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiHCAQn+IXiNEMBIQNhA0Wds8f9sxGQwpABgAAAAATWVzc2FnZTIBBbIhoA4BFP8A9KQT9LzyyAsPAgFiFhACASAUEQIBICMSAgFIIhMAdbJu40NWlwZnM6Ly9RbVU2bU04eWFWRmRRQzZINlprQjdOenpNYnJqOTJBZzFEZVlLTDZobWVVeDZIggAhG9C87Z5tnjYJQaFQEM+EP4KNs8GQLO0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCyPhDAcx/AcoAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsntVBoXAYrtou37AZIwf+BwIddJwh+VMCDXCx/ewACOp/kBgvC0GpkzMBwdco5k4jaF/jqcdUCrk1nvcxiUPA7l4JENXbrjApEw4nAYA7j4Q/go2zxccFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhwgEJ/iF4jRDASEDYQNFnbPH/bMRkrKQCUAdD0BDBtAYF4pwGAEPQPb6Hy4IcBgXinIgKAEPQXyAHI9ADJAcxwAcoAWCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFskAsu1E0NQB+GPSAAGOIPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igx4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHRAQW3HLAcART/APSkE/S88sgLHQIBYiYeAgEgJB8CASAjIAIBSCIhAHWybuNDVpcGZzOi8vUW1TWDcxeDFWNGtMZkxCbmVDTmNzZ2tYYXQzSlZkejhRVnhFVmhMZFFEclFxToIAARsK+7UTQ0gABgALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgCEb0Lztnm2eNglC0lAQz4Q/go2zwsApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1ULScBiu2i7fsBkjB/4HAh10nCH5UwINcLH97AAI6n+QGC8LQamTMwHB1yjmTiNoX+Opx1QKuTWe9zGJQ8DuXgkQ1duuMCkTDicCgDuPhD+CjbPFxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiHCAQn+IXiNEMBIQNhA0Wds8f9sxLCspAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ACoAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAFgAAAABNZXNzYWdlAMQB0PQEMG0hgWiGAYAQ9A9vofLghwGBaIYiAoAQ9BcCgXinAYAQ9A9vofLghxKBeKcBAoAQ9BfIAcj0AMkBzHABygBYINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WyQE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwuAAJt0DyONw=="}},"sources":{"src\\test\\features\\deep-sequence.tact":"Y29udHJhY3QgQSB7DQoNCiAgICBpbml0KCkgew0KDQogICAgfQ0KDQogICAgcmVjZWl2ZSgiTWVzc2FnZSIpIHsNCiAgICAgICAgbGV0IGluaXQ6IFN0YXRlSW5pdCA9IGluaXRPZiBCKG15QWRkcmVzcygpKTsNCiAgICAgICAgbGV0IGFkZHJlc3M6IEFkZHJlc3MgPSBjb250cmFjdEFkZHJlc3MoaW5pdCk7DQogICAgICAgIHNlbmQoU2VuZFBhcmFtZXRlcnN7DQogICAgICAgICAgICB2YWx1ZTogMCwgDQogICAgICAgICAgICB0bzogYWRkcmVzcywgDQogICAgICAgICAgICBtb2RlOiBTZW5kUmVtYWluaW5nVmFsdWUgKyBTZW5kSWdub3JlRXJyb3JzLCANCiAgICAgICAgICAgIGJvdW5jZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvZGU6IGluaXQuY29kZSwNCiAgICAgICAgICAgIGRhdGE6IGluaXQuZGF0YSwNCiAgICAgICAgICAgIGJvZHk6ICJNZXNzYWdlIi5hc0NvbW1lbnQoKQ0KICAgICAgICB9KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGdldE5leHQoKTogU3RhdGVJbml0IHsNCiAgICAgICAgcmV0dXJuIGluaXRPZiBCKG15QWRkcmVzcygpKTsNCiAgICB9DQp9DQoNCmNvbnRyYWN0IEIgew0KICAgIHBhcmVudDogQWRkcmVzczsNCiAgICBpbml0KHBhcmVudDogQWRkcmVzcykgew0KICAgICAgICBzZWxmLnBhcmVudCA9IHBhcmVudDsNCiAgICB9DQoNCiAgICByZWNlaXZlKCJNZXNzYWdlIikgew0KICAgICAgICBsZXQgaW5pdDogU3RhdGVJbml0ID0gaW5pdE9mIEMobXlBZGRyZXNzKCkpOw0KICAgICAgICBsZXQgYWRkcmVzczogQWRkcmVzcyA9IGNvbnRyYWN0QWRkcmVzcyhpbml0KTsNCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgIHZhbHVlOiAwLCANCiAgICAgICAgICAgIHRvOiBhZGRyZXNzLCANCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSArIFNlbmRJZ25vcmVFcnJvcnMsIA0KICAgICAgICAgICAgYm91bmNlOiB0cnVlLA0KICAgICAgICAgICAgY29kZTogaW5pdC5jb2RlLA0KICAgICAgICAgICAgZGF0YTogaW5pdC5kYXRhLA0KICAgICAgICAgICAgYm9keTogIk1lc3NhZ2UiLmFzQ29tbWVudCgpDQogICAgICAgIH0pOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0TmV4dCgpOiBTdGF0ZUluaXQgew0KICAgICAgICByZXR1cm4gaW5pdE9mIEMobXlBZGRyZXNzKCkpOw0KICAgIH0NCn0NCg0KY29udHJhY3QgQyB7DQogICAgcGFyZW50OiBBZGRyZXNzOw0KICAgIGluaXQocGFyZW50OiBBZGRyZXNzKSB7DQogICAgICAgIHNlbGYucGFyZW50ID0gcGFyZW50Ow0KICAgIH0NCg0KICAgIHJlY2VpdmUoIk1lc3NhZ2UiKSB7DQogICAgICAgIGxldCBpbml0OiBTdGF0ZUluaXQgPSBpbml0T2YgQyhzZWxmLnBhcmVudCk7DQogICAgICAgIGxldCBhZGRyZXNzOiBBZGRyZXNzID0gY29udHJhY3RBZGRyZXNzKGluaXQpOw0KICAgICAgICBzZW5kKFNlbmRQYXJhbWV0ZXJzew0KICAgICAgICAgICAgdmFsdWU6IDAsIA0KICAgICAgICAgICAgdG86IGFkZHJlc3MsIA0KICAgICAgICAgICAgbW9kZTogU2VuZFJlbWFpbmluZ1ZhbHVlICsgU2VuZElnbm9yZUVycm9ycywgDQogICAgICAgICAgICBib3VuY2U6IHRydWUsDQogICAgICAgICAgICBjb2RlOiBpbml0LmNvZGUsDQogICAgICAgICAgICBkYXRhOiBpbml0LmRhdGEsDQogICAgICAgICAgICBib2R5OiAiTWVzc2FnZTIiLmFzQ29tbWVudCgpDQogICAgICAgIH0pOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoIk1lc3NhZ2UyIikgew0KICAgICAgICAvLyBOb3RoaW5nIHRvIGRvDQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/deep-sequence.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/deep_A.stdlib.fc b/src/test/features/output/deep_A.stdlib.fc deleted file mode 100644 index d6203dbd5..000000000 --- a/src/test/features/output/deep_A.stdlib.fc +++ /dev/null @@ -1,103 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -slice __tact_create_address(int chain, int hash) inline { - var b = begin_cell(); - b = b.store_uint(2, 2); - b = b.store_uint(0, 1); - b = b.store_int(chain, 8); - b = b.store_uint(hash, 256); - var addr = b.end_cell().begin_parse(); - return __tact_verify_address(addr); -} - -slice __tact_compute_contract_address(int chain, cell code, cell data) inline { - var b = begin_cell(); - b = b.store_uint(0, 2); - b = b.store_uint(3, 2); - b = b.store_uint(0, 1); - b = b.store_ref(code); - b = b.store_ref(data); - var hash = cell_hash(b.end_cell()); - return __tact_create_address(chain, hash); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -cell __tact_dict_set_code(cell dict, int id, cell code) inline { - return udict_set_ref(dict, 16, id, code); -} - -cell __tact_dict_get_code(cell dict, int id) inline { - var (data, ok) = udict_get_ref?(dict, 16, id); - throw_unless(135, ok); - return data; -} - -slice $global_contractAddress((cell, cell) $s) impure inline { - var (($s'code, $s'data)) = $s; - return __tact_compute_contract_address(0, $s'code, $s'data); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} \ No newline at end of file diff --git a/src/test/features/output/deep_A.storage.fc b/src/test/features/output/deep_A.storage.fc deleted file mode 100644 index 51c5af5ec..000000000 --- a/src/test/features/output/deep_A.storage.fc +++ /dev/null @@ -1,73 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -(cell, cell) $StateInit$_to_external(((cell, cell)) v) inline { - var (v'code, v'data) = v; - return (v'code, v'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_bounce_code_data_body(int value, slice to, int mode, int bounce, cell code, cell data, cell body) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: A -;; - -tuple $A$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $A$_contract_init(); - } -} - -() $A$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} - -;; -;; Type: B -;; - -builder $B$init$_store(builder build_0, (slice) v) inline { - var (v'parent) = v; - build_0 = __tact_store_address(build_0, v'parent); - return build_0; -} - -(cell, cell) $B$_init_child(cell sys', slice $parent) inline_ref { - slice sc' = sys'.begin_parse(); - cell source = sc'~load_dict(); - cell contracts = new_dict(); - - ;; Contract Code: B - cell mine = __tact_dict_get_code(source, 26758); - contracts = __tact_dict_set_code(contracts, 26758, mine); - - ;; Contract Code: C - cell code_30887 = __tact_dict_get_code(source, 30887); - contracts = __tact_dict_set_code(contracts, 30887, code_30887); - - ;; Build cell - builder b = begin_cell(); - b = b.store_ref(begin_cell().store_dict(contracts).end_cell()); - b = b.store_int(false, 1); - b = $B$init$_store(b, ($parent)); - return (mine, b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/deep_A.ts b/src/test/features/output/deep_A.ts deleted file mode 100644 index 4962c0185..000000000 --- a/src/test/features/output/deep_A.ts +++ /dev/null @@ -1,304 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - - type A_init_args = { - $$type: 'A_init_args'; -} - -function initA_init_args(src: A_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function A_init() { - const __code = Cell.fromBase64('te6ccgECEwEAAxsAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UCwQCASAJCgGK7aLt+wGSMH/gcCHXScIflTAg1wsf3sAAjqf5AYLwtBqZMzAcHXKOZOI2hf46nHVAq5NZ73MYlDwO5eCRDV264wKRMOJwBQO4+EP4KNs8XHBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIcIBCf4heI0QwEhA2EDRZ2zx/2zEOBgcAFgAAAABNZXNzYWdlAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AAgAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwCEb0Lztnm2eNglAsMAgEgDxABNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8DQEM+EP4KNs8DgACbQDEAdD0BDBtIYFohgGAEPQPb6Hy4IcBgWiGIgKAEPQXAoF4pwGAEPQPb6Hy4IcSgXinAQKAEPQXyAHI9ADJAcxwAcoAWCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFskAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSAIBSBESABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVNYNzF4MVY0a0xmTEJuZUNOY3Nna1hhdDNKVmR6OFFWeEVWaExkUURyUXFOgg'); - const __system = Cell.fromBase64('te6cckECLwEABw4AAQHAAQIBZhsCAgEgDQMBBbIp4AQBFP8A9KQT9LzyyAsFAgFiCQYCAVgjBwIBSCIIAHWybuNDVpcGZzOi8vUW1iREhXYjdOMXZnMmpKWnVZZlM4MWlRVWZvRVRnc1dGajlCTDY4N2k2UkZYQ4IALO0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCyPhDAcx/AcoAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsntVBoKAdztou37AZIwf+BwIddJwh+VMCDXCx/ewACO0PkBIILwtBqZMzAcHXKOZOI2hf46nHVAq5NZ73MYlDwO5eCRDV264wKC8Pw8ghEkZlgduiP5BM0aCXI8CGmt6gBFvWcz6k9229JyupN/2zHgkTDicAsDuDD4QyHbPFxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiHCAQn+IXiNEMBIQNhA0Wds8f9sxGQwpABgAAAAATWVzc2FnZTIBBbIhoA4BFP8A9KQT9LzyyAsPAgFiFhACASAUEQIBICMSAgFIIhMAdbJu40NWlwZnM6Ly9RbVU2bU04eWFWRmRRQzZINlprQjdOenpNYnJqOTJBZzFEZVlLTDZobWVVeDZIggAhG9C87Z5tnjYJQaFQEM+EP4KNs8GQLO0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCyPhDAcx/AcoAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsntVBoXAYrtou37AZIwf+BwIddJwh+VMCDXCx/ewACOp/kBgvC0GpkzMBwdco5k4jaF/jqcdUCrk1nvcxiUPA7l4JENXbrjApEw4nAYA7j4Q/go2zxccFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhwgEJ/iF4jRDASEDYQNFnbPH/bMRkrKQCUAdD0BDBtAYF4pwGAEPQPb6Hy4IcBgXinIgKAEPQXyAHI9ADJAcxwAcoAWCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFskAsu1E0NQB+GPSAAGOIPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igx4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHRAQW3HLAcART/APSkE/S88sgLHQIBYiYeAgEgJB8CASAjIAIBSCIhAHWybuNDVpcGZzOi8vUW1TWDcxeDFWNGtMZkxCbmVDTmNzZ2tYYXQzSlZkejhRVnhFVmhMZFFEclFxToIAARsK+7UTQ0gABgALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgCEb0Lztnm2eNglC0lAQz4Q/go2zwsApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1ULScBiu2i7fsBkjB/4HAh10nCH5UwINcLH97AAI6n+QGC8LQamTMwHB1yjmTiNoX+Opx1QKuTWe9zGJQ8DuXgkQ1duuMCkTDicCgDuPhD+CjbPFxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiHCAQn+IXiNEMBIQNhA0Wds8f9sxLCspAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ACoAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAFgAAAABNZXNzYWdlAMQB0PQEMG0hgWiGAYAQ9A9vofLghwGBaIYiAoAQ9BcCgXinAYAQ9A9vofLghxKBeKcBAoAQ9BfIAcj0AMkBzHABygBYINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WyQE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwuAAJt0DyONw=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initA_init_args({ $$type: 'A_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const A_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const A_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, -] - -const A_getters: ABIGetter[] = [ - {"name":"getNext","arguments":[],"returnType":{"kind":"simple","type":"StateInit","optional":false}}, -] - -const A_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Message"}}, -] - -export class A implements Contract { - - static async init() { - return await A_init(); - } - - static async fromInit() { - const init = await A_init(); - const address = contractAddress(0, init); - return new A(address, init); - } - - static fromAddress(address: Address) { - return new A(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: A_types, - getters: A_getters, - receivers: A_receivers, - errors: A_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Message') { - - let body: Cell | null = null; - if (message === 'Message') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getGetNext(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getNext', builder.build())).stack; - const result = loadTupleStateInit(source); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/deep_B.abi b/src/test/features/output/deep_B.abi deleted file mode 100644 index 9e05a9339..000000000 --- a/src/test/features/output/deep_B.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"B","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Message"}}],"getters":[{"name":"getNext","arguments":[],"returnType":{"kind":"simple","type":"StateInit","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/deep_B.code.boc b/src/test/features/output/deep_B.code.boc deleted file mode 100644 index cf07dd5b9..000000000 Binary files a/src/test/features/output/deep_B.code.boc and /dev/null differ diff --git a/src/test/features/output/deep_B.code.boc.html b/src/test/features/output/deep_B.code.boc.html deleted file mode 100644 index 42920101d..000000000 --- a/src/test/features/output/deep_B.code.boc.html +++ /dev/null @@ -1,471 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_74105;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_17240c1f9f33f0fd;
-            ..DECLPROC ?fun_ref_8e17b1ef278d7d7d;
-            ..DECLPROC ?fun_ref_a44c206bf72a30df;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_ed0c6f0c0e19c38a;
-            x1..recv_internal PROC:<{
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            26x1....4 LDU
-            18x1....s0 s1 XCHG
-            18x1....1 PUSHINT
-            18x1....AND
-            18x1....-1 MULCONST
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            34x1....s0 s6 s4 PUXCPU
-            18x1....s0 s3 XCHG
-            30x1....4 TUPLE
-            28x1....1 SETGLOBVAR
-            18x1....s0 s2 XCHG
-            29x1....2 SETGLOBVAR
-            126x1....?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT
-            18x1....ROTREV
-            126x1....?fun_ref_a44c206bf72a30df INLINECALLDICT
-            34x1....130 THROWIFNOT
-            18x1....NEWC
-            26x1....3 GETGLOBVAR
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....-1 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            518x1....ENDC
-            26x1....c4 POP
-            x1..}>
-            x1..?fun_74105 PROC:<{
-            126x1....?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT
-            126x1....?fun_ref_8e17b1ef278d7d7d INLINECALLDICT
-            26x1....1 2 BLKDROP2
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D55366D4D38796156466451433648365A6B42374E7A7A4D62726A39324167314465594B4C36686D655578364882_} PUSHSLICE
-            ..}>
-            x3..?fun_ref_17240c1f9f33f0fd PROCREF:<{
-            18x3....s0 s1 XCHG
-            118x3....CTOS
-            26x3....LDDICT
-            18x3....s0 POP
-            18x3....NULL
-            18x3....s0 s1 XCHG
-            34x3....30887 PUSHINT
-            18x3....s0 s1 XCHG
-            26x3....16 PUSHINT
-            226x3....DICTUGETREF
-            26x3....NULLSWAPIFNOT
-            34x3....135 THROWIFNOT
-            18x3....s0 s1 XCHG
-            34x3....30887 PUSHINT
-            18x3....s2 PUSH
-            18x3....s0 s2 XCHG
-            26x3....16 PUSHINT
-            526x3....DICTUSETREF
-            18x3....NEWC
-            18x3....s0 s1 XCHG
-            18x3....NEWC
-            26x3....STDICT
-            518x3....ENDC
-            18x3....s0 s1 XCHG
-            18x3....STREF
-            18x3....0 PUSHINT
-            18x3....s0 s1 XCHG
-            26x3....1 STI
-            18x3....ROT
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            26x3....STSLICER
-            518x3....ENDC
-            x3..}>
-            x1..?fun_ref_8e17b1ef278d7d7d PROCREF:<{
-            26x1....3 GETGLOBVAR
-            26x1....MYADDR
-            126x1....?fun_ref_17240c1f9f33f0fd INLINECALLDICT
-            x1..}>
-            x1..?fun_ref_a44c206bf72a30df PROCREF:<{
-            26x1....2 SAVE
-            26x1....SAMEALTSAVE
-            18x1....s0 s1 XCHG
-            18x1....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x1....}> PUSHCONT
-            18x1....IFJMP
-            18x1....0 PUSHINT
-            18x1....s1 PUSH
-            26x1....SBITS
-            26x1....31 GTINT
-            18x1....<{
-            18x1......s0 POP
-            18x1......s0 PUSH
-            34x1......32 PLDU
-            18x1....}> PUSHCONT
-            18x1....IF
-            26x1....0 EQINT
-            26x1....<{
-            526x1......HASHSU
-            23x1......81463308115887082732985988965814941212607499737973399264699107294340141092189 PUSHINT
-            18x1......EQUAL
-            126x1......<{
-            26x1........3 GETGLOBVAR
-            26x1........MYADDR
-            126x1........?fun_ref_17240c1f9f33f0fd INLINECALLDICT
-            18x1........DUP2
-            18x1........0 PUSHINT
-            18x1........ROTREV
-            18x1........NEWC
-            18x1........0 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........2 STU
-            18x1........3 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........2 STU
-            18x1........0 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........1 STU
-            18x1........s1 s2 XCHG
-            18x1........STREF
-            18x1........STREF
-            518x1........ENDC
-            26x1........HASHCU
-            18x1........NEWC
-            18x1........2 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........2 STU
-            18x1........0 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........1 STU
-            18x1........s1 s2 XCHG
-            26x1........8 STI
-            26x1........256 STU
-            518x1........ENDC
-            118x1........CTOS
-            18x1........s0 PUSH
-            26x1........SBITS
-            34x1........267 PUSHINT
-            18x1........EQUAL
-            34x1........136 THROWIFNOT
-            18x1........s0 PUSH
-            34x1........11 PLDU
-            18x1........s0 PUSH
-            34x1........1279 PUSHINT
-            18x1........EQUAL
-            34x1........137 THROWIF
-            26x1........10 PUSHPOW2
-            18x1........EQUAL
-            34x1........136 THROWIFNOT
-            18x1........0 PUSHINT
-            26x1........66 PUSHINT
-            18x1........-1 PUSHINT
-            18x1........x{000000004D657373616765} PUSHREF
-            26x1........4 3 REVERSE
-            26x1........s4 s3 s0 XCHG3
-            18x1........s1 s2 XCHG
-            26x1........s3 s6 XCHG
-            26x1........s3 s4 XCHG
-            18x1........ROTREV
-            126x1........?fun_ref_b93b9862cda1783c INLINECALLDICT
-            18x1........-1 PUSHINT
-            26x1........RETFALSE
-            126x1......}> IFJMPREF
-            26x1....}> PUSHCONT
-            18x1....<{
-            ......s0 POP
-            18x1....}> PUSHCONT
-            18x1....IFELSE
-            ....0 PUSHINT
-            x1..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x6..?fun_ref_ed0c6f0c0e19c38a PROCREF:<{
-            26x6....c4 PUSH
-            118x6....CTOS
-            18x6....LDREF
-            18x6....s0 s1 XCHG
-            30x6....3 SETGLOBVAR
-            26x6....1 LDI
-            18x6....s0 s1 XCHG
-            26x6....<{
-            26x3......LDMSGADDR
-            18x3......s0 s1 XCHG
-            18x3......s0 PUSH
-            26x3......SBITS
-            34x3......267 PUSHINT
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s0 PUSH
-            34x3......11 PLDU
-            18x3......s0 PUSH
-            34x3......1279 PUSHINT
-            18x3......EQUAL
-            34x3......137 THROWIF
-            26x3......10 PUSHPOW2
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s1 POP
-            26x6....}> PUSHCONT
-            18x6....IFJMP
-            26x3....MYADDR
-            34x3....11 PLDU
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....137 THROWIFNOT
-            26x3....LDMSGADDR
-            18x3....s0 s1 XCHG
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 s1 XCHG
-            18x3....ENDS
-            x6..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/deep_B.code.fc b/src/test/features/output/deep_B.code.fc deleted file mode 100644 index 6492252f3..000000000 --- a/src/test/features/output/deep_B.code.fc +++ /dev/null @@ -1,117 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "deep_B.headers.fc"; -#include "deep_B.stdlib.fc"; -#include "deep_B.constants.fc"; -#include "deep_B.storage.fc"; - -;; -;; Contract B functions -;; - -(slice) $B$_contract_init(slice $parent) impure inline_ref { - var (($self'parent)) = (null()); - $self'parent = $parent; - return ($self'parent); -} - -((slice), (cell, cell)) $B$_fun_getNext((slice) $self) impure inline_ref { - var (($self'parent)) = $self; - return (($self'parent), $C$_init_child(__tact_context_sys, my_address())); -} - -;; -;; Receivers of a Contract B -;; - -((slice), ()) $B$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d((slice) $self) impure inline { - var ($self'parent) = $self; - var ($init'code, $init'data) = $C$_init_child(__tact_context_sys, my_address()); - slice $address = $global_contractAddress(($init'code, $init'data)); - $global_send($SendParameters$_constructor_value_to_mode_bounce_code_data_body(0, $address, (64 + 2), true, $init'code, $init'data, __gen_cell_comment_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d())); - return (($self'parent), ()); -} - -;; -;; Get methods of a Contract B -;; - -_ %getNext() method_id(74105) { - var self = $B$_contract_load(); - var res = self~$B$_fun_getNext(); - return $StateInit$_to_external(res); -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmU6mM8yaVFdQC6H6ZkB7NzzMbrj92Ag1DeYKL6hmeUx6H"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract B -;; - -((slice), int) $B$_contract_router_internal((slice) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Message" message - if (text_op == 0xb41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d) { - self~$B$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $B$_contract_load(); - - ;; Handle operation - int handled = self~$B$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $B$_contract_store(self); -} diff --git a/src/test/features/output/deep_B.code.fif b/src/test/features/output/deep_B.code.fif deleted file mode 100644 index a536feb9e..000000000 --- a/src/test/features/output/deep_B.code.fif +++ /dev/null @@ -1,403 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_create_address - DECLPROC __tact_compute_contract_address - DECLPROC __tact_not_null - DECLPROC __tact_store_bool - DECLPROC __tact_dict_set_code - DECLPROC __tact_dict_get_code - DECLPROC $B$_store - DECLPROC $B$_load - DECLPROC $StateInit$_to_external - DECLPROC $B$init$_load - DECLPROC $C$init$_store - DECLPROC $B$_contract_init - DECLPROC $B$_contract_load - DECLPROC $B$_contract_store - DECLPROC $global_contractAddress - DECLPROC $global_send - DECLPROC $C$_init_child - DECLPROC $B$_fun_getNext - DECLPROC $SendParameters$_constructor_value_to_mode_bounce_code_data_body - DECLPROC $B$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d - 74105 DECLMETHOD %getNext - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $B$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_create_address PROCINLINE:<{ - NEWC - 2 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - __tact_verify_address INLINECALLDICT - }> - __tact_compute_contract_address PROCINLINE:<{ - NEWC - 0 PUSHINT - SWAP - 2 STU - 3 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - __tact_create_address INLINECALLDICT - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_dict_set_code PROCINLINE:<{ - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - }> - __tact_dict_get_code PROCINLINE:<{ - SWAP - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - }> - $B$_store PROCINLINE:<{ - __tact_store_address INLINECALLDICT - }> - $B$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - }> - $StateInit$_to_external PROCINLINE:<{ - }> - $B$init$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - }> - $C$init$_store PROCINLINE:<{ - __tact_store_address INLINECALLDICT - }> - $B$_contract_init PROCREF:<{ - }> - $B$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $B$_load INLINECALLDICT - NIP - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $B$init$_load INLINECALLDICT - SWAP - ENDS - $B$_contract_init INLINECALLDICT - }> - $B$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - SWAP - $B$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_contractAddress PROCINLINE:<{ - 0 PUSHINT - -ROT - __tact_compute_contract_address INLINECALLDICT - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $C$_init_child PROCREF:<{ - SWAP - CTOS - LDDICT - DROP - NEWDICT - SWAP - 30887 PUSHINT - __tact_dict_get_code INLINECALLDICT - SWAP - 30887 PUSHINT - s2 PUSH - __tact_dict_set_code INLINECALLDICT - NEWC - SWAP - NEWC - STDICT - ENDC - SWAP - STREF - FALSE - SWAP - 1 STI - ROT - $C$init$_store INLINECALLDICT - ENDC - }> - $B$_fun_getNext PROCREF:<{ - __tact_context_sys GETGLOB - MYADDR - $C$_init_child INLINECALLDICT - }> - $SendParameters$_constructor_value_to_mode_bounce_code_data_body PROCINLINE:<{ - s3 s6 XCHG - s3 s4 XCHG - -ROT - }> - $B$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d PROCINLINE:<{ - __tact_context_sys GETGLOB - MYADDR - $C$_init_child INLINECALLDICT - 2DUP - $global_contractAddress INLINECALLDICT - 0 PUSHINT - 66 PUSHINT - TRUE - B{b5ee9c7241010101000d000016000000004d6573736167652e559ef2} B>boc PUSHREF - 4 3 REVERSE - s4 s3 s0 XCHG3 - s1 s2 XCHG - $SendParameters$_constructor_value_to_mode_bounce_code_data_body INLINECALLDICT - $global_send INLINECALLDICT - }> - %getNext PROC:<{ - $B$_contract_load INLINECALLDICT - $B$_fun_getNext INLINECALLDICT - 1 2 BLKDROP2 - $StateInit$_to_external INLINECALLDICT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d55366d4d38796156466451433648365a6b42374e7a7a4d62726a39324167314465594b4c36686d6555783648} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $B$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 0 EQINT - IF:<{ - HASHSU - 81463308115887082732985988965814941212607499737973399264699107294340141092189 PUSHINT - EQUAL - IFJMP:<{ - $B$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $B$_contract_load INLINECALLDICT - -ROT - $B$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $B$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/deep_B.code.rev.fif b/src/test/features/output/deep_B.code.rev.fif deleted file mode 100644 index ee0493d16..000000000 --- a/src/test/features/output/deep_B.code.rev.fif +++ /dev/null @@ -1,435 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_74105; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_17240c1f9f33f0fd; - DECLPROC ?fun_ref_8e17b1ef278d7d7d; - DECLPROC ?fun_ref_a44c206bf72a30df; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_ed0c6f0c0e19c38a; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT - ROTREV - ?fun_ref_a44c206bf72a30df INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - c4 POP - }> - ?fun_74105 PROC:<{ - ?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT - ?fun_ref_8e17b1ef278d7d7d INLINECALLDICT - 1 2 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D55366D4D38796156466451433648365A6B42374E7A7A4D62726A39324167314465594B4C36686D655578364882_} PUSHSLICE - }> - ?fun_ref_17240c1f9f33f0fd PROCREF:<{ - s0 s1 XCHG - CTOS - LDDICT - s0 POP - NULL - s0 s1 XCHG - 30887 PUSHINT - s0 s1 XCHG - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - s0 s1 XCHG - 30887 PUSHINT - s2 PUSH - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - NEWC - s0 s1 XCHG - NEWC - STDICT - ENDC - s0 s1 XCHG - STREF - 0 PUSHINT - s0 s1 XCHG - 1 STI - ROT - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - }> - ?fun_ref_8e17b1ef278d7d7d PROCREF:<{ - 3 GETGLOBVAR - MYADDR - ?fun_ref_17240c1f9f33f0fd INLINECALLDICT - }> - ?fun_ref_a44c206bf72a30df PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 0 EQINT - <{ - HASHSU - 81463308115887082732985988965814941212607499737973399264699107294340141092189 PUSHINT - EQUAL - <{ - 3 GETGLOBVAR - MYADDR - ?fun_ref_17240c1f9f33f0fd INLINECALLDICT - DUP2 - 0 PUSHINT - ROTREV - NEWC - 0 PUSHINT - s0 s1 XCHG - 2 STU - 3 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - 0 PUSHINT - 66 PUSHINT - -1 PUSHINT - x{000000004D657373616765} PUSHREF - 4 3 REVERSE - s4 s3 s0 XCHG3 - s1 s2 XCHG - s3 s6 XCHG - s3 s4 XCHG - ROTREV - ?fun_ref_b93b9862cda1783c INLINECALLDICT - -1 PUSHINT - RETFALSE - }> IFJMPREF - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - 0 PUSHINT - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_ed0c6f0c0e19c38a PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 POP - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - ENDS - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/deep_B.constants.fc b/src/test/features/output/deep_B.constants.fc deleted file mode 100644 index 8cfe7a596..000000000 --- a/src/test/features/output/deep_B.constants.fc +++ /dev/null @@ -1,2 +0,0 @@ -;; Comment "Message" -cell __gen_cell_comment_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d() asm "B{b5ee9c7241010101000d000016000000004d6573736167652e559ef2} B>boc PUSHREF"; \ No newline at end of file diff --git a/src/test/features/output/deep_B.headers.fc b/src/test/features/output/deep_B.headers.fc deleted file mode 100644 index 488c01854..000000000 --- a/src/test/features/output/deep_B.headers.fc +++ /dev/null @@ -1,70 +0,0 @@ -;; -;; Header files for B -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_create_address -slice __tact_create_address(int chain, int hash) inline; - -;; __tact_compute_contract_address -slice __tact_compute_contract_address(int chain, cell code, cell data) inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_dict_set_code -cell __tact_dict_set_code(cell dict, int id, cell code) inline; - -;; __tact_dict_get_code -cell __tact_dict_get_code(cell dict, int id) inline; - -;; $B$_store -builder $B$_store(builder build_0, (slice) v) inline; - -;; $B$_load -(slice, ((slice))) $B$_load(slice sc_0) inline; - -;; $StateInit$_to_external -(cell, cell) $StateInit$_to_external(((cell, cell)) v) inline; - -;; $B$init$_load -(slice, ((slice))) $B$init$_load(slice sc_0) inline; - -;; $C$init$_store -builder $C$init$_store(builder build_0, (slice) v) inline; - -;; $B$_contract_init -(slice) $B$_contract_init(slice $parent) impure inline_ref; - -;; $B$_contract_load -(slice) $B$_contract_load() impure inline_ref; - -;; $B$_contract_store -() $B$_contract_store((slice) v) impure inline; - -;; $global_contractAddress -slice $global_contractAddress((cell, cell) $s) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $C$_init_child -(cell, cell) $C$_init_child(cell sys', slice $parent) inline_ref; - -;; $B$_fun_getNext -((slice), (cell, cell)) $B$_fun_getNext((slice) $self) impure inline_ref; - -;; $SendParameters$_constructor_value_to_mode_bounce_code_data_body -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_bounce_code_data_body(int value, slice to, int mode, int bounce, cell code, cell data, cell body) inline; diff --git a/src/test/features/output/deep_B.md b/src/test/features/output/deep_B.md deleted file mode 100644 index 9aabd65e4..000000000 --- a/src/test/features/output/deep_B.md +++ /dev/null @@ -1,49 +0,0 @@ -# TACT Compilation Report -Contract: B -BOC Size: 872 bytes - -# Types -Total Types: 3 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -# Get Methods -Total Get Methods: 1 - -## getNext - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/deep_B.pkg b/src/test/features/output/deep_B.pkg deleted file mode 100644 index 9cbc2f67b..000000000 --- a/src/test/features/output/deep_B.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"B","code":"te6ccgECEgEAA1wAART/APSkE/S88sgLAQIBYgIDAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UCwQCASAJCgGK7aLt+wGSMH/gcCHXScIflTAg1wsf3sAAjqf5AYLwtBqZMzAcHXKOZOI2hf46nHVAq5NZ73MYlDwO5eCRDV264wKRMOJwBQO4+EP4KNs8XHBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIcIBCf4heI0QwEhA2EDRZ2zx/2zENBgcAFgAAAABNZXNzYWdlAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AAgAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwCEb0Lztnm2eNglAsMAgEgDg8Asu1E0NQB+GPSAAGOIPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igx4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHRAQz4Q/go2zwNAJQB0PQEMG0BgXinAYAQ9A9vofLghwGBeKciAoAQ9BfIAcj0AMkBzHABygBYINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WyQC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAgFIEBEAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtVTZtTTh5YVZGZFFDNkg2WmtCN056ek1icmo5MkFnMURlWUtMNmhtZVV4NkiCA=","abi":"{\"name\":\"B\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Message\"}}],\"getters\":[{\"name\":\"getNext\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"StateInit\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"parent","type":{"kind":"simple","type":"address","optional":false}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECHwEABRUAAQHAAQICcwwCAQWyKeADART/APSkE/S88sgLBAIBYggFAgFYFAYCAUgTBwB1sm7jQ1aXBmczovL1FtYkRIV2I3TjF2ZzJqSlp1WWZTODFpUVVmb0VUZ3NXRmo5Qkw2ODdpNlJGWEOCACztAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggsj4QwHMfwHKAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJ7VQeCQHc7aLt+wGSMH/gcCHXScIflTAg1wsf3sAAjtD5ASCC8LQamTMwHB1yjmTiNoX+Opx1QKuTWe9zGJQ8DuXgkQ1duuMCgvD8PIIRJGZYHboj+QTNGglyPAhpreoARb1nM+pPdtvScrqTf9sx4JEw4nAKA7gw+EMh2zxccFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhwgEJ/iF4jRDASEDYQNFnbPH/bMR0LGgAYAAAAAE1lc3NhZ2UyAQWyIaANART/APSkE/S88sgLDgIBYhcPAgEgFRACASAUEQIBSBMSAHWybuNDVpcGZzOi8vUW1VNm1NOHlhVkZkUUM2SDZaa0I3Tnp6TWJyajkyQWcxRGVZS0w2aG1lVXg2SIIAARsK+7UTQ0gABgALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgCEb0Lztnm2eNglB4WAQz4Q/go2zwdAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UHhgBiu2i7fsBkjB/4HAh10nCH5UwINcLH97AAI6n+QGC8LQamTMwHB1yjmTiNoX+Opx1QKuTWe9zGJQ8DuXgkQ1duuMCkTDicBkDuPhD+CjbPFxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiHCAQn+IXiNEMBIQNhA0Wds8f9sxHRwaAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABsAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAFgAAAABNZXNzYWdlAJQB0PQEMG0BgXinAYAQ9A9vofLghwGBeKciAoAQ9BfIAcj0AMkBzHABygBYINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WyQCy7UTQ1AH4Y9IAAY4g+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiDHg+CjXCwqDCbry4In6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdFeMJGd"}},"sources":{"src\\test\\features\\deep-sequence.tact":"Y29udHJhY3QgQSB7DQoNCiAgICBpbml0KCkgew0KDQogICAgfQ0KDQogICAgcmVjZWl2ZSgiTWVzc2FnZSIpIHsNCiAgICAgICAgbGV0IGluaXQ6IFN0YXRlSW5pdCA9IGluaXRPZiBCKG15QWRkcmVzcygpKTsNCiAgICAgICAgbGV0IGFkZHJlc3M6IEFkZHJlc3MgPSBjb250cmFjdEFkZHJlc3MoaW5pdCk7DQogICAgICAgIHNlbmQoU2VuZFBhcmFtZXRlcnN7DQogICAgICAgICAgICB2YWx1ZTogMCwgDQogICAgICAgICAgICB0bzogYWRkcmVzcywgDQogICAgICAgICAgICBtb2RlOiBTZW5kUmVtYWluaW5nVmFsdWUgKyBTZW5kSWdub3JlRXJyb3JzLCANCiAgICAgICAgICAgIGJvdW5jZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvZGU6IGluaXQuY29kZSwNCiAgICAgICAgICAgIGRhdGE6IGluaXQuZGF0YSwNCiAgICAgICAgICAgIGJvZHk6ICJNZXNzYWdlIi5hc0NvbW1lbnQoKQ0KICAgICAgICB9KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGdldE5leHQoKTogU3RhdGVJbml0IHsNCiAgICAgICAgcmV0dXJuIGluaXRPZiBCKG15QWRkcmVzcygpKTsNCiAgICB9DQp9DQoNCmNvbnRyYWN0IEIgew0KICAgIHBhcmVudDogQWRkcmVzczsNCiAgICBpbml0KHBhcmVudDogQWRkcmVzcykgew0KICAgICAgICBzZWxmLnBhcmVudCA9IHBhcmVudDsNCiAgICB9DQoNCiAgICByZWNlaXZlKCJNZXNzYWdlIikgew0KICAgICAgICBsZXQgaW5pdDogU3RhdGVJbml0ID0gaW5pdE9mIEMobXlBZGRyZXNzKCkpOw0KICAgICAgICBsZXQgYWRkcmVzczogQWRkcmVzcyA9IGNvbnRyYWN0QWRkcmVzcyhpbml0KTsNCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgIHZhbHVlOiAwLCANCiAgICAgICAgICAgIHRvOiBhZGRyZXNzLCANCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSArIFNlbmRJZ25vcmVFcnJvcnMsIA0KICAgICAgICAgICAgYm91bmNlOiB0cnVlLA0KICAgICAgICAgICAgY29kZTogaW5pdC5jb2RlLA0KICAgICAgICAgICAgZGF0YTogaW5pdC5kYXRhLA0KICAgICAgICAgICAgYm9keTogIk1lc3NhZ2UiLmFzQ29tbWVudCgpDQogICAgICAgIH0pOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0TmV4dCgpOiBTdGF0ZUluaXQgew0KICAgICAgICByZXR1cm4gaW5pdE9mIEMobXlBZGRyZXNzKCkpOw0KICAgIH0NCn0NCg0KY29udHJhY3QgQyB7DQogICAgcGFyZW50OiBBZGRyZXNzOw0KICAgIGluaXQocGFyZW50OiBBZGRyZXNzKSB7DQogICAgICAgIHNlbGYucGFyZW50ID0gcGFyZW50Ow0KICAgIH0NCg0KICAgIHJlY2VpdmUoIk1lc3NhZ2UiKSB7DQogICAgICAgIGxldCBpbml0OiBTdGF0ZUluaXQgPSBpbml0T2YgQyhzZWxmLnBhcmVudCk7DQogICAgICAgIGxldCBhZGRyZXNzOiBBZGRyZXNzID0gY29udHJhY3RBZGRyZXNzKGluaXQpOw0KICAgICAgICBzZW5kKFNlbmRQYXJhbWV0ZXJzew0KICAgICAgICAgICAgdmFsdWU6IDAsIA0KICAgICAgICAgICAgdG86IGFkZHJlc3MsIA0KICAgICAgICAgICAgbW9kZTogU2VuZFJlbWFpbmluZ1ZhbHVlICsgU2VuZElnbm9yZUVycm9ycywgDQogICAgICAgICAgICBib3VuY2U6IHRydWUsDQogICAgICAgICAgICBjb2RlOiBpbml0LmNvZGUsDQogICAgICAgICAgICBkYXRhOiBpbml0LmRhdGEsDQogICAgICAgICAgICBib2R5OiAiTWVzc2FnZTIiLmFzQ29tbWVudCgpDQogICAgICAgIH0pOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoIk1lc3NhZ2UyIikgew0KICAgICAgICAvLyBOb3RoaW5nIHRvIGRvDQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/deep-sequence.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/deep_B.stdlib.fc b/src/test/features/output/deep_B.stdlib.fc deleted file mode 100644 index cfb4b75cb..000000000 --- a/src/test/features/output/deep_B.stdlib.fc +++ /dev/null @@ -1,108 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -slice __tact_create_address(int chain, int hash) inline { - var b = begin_cell(); - b = b.store_uint(2, 2); - b = b.store_uint(0, 1); - b = b.store_int(chain, 8); - b = b.store_uint(hash, 256); - var addr = b.end_cell().begin_parse(); - return __tact_verify_address(addr); -} - -slice __tact_compute_contract_address(int chain, cell code, cell data) inline { - var b = begin_cell(); - b = b.store_uint(0, 2); - b = b.store_uint(3, 2); - b = b.store_uint(0, 1); - b = b.store_ref(code); - b = b.store_ref(data); - var hash = cell_hash(b.end_cell()); - return __tact_create_address(chain, hash); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -cell __tact_dict_set_code(cell dict, int id, cell code) inline { - return udict_set_ref(dict, 16, id, code); -} - -cell __tact_dict_get_code(cell dict, int id) inline { - var (data, ok) = udict_get_ref?(dict, 16, id); - throw_unless(135, ok); - return data; -} - -slice $global_contractAddress((cell, cell) $s) impure inline { - var (($s'code, $s'data)) = $s; - return __tact_compute_contract_address(0, $s'code, $s'data); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} \ No newline at end of file diff --git a/src/test/features/output/deep_B.storage.fc b/src/test/features/output/deep_B.storage.fc deleted file mode 100644 index 421312e20..000000000 --- a/src/test/features/output/deep_B.storage.fc +++ /dev/null @@ -1,88 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -(cell, cell) $StateInit$_to_external(((cell, cell)) v) inline { - var (v'code, v'data) = v; - return (v'code, v'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_bounce_code_data_body(int value, slice to, int mode, int bounce, cell code, cell data, cell body) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: B -;; - -builder $B$_store(builder build_0, (slice) v) inline { - var (v'parent) = v; - build_0 = __tact_store_address(build_0, v'parent); - return build_0; -} - -(slice, ((slice))) $B$_load(slice sc_0) inline { - var v'parent = sc_0~__tact_load_address(); - return (sc_0, (v'parent)); -} - -(slice, ((slice))) $B$init$_load(slice sc_0) inline { - var v'parent = sc_0~__tact_load_address(); - return (sc_0, (v'parent)); -} - -(slice) $B$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$B$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (slice parent) = $sc~$B$init$_load(); - $sc.end_parse(); - return $B$_contract_init(parent); - } -} - -() $B$_contract_store((slice) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $B$_store(b, v); - set_data(b.end_cell()); -} - -;; -;; Type: C -;; - -builder $C$init$_store(builder build_0, (slice) v) inline { - var (v'parent) = v; - build_0 = __tact_store_address(build_0, v'parent); - return build_0; -} - -(cell, cell) $C$_init_child(cell sys', slice $parent) inline_ref { - slice sc' = sys'.begin_parse(); - cell source = sc'~load_dict(); - cell contracts = new_dict(); - - ;; Contract Code: C - cell mine = __tact_dict_get_code(source, 30887); - contracts = __tact_dict_set_code(contracts, 30887, mine); - - ;; Build cell - builder b = begin_cell(); - b = b.store_ref(begin_cell().store_dict(contracts).end_cell()); - b = b.store_int(false, 1); - b = $C$init$_store(b, ($parent)); - return (mine, b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/deep_B.ts b/src/test/features/output/deep_B.ts deleted file mode 100644 index 8c40b562e..000000000 --- a/src/test/features/output/deep_B.ts +++ /dev/null @@ -1,306 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - - type B_init_args = { - $$type: 'B_init_args'; - parent: Address; -} - -function initB_init_args(src: B_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeAddress(src.parent); - }; -} - -async function B_init(parent: Address) { - const __code = Cell.fromBase64('te6ccgECEgEAA1wAART/APSkE/S88sgLAQIBYgIDAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UCwQCASAJCgGK7aLt+wGSMH/gcCHXScIflTAg1wsf3sAAjqf5AYLwtBqZMzAcHXKOZOI2hf46nHVAq5NZ73MYlDwO5eCRDV264wKRMOJwBQO4+EP4KNs8XHBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIcIBCf4heI0QwEhA2EDRZ2zx/2zENBgcAFgAAAABNZXNzYWdlAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AAgAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwCEb0Lztnm2eNglAsMAgEgDg8Asu1E0NQB+GPSAAGOIPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igx4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHRAQz4Q/go2zwNAJQB0PQEMG0BgXinAYAQ9A9vofLghwGBeKciAoAQ9BfIAcj0AMkBzHABygBYINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WyQC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAgFIEBEAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtVTZtTTh5YVZGZFFDNkg2WmtCN056ek1icmo5MkFnMURlWUtMNmhtZVV4NkiCA='); - const __system = Cell.fromBase64('te6cckECHwEABRUAAQHAAQICcwwCAQWyKeADART/APSkE/S88sgLBAIBYggFAgFYFAYCAUgTBwB1sm7jQ1aXBmczovL1FtYkRIV2I3TjF2ZzJqSlp1WWZTODFpUVVmb0VUZ3NXRmo5Qkw2ODdpNlJGWEOCACztAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggsj4QwHMfwHKAAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJ7VQeCQHc7aLt+wGSMH/gcCHXScIflTAg1wsf3sAAjtD5ASCC8LQamTMwHB1yjmTiNoX+Opx1QKuTWe9zGJQ8DuXgkQ1duuMCgvD8PIIRJGZYHboj+QTNGglyPAhpreoARb1nM+pPdtvScrqTf9sx4JEw4nAKA7gw+EMh2zxccFnIcAHLAXMBywFwAcsAEszMyfkAyHIBywFwAcsAEsoHy//J0CDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhwgEJ/iF4jRDASEDYQNFnbPH/bMR0LGgAYAAAAAE1lc3NhZ2UyAQWyIaANART/APSkE/S88sgLDgIBYhcPAgEgFRACASAUEQIBSBMSAHWybuNDVpcGZzOi8vUW1VNm1NOHlhVkZkUUM2SDZaa0I3Tnp6TWJyajkyQWcxRGVZS0w2aG1lVXg2SIIAARsK+7UTQ0gABgALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgCEb0Lztnm2eNglB4WAQz4Q/go2zwdAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UHhgBiu2i7fsBkjB/4HAh10nCH5UwINcLH97AAI6n+QGC8LQamTMwHB1yjmTiNoX+Opx1QKuTWe9zGJQ8DuXgkQ1duuMCkTDicBkDuPhD+CjbPFxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiHCAQn+IXiNEMBIQNhA0Wds8f9sxHRwaAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABsAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAFgAAAABNZXNzYWdlAJQB0PQEMG0BgXinAYAQ9A9vofLghwGBeKciAoAQ9BfIAcj0AMkBzHABygBYINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WyQCy7UTQ1AH4Y9IAAY4g+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiDHg+CjXCwqDCbry4In6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdFeMJGd'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initB_init_args({ $$type: 'B_init_args', parent })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const B_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const B_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, -] - -const B_getters: ABIGetter[] = [ - {"name":"getNext","arguments":[],"returnType":{"kind":"simple","type":"StateInit","optional":false}}, -] - -const B_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Message"}}, -] - -export class B implements Contract { - - static async init(parent: Address) { - return await B_init(parent); - } - - static async fromInit(parent: Address) { - const init = await B_init(parent); - const address = contractAddress(0, init); - return new B(address, init); - } - - static fromAddress(address: Address) { - return new B(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: B_types, - getters: B_getters, - receivers: B_receivers, - errors: B_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Message') { - - let body: Cell | null = null; - if (message === 'Message') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getGetNext(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getNext', builder.build())).stack; - const result = loadTupleStateInit(source); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/deep_C.abi b/src/test/features/output/deep_C.abi deleted file mode 100644 index 26fbebb17..000000000 --- a/src/test/features/output/deep_C.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"C","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Message"}},{"receiver":"internal","message":{"kind":"text","text":"Message2"}}],"getters":[],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/deep_C.code.boc b/src/test/features/output/deep_C.code.boc deleted file mode 100644 index 9619c147b..000000000 Binary files a/src/test/features/output/deep_C.code.boc and /dev/null differ diff --git a/src/test/features/output/deep_C.code.boc.html b/src/test/features/output/deep_C.code.boc.html deleted file mode 100644 index 727e7602c..000000000 --- a/src/test/features/output/deep_C.code.boc.html +++ /dev/null @@ -1,468 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_17240c1f9f33f0fd;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_b95799f0a9207f78;
-            ..DECLPROC ?fun_ref_ed0c6f0c0e19c38a;
-            x2..recv_internal PROC:<{
-            18x2....s0 s1 XCHG
-            118x2....CTOS
-            26x2....4 LDU
-            18x2....s0 s1 XCHG
-            18x2....1 PUSHINT
-            18x2....AND
-            18x2....-1 MULCONST
-            18x2....s0 s1 XCHG
-            26x2....LDMSGADDR
-            18x2....s0 s1 XCHG
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            34x2....137 THROWIF
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            34x2....s0 s6 s4 PUXCPU
-            18x2....s0 s3 XCHG
-            30x2....4 TUPLE
-            28x2....1 SETGLOBVAR
-            18x2....s0 s2 XCHG
-            29x2....2 SETGLOBVAR
-            126x2....?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT
-            18x2....ROTREV
-            126x2....?fun_ref_b95799f0a9207f78 INLINECALLDICT
-            34x2....130 THROWIFNOT
-            18x2....NEWC
-            26x2....3 GETGLOBVAR
-            18x2....s0 s1 XCHG
-            18x2....STREF
-            18x2....-1 PUSHINT
-            18x2....s0 s1 XCHG
-            26x2....1 STI
-            18x2....s0 s1 XCHG
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            34x2....137 THROWIF
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            26x2....STSLICER
-            518x2....ENDC
-            26x2....c4 POP
-            x2..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D6244485762374E317667326A4A5A755966533831695155666F4554677357466A39424C36383769365246584382_} PUSHSLICE
-            ..}>
-            x3..?fun_ref_17240c1f9f33f0fd PROCREF:<{
-            18x3....s0 s1 XCHG
-            118x3....CTOS
-            26x3....LDDICT
-            18x3....s0 POP
-            18x3....NULL
-            18x3....s0 s1 XCHG
-            34x3....30887 PUSHINT
-            18x3....s0 s1 XCHG
-            26x3....16 PUSHINT
-            226x3....DICTUGETREF
-            26x3....NULLSWAPIFNOT
-            34x3....135 THROWIFNOT
-            18x3....s0 s1 XCHG
-            34x3....30887 PUSHINT
-            18x3....s2 PUSH
-            18x3....s0 s2 XCHG
-            26x3....16 PUSHINT
-            526x3....DICTUSETREF
-            18x3....NEWC
-            18x3....s0 s1 XCHG
-            18x3....NEWC
-            26x3....STDICT
-            518x3....ENDC
-            18x3....s0 s1 XCHG
-            18x3....STREF
-            18x3....0 PUSHINT
-            18x3....s0 s1 XCHG
-            26x3....1 STI
-            18x3....ROT
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            26x3....STSLICER
-            518x3....ENDC
-            x3..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x2..?fun_ref_b95799f0a9207f78 PROCREF:<{
-            26x2....2 SAVE
-            26x2....SAMEALTSAVE
-            18x2....s0 s1 XCHG
-            18x2....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x2....}> PUSHCONT
-            18x2....IFJMP
-            18x2....0 PUSHINT
-            18x2....s1 PUSH
-            26x2....SBITS
-            26x2....31 GTINT
-            18x2....<{
-            18x2......s0 POP
-            18x2......s0 PUSH
-            34x2......32 PLDU
-            18x2....}> PUSHCONT
-            18x2....IF
-            26x2....0 EQINT
-            26x2....<{
-            526x2......HASHSU
-            18x2......s0 PUSH
-            23x2......81463308115887082732985988965814941212607499737973399264699107294340141092189 PUSHINT
-            18x2......EQUAL
-            126x2......<{
-            18x1........s0 POP
-            26x1........3 GETGLOBVAR
-            18x1........s1 PUSH
-            126x1........?fun_ref_17240c1f9f33f0fd INLINECALLDICT
-            18x1........DUP2
-            18x1........0 PUSHINT
-            18x1........ROTREV
-            18x1........NEWC
-            18x1........0 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........2 STU
-            18x1........3 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........2 STU
-            18x1........0 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........1 STU
-            18x1........s1 s2 XCHG
-            18x1........STREF
-            18x1........STREF
-            518x1........ENDC
-            26x1........HASHCU
-            18x1........NEWC
-            18x1........2 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........2 STU
-            18x1........0 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........1 STU
-            18x1........s1 s2 XCHG
-            26x1........8 STI
-            26x1........256 STU
-            518x1........ENDC
-            118x1........CTOS
-            18x1........s0 PUSH
-            26x1........SBITS
-            34x1........267 PUSHINT
-            18x1........EQUAL
-            34x1........136 THROWIFNOT
-            18x1........s0 PUSH
-            34x1........11 PLDU
-            18x1........s0 PUSH
-            34x1........1279 PUSHINT
-            18x1........EQUAL
-            34x1........137 THROWIF
-            26x1........10 PUSHPOW2
-            18x1........EQUAL
-            34x1........136 THROWIFNOT
-            18x1........0 PUSHINT
-            26x1........66 PUSHINT
-            18x1........-1 PUSHINT
-            18x1........x{000000004D65737361676532} PUSHREF
-            26x1........4 3 REVERSE
-            26x1........s4 s3 s0 XCHG3
-            18x1........s1 s2 XCHG
-            26x1........s3 s6 XCHG
-            26x1........s3 s4 XCHG
-            18x1........ROTREV
-            126x1........?fun_ref_b93b9862cda1783c INLINECALLDICT
-            18x1........-1 PUSHINT
-            26x1........RETFALSE
-            126x2......}> IFJMPREF
-            23x1......114089746356047353508133676070720907146352136342213405975581125113545976697458 PUSHINT
-            18x1......EQUAL
-            18x1......<{
-            18x1........-1 PUSHINT
-            26x1........RETFALSE
-            18x1......}> PUSHCONT
-            18x1......IFJMP
-            26x2....}> PUSHCONT
-            18x2....<{
-            ......s0 POP
-            18x2....}> PUSHCONT
-            18x2....IFELSE
-            ....0 PUSHINT
-            x2..}>
-            x6..?fun_ref_ed0c6f0c0e19c38a PROCREF:<{
-            26x6....c4 PUSH
-            118x6....CTOS
-            18x6....LDREF
-            18x6....s0 s1 XCHG
-            30x6....3 SETGLOBVAR
-            26x6....1 LDI
-            18x6....s0 s1 XCHG
-            26x6....<{
-            26x3......LDMSGADDR
-            18x3......s0 s1 XCHG
-            18x3......s0 PUSH
-            26x3......SBITS
-            34x3......267 PUSHINT
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s0 PUSH
-            34x3......11 PLDU
-            18x3......s0 PUSH
-            34x3......1279 PUSHINT
-            18x3......EQUAL
-            34x3......137 THROWIF
-            26x3......10 PUSHPOW2
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s1 POP
-            26x6....}> PUSHCONT
-            18x6....IFJMP
-            26x3....MYADDR
-            34x3....11 PLDU
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....137 THROWIFNOT
-            26x3....LDMSGADDR
-            18x3....s0 s1 XCHG
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 s1 XCHG
-            18x3....ENDS
-            x6..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/deep_C.code.fc b/src/test/features/output/deep_C.code.fc deleted file mode 100644 index 3fa4d4e51..000000000 --- a/src/test/features/output/deep_C.code.fc +++ /dev/null @@ -1,117 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "deep_C.headers.fc"; -#include "deep_C.stdlib.fc"; -#include "deep_C.constants.fc"; -#include "deep_C.storage.fc"; - -;; -;; Contract C functions -;; - -(slice) $C$_contract_init(slice $parent) impure inline_ref { - var (($self'parent)) = (null()); - $self'parent = $parent; - return ($self'parent); -} - -;; -;; Receivers of a Contract C -;; - -((slice), ()) $C$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d((slice) $self) impure inline { - var ($self'parent) = $self; - var ($init'code, $init'data) = $C$_init_child(__tact_context_sys, $self'parent); - slice $address = $global_contractAddress(($init'code, $init'data)); - $global_send($SendParameters$_constructor_value_to_mode_bounce_code_data_body(0, $address, (64 + 2), true, $init'code, $init'data, __gen_cell_comment_fc3c82112466581dba23f904cd1a09723c0869adea0045bd6733ea4f76dbd272())); - return (($self'parent), ()); -} - -((slice), ()) $C$_internal_text_fc3c82112466581dba23f904cd1a09723c0869adea0045bd6733ea4f76dbd272((slice) $self) impure inline { - var ($self'parent) = $self; - return (($self'parent), ()); -} - -;; -;; Get methods of a Contract C -;; - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmbDHWb7N1vg2jJZuYfS81iQUfoETgsWFj9BL687i6RFXC"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract C -;; - -((slice), int) $C$_contract_router_internal((slice) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Message" message - if (text_op == 0xb41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d) { - self~$C$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d(); - return (self, true); - } - - ;; Receive "Message2" message - if (text_op == 0xfc3c82112466581dba23f904cd1a09723c0869adea0045bd6733ea4f76dbd272) { - self~$C$_internal_text_fc3c82112466581dba23f904cd1a09723c0869adea0045bd6733ea4f76dbd272(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $C$_contract_load(); - - ;; Handle operation - int handled = self~$C$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $C$_contract_store(self); -} diff --git a/src/test/features/output/deep_C.code.fif b/src/test/features/output/deep_C.code.fif deleted file mode 100644 index 2a0fd8407..000000000 --- a/src/test/features/output/deep_C.code.fif +++ /dev/null @@ -1,399 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_create_address - DECLPROC __tact_compute_contract_address - DECLPROC __tact_not_null - DECLPROC __tact_store_bool - DECLPROC __tact_dict_set_code - DECLPROC __tact_dict_get_code - DECLPROC $C$_store - DECLPROC $C$_load - DECLPROC $C$init$_store - DECLPROC $C$init$_load - DECLPROC $C$_contract_init - DECLPROC $C$_contract_load - DECLPROC $C$_contract_store - DECLPROC $global_contractAddress - DECLPROC $global_send - DECLPROC $C$_init_child - DECLPROC $SendParameters$_constructor_value_to_mode_bounce_code_data_body - DECLPROC $C$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d - DECLPROC $C$_internal_text_fc3c82112466581dba23f904cd1a09723c0869adea0045bd6733ea4f76dbd272 - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $C$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_create_address PROCINLINE:<{ - NEWC - 2 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - __tact_verify_address INLINECALLDICT - }> - __tact_compute_contract_address PROCINLINE:<{ - NEWC - 0 PUSHINT - SWAP - 2 STU - 3 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - __tact_create_address INLINECALLDICT - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_dict_set_code PROCINLINE:<{ - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - }> - __tact_dict_get_code PROCINLINE:<{ - SWAP - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - }> - $C$_store PROCINLINE:<{ - __tact_store_address INLINECALLDICT - }> - $C$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - }> - $C$init$_store PROCINLINE:<{ - __tact_store_address INLINECALLDICT - }> - $C$init$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - }> - $C$_contract_init PROCREF:<{ - }> - $C$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $C$_load INLINECALLDICT - NIP - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $C$init$_load INLINECALLDICT - SWAP - ENDS - $C$_contract_init INLINECALLDICT - }> - $C$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - SWAP - $C$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_contractAddress PROCINLINE:<{ - 0 PUSHINT - -ROT - __tact_compute_contract_address INLINECALLDICT - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $C$_init_child PROCREF:<{ - SWAP - CTOS - LDDICT - DROP - NEWDICT - SWAP - 30887 PUSHINT - __tact_dict_get_code INLINECALLDICT - SWAP - 30887 PUSHINT - s2 PUSH - __tact_dict_set_code INLINECALLDICT - NEWC - SWAP - NEWC - STDICT - ENDC - SWAP - STREF - FALSE - SWAP - 1 STI - ROT - $C$init$_store INLINECALLDICT - ENDC - }> - $SendParameters$_constructor_value_to_mode_bounce_code_data_body PROCINLINE:<{ - s3 s6 XCHG - s3 s4 XCHG - -ROT - }> - $C$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d PROCINLINE:<{ - __tact_context_sys GETGLOB - OVER - $C$_init_child INLINECALLDICT - 2DUP - $global_contractAddress INLINECALLDICT - 0 PUSHINT - 66 PUSHINT - TRUE - B{b5ee9c7241010101000e000018000000004d65737361676532cf81fb3d} B>boc PUSHREF - 4 3 REVERSE - s4 s3 s0 XCHG3 - s1 s2 XCHG - $SendParameters$_constructor_value_to_mode_bounce_code_data_body INLINECALLDICT - $global_send INLINECALLDICT - }> - $C$_internal_text_fc3c82112466581dba23f904cd1a09723c0869adea0045bd6733ea4f76dbd272 PROCINLINE:<{ - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d6244485762374e317667326a4a5a755966533831695155666f4554677357466a39424c363837693652465843} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $C$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 0 EQINT - IF:<{ - HASHSU - DUP - 81463308115887082732985988965814941212607499737973399264699107294340141092189 PUSHINT - EQUAL - IFJMP:<{ - DROP - $C$_internal_text_b41a9933301c1d728e64e23685fe3a9c7540ab9359ef7318943c0ee5e0910d5d INLINECALLDICT - TRUE - RETALT - }> - 114089746356047353508133676070720907146352136342213405975581125113545976697458 PUSHINT - EQUAL - IFJMP:<{ - $C$_internal_text_fc3c82112466581dba23f904cd1a09723c0869adea0045bd6733ea4f76dbd272 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $C$_contract_load INLINECALLDICT - -ROT - $C$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $C$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/deep_C.code.rev.fif b/src/test/features/output/deep_C.code.rev.fif deleted file mode 100644 index 1701bbdf8..000000000 --- a/src/test/features/output/deep_C.code.rev.fif +++ /dev/null @@ -1,432 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_17240c1f9f33f0fd; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_b95799f0a9207f78; - DECLPROC ?fun_ref_ed0c6f0c0e19c38a; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT - ROTREV - ?fun_ref_b95799f0a9207f78 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - c4 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D6244485762374E317667326A4A5A755966533831695155666F4554677357466A39424C36383769365246584382_} PUSHSLICE - }> - ?fun_ref_17240c1f9f33f0fd PROCREF:<{ - s0 s1 XCHG - CTOS - LDDICT - s0 POP - NULL - s0 s1 XCHG - 30887 PUSHINT - s0 s1 XCHG - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - s0 s1 XCHG - 30887 PUSHINT - s2 PUSH - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - NEWC - s0 s1 XCHG - NEWC - STDICT - ENDC - s0 s1 XCHG - STREF - 0 PUSHINT - s0 s1 XCHG - 1 STI - ROT - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_b95799f0a9207f78 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 0 EQINT - <{ - HASHSU - s0 PUSH - 81463308115887082732985988965814941212607499737973399264699107294340141092189 PUSHINT - EQUAL - <{ - s0 POP - 3 GETGLOBVAR - s1 PUSH - ?fun_ref_17240c1f9f33f0fd INLINECALLDICT - DUP2 - 0 PUSHINT - ROTREV - NEWC - 0 PUSHINT - s0 s1 XCHG - 2 STU - 3 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - STREF - STREF - ENDC - HASHCU - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - 0 PUSHINT - 66 PUSHINT - -1 PUSHINT - x{000000004D65737361676532} PUSHREF - 4 3 REVERSE - s4 s3 s0 XCHG3 - s1 s2 XCHG - s3 s6 XCHG - s3 s4 XCHG - ROTREV - ?fun_ref_b93b9862cda1783c INLINECALLDICT - -1 PUSHINT - RETFALSE - }> IFJMPREF - 114089746356047353508133676070720907146352136342213405975581125113545976697458 PUSHINT - EQUAL - <{ - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - 0 PUSHINT - }> - ?fun_ref_ed0c6f0c0e19c38a PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 POP - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - ENDS - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/deep_C.constants.fc b/src/test/features/output/deep_C.constants.fc deleted file mode 100644 index a94cf3831..000000000 --- a/src/test/features/output/deep_C.constants.fc +++ /dev/null @@ -1,2 +0,0 @@ -;; Comment "Message2" -cell __gen_cell_comment_fc3c82112466581dba23f904cd1a09723c0869adea0045bd6733ea4f76dbd272() asm "B{b5ee9c7241010101000e000018000000004d65737361676532cf81fb3d} B>boc PUSHREF"; \ No newline at end of file diff --git a/src/test/features/output/deep_C.headers.fc b/src/test/features/output/deep_C.headers.fc deleted file mode 100644 index bf2979948..000000000 --- a/src/test/features/output/deep_C.headers.fc +++ /dev/null @@ -1,64 +0,0 @@ -;; -;; Header files for C -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_create_address -slice __tact_create_address(int chain, int hash) inline; - -;; __tact_compute_contract_address -slice __tact_compute_contract_address(int chain, cell code, cell data) inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_dict_set_code -cell __tact_dict_set_code(cell dict, int id, cell code) inline; - -;; __tact_dict_get_code -cell __tact_dict_get_code(cell dict, int id) inline; - -;; $C$_store -builder $C$_store(builder build_0, (slice) v) inline; - -;; $C$_load -(slice, ((slice))) $C$_load(slice sc_0) inline; - -;; $C$init$_store -builder $C$init$_store(builder build_0, (slice) v) inline; - -;; $C$init$_load -(slice, ((slice))) $C$init$_load(slice sc_0) inline; - -;; $C$_contract_init -(slice) $C$_contract_init(slice $parent) impure inline_ref; - -;; $C$_contract_load -(slice) $C$_contract_load() impure inline_ref; - -;; $C$_contract_store -() $C$_contract_store((slice) v) impure inline; - -;; $global_contractAddress -slice $global_contractAddress((cell, cell) $s) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $C$_init_child -(cell, cell) $C$_init_child(cell sys', slice $parent) inline_ref; - -;; $SendParameters$_constructor_value_to_mode_bounce_code_data_body -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_bounce_code_data_body(int value, slice to, int mode, int bounce, cell code, cell data, cell body) inline; diff --git a/src/test/features/output/deep_C.md b/src/test/features/output/deep_C.md deleted file mode 100644 index 86363a33f..000000000 --- a/src/test/features/output/deep_C.md +++ /dev/null @@ -1,47 +0,0 @@ -# TACT Compilation Report -Contract: C -BOC Size: 887 bytes - -# Types -Total Types: 3 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -# Get Methods -Total Get Methods: 0 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/deep_C.pkg b/src/test/features/output/deep_C.pkg deleted file mode 100644 index 589e89991..000000000 --- a/src/test/features/output/deep_C.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"C","code":"te6ccgECDwEAA2sAART/APSkE/S88sgLAQIBYgIDAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UBAUCAVgLDACy7UTQ1AH4Y9IAAY4g+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiDHg+CjXCwqDCbry4In6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdEB3O2i7fsBkjB/4HAh10nCH5UwINcLH97AAI7Q+QEggvC0GpkzMBwdco5k4jaF/jqcdUCrk1nvcxiUPA7l4JENXbrjAoLw/DyCESRmWB26I/kEzRoJcjwIaa3qAEW9ZzPqT3bb0nK6k3/bMeCRMOJwBgO4MPhDIds8XHBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIcIBCf4heI0QwEhA2EDRZ2zx/2zEHCAkAlAHQ9AQwbQGBeKcBgBD0D2+h8uCHAYF4pyICgBD0F8gByPQAyQHMcAHKAFgg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJABgAAAAATWVzc2FnZTIByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsACgCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAgFIDQ4AEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtYkRIV2I3TjF2ZzJqSlp1WWZTODFpUVVmb0VUZ3NXRmo5Qkw2ODdpNlJGWEOCA=","abi":"{\"name\":\"C\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Message\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Message2\"}}],\"getters\":[],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"parent","type":{"kind":"simple","type":"address","optional":false}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECEQEAA3UAAQHAAQEFoPFPAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbWJESFdiN04xdmcyakpadVlmUzgxaVFVZm9FVGdzV0ZqOUJMNjg3aTZSRlhDggABGwr7tRNDSAAGAAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSALO0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCyPhDAcx/AcoAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsntVBAKAdztou37AZIwf+BwIddJwh+VMCDXCx/ewACO0PkBIILwtBqZMzAcHXKOZOI2hf46nHVAq5NZ73MYlDwO5eCRDV264wKC8Pw8ghEkZlgduiP5BM0aCXI8CGmt6gBFvWcz6k9229JyupN/2zHgkTDicAsDuDD4QyHbPFxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiHCAQn+IXiNEMBIQNhA0Wds8f9sxDw4MAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AA0AmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAGAAAAABNZXNzYWdlMgCUAdD0BDBtAYF4pwGAEPQPb6Hy4IcBgXinIgKAEPQXyAHI9ADJAcxwAcoAWCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFskAsu1E0NQB+GPSAAGOIPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igx4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHRWYdDzA=="}},"sources":{"src\\test\\features\\deep-sequence.tact":"Y29udHJhY3QgQSB7DQoNCiAgICBpbml0KCkgew0KDQogICAgfQ0KDQogICAgcmVjZWl2ZSgiTWVzc2FnZSIpIHsNCiAgICAgICAgbGV0IGluaXQ6IFN0YXRlSW5pdCA9IGluaXRPZiBCKG15QWRkcmVzcygpKTsNCiAgICAgICAgbGV0IGFkZHJlc3M6IEFkZHJlc3MgPSBjb250cmFjdEFkZHJlc3MoaW5pdCk7DQogICAgICAgIHNlbmQoU2VuZFBhcmFtZXRlcnN7DQogICAgICAgICAgICB2YWx1ZTogMCwgDQogICAgICAgICAgICB0bzogYWRkcmVzcywgDQogICAgICAgICAgICBtb2RlOiBTZW5kUmVtYWluaW5nVmFsdWUgKyBTZW5kSWdub3JlRXJyb3JzLCANCiAgICAgICAgICAgIGJvdW5jZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvZGU6IGluaXQuY29kZSwNCiAgICAgICAgICAgIGRhdGE6IGluaXQuZGF0YSwNCiAgICAgICAgICAgIGJvZHk6ICJNZXNzYWdlIi5hc0NvbW1lbnQoKQ0KICAgICAgICB9KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGdldE5leHQoKTogU3RhdGVJbml0IHsNCiAgICAgICAgcmV0dXJuIGluaXRPZiBCKG15QWRkcmVzcygpKTsNCiAgICB9DQp9DQoNCmNvbnRyYWN0IEIgew0KICAgIHBhcmVudDogQWRkcmVzczsNCiAgICBpbml0KHBhcmVudDogQWRkcmVzcykgew0KICAgICAgICBzZWxmLnBhcmVudCA9IHBhcmVudDsNCiAgICB9DQoNCiAgICByZWNlaXZlKCJNZXNzYWdlIikgew0KICAgICAgICBsZXQgaW5pdDogU3RhdGVJbml0ID0gaW5pdE9mIEMobXlBZGRyZXNzKCkpOw0KICAgICAgICBsZXQgYWRkcmVzczogQWRkcmVzcyA9IGNvbnRyYWN0QWRkcmVzcyhpbml0KTsNCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sNCiAgICAgICAgICAgIHZhbHVlOiAwLCANCiAgICAgICAgICAgIHRvOiBhZGRyZXNzLCANCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSArIFNlbmRJZ25vcmVFcnJvcnMsIA0KICAgICAgICAgICAgYm91bmNlOiB0cnVlLA0KICAgICAgICAgICAgY29kZTogaW5pdC5jb2RlLA0KICAgICAgICAgICAgZGF0YTogaW5pdC5kYXRhLA0KICAgICAgICAgICAgYm9keTogIk1lc3NhZ2UiLmFzQ29tbWVudCgpDQogICAgICAgIH0pOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0TmV4dCgpOiBTdGF0ZUluaXQgew0KICAgICAgICByZXR1cm4gaW5pdE9mIEMobXlBZGRyZXNzKCkpOw0KICAgIH0NCn0NCg0KY29udHJhY3QgQyB7DQogICAgcGFyZW50OiBBZGRyZXNzOw0KICAgIGluaXQocGFyZW50OiBBZGRyZXNzKSB7DQogICAgICAgIHNlbGYucGFyZW50ID0gcGFyZW50Ow0KICAgIH0NCg0KICAgIHJlY2VpdmUoIk1lc3NhZ2UiKSB7DQogICAgICAgIGxldCBpbml0OiBTdGF0ZUluaXQgPSBpbml0T2YgQyhzZWxmLnBhcmVudCk7DQogICAgICAgIGxldCBhZGRyZXNzOiBBZGRyZXNzID0gY29udHJhY3RBZGRyZXNzKGluaXQpOw0KICAgICAgICBzZW5kKFNlbmRQYXJhbWV0ZXJzew0KICAgICAgICAgICAgdmFsdWU6IDAsIA0KICAgICAgICAgICAgdG86IGFkZHJlc3MsIA0KICAgICAgICAgICAgbW9kZTogU2VuZFJlbWFpbmluZ1ZhbHVlICsgU2VuZElnbm9yZUVycm9ycywgDQogICAgICAgICAgICBib3VuY2U6IHRydWUsDQogICAgICAgICAgICBjb2RlOiBpbml0LmNvZGUsDQogICAgICAgICAgICBkYXRhOiBpbml0LmRhdGEsDQogICAgICAgICAgICBib2R5OiAiTWVzc2FnZTIiLmFzQ29tbWVudCgpDQogICAgICAgIH0pOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoIk1lc3NhZ2UyIikgew0KICAgICAgICAvLyBOb3RoaW5nIHRvIGRvDQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/deep-sequence.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/deep_C.stdlib.fc b/src/test/features/output/deep_C.stdlib.fc deleted file mode 100644 index cfb4b75cb..000000000 --- a/src/test/features/output/deep_C.stdlib.fc +++ /dev/null @@ -1,108 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -slice __tact_create_address(int chain, int hash) inline { - var b = begin_cell(); - b = b.store_uint(2, 2); - b = b.store_uint(0, 1); - b = b.store_int(chain, 8); - b = b.store_uint(hash, 256); - var addr = b.end_cell().begin_parse(); - return __tact_verify_address(addr); -} - -slice __tact_compute_contract_address(int chain, cell code, cell data) inline { - var b = begin_cell(); - b = b.store_uint(0, 2); - b = b.store_uint(3, 2); - b = b.store_uint(0, 1); - b = b.store_ref(code); - b = b.store_ref(data); - var hash = cell_hash(b.end_cell()); - return __tact_create_address(chain, hash); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -cell __tact_dict_set_code(cell dict, int id, cell code) inline { - return udict_set_ref(dict, 16, id, code); -} - -cell __tact_dict_get_code(cell dict, int id) inline { - var (data, ok) = udict_get_ref?(dict, 16, id); - throw_unless(135, ok); - return data; -} - -slice $global_contractAddress((cell, cell) $s) impure inline { - var (($s'code, $s'data)) = $s; - return __tact_compute_contract_address(0, $s'code, $s'data); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} \ No newline at end of file diff --git a/src/test/features/output/deep_C.storage.fc b/src/test/features/output/deep_C.storage.fc deleted file mode 100644 index 408ce989b..000000000 --- a/src/test/features/output/deep_C.storage.fc +++ /dev/null @@ -1,74 +0,0 @@ -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_value_to_mode_bounce_code_data_body(int value, slice to, int mode, int bounce, cell code, cell data, cell body) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: C -;; - -builder $C$_store(builder build_0, (slice) v) inline { - var (v'parent) = v; - build_0 = __tact_store_address(build_0, v'parent); - return build_0; -} - -(slice, ((slice))) $C$_load(slice sc_0) inline { - var v'parent = sc_0~__tact_load_address(); - return (sc_0, (v'parent)); -} - -builder $C$init$_store(builder build_0, (slice) v) inline { - var (v'parent) = v; - build_0 = __tact_store_address(build_0, v'parent); - return build_0; -} - -(slice, ((slice))) $C$init$_load(slice sc_0) inline { - var v'parent = sc_0~__tact_load_address(); - return (sc_0, (v'parent)); -} - -(slice) $C$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$C$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (slice parent) = $sc~$C$init$_load(); - $sc.end_parse(); - return $C$_contract_init(parent); - } -} - -() $C$_contract_store((slice) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $C$_store(b, v); - set_data(b.end_cell()); -} - -(cell, cell) $C$_init_child(cell sys', slice $parent) inline_ref { - slice sc' = sys'.begin_parse(); - cell source = sc'~load_dict(); - cell contracts = new_dict(); - - ;; Contract Code: C - cell mine = __tact_dict_get_code(source, 30887); - contracts = __tact_dict_set_code(contracts, 30887, mine); - - ;; Build cell - builder b = begin_cell(); - b = b.store_ref(begin_cell().store_dict(contracts).end_cell()); - b = b.store_int(false, 1); - b = $C$init$_store(b, ($parent)); - return (mine, b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/deep_C.ts b/src/test/features/output/deep_C.ts deleted file mode 100644 index 224063f21..000000000 --- a/src/test/features/output/deep_C.ts +++ /dev/null @@ -1,302 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - - type C_init_args = { - $$type: 'C_init_args'; - parent: Address; -} - -function initC_init_args(src: C_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeAddress(src.parent); - }; -} - -async function C_init(parent: Address) { - const __code = Cell.fromBase64('te6ccgECDwEAA2sAART/APSkE/S88sgLAQIBYgIDAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UBAUCAVgLDACy7UTQ1AH4Y9IAAY4g+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiDHg+CjXCwqDCbry4In6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdEB3O2i7fsBkjB/4HAh10nCH5UwINcLH97AAI7Q+QEggvC0GpkzMBwdco5k4jaF/jqcdUCrk1nvcxiUPA7l4JENXbrjAoLw/DyCESRmWB26I/kEzRoJcjwIaa3qAEW9ZzPqT3bb0nK6k3/bMeCRMOJwBgO4MPhDIds8XHBZyHABywFzAcsBcAHLABLMzMn5AMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIcIBCf4heI0QwEhA2EDRZ2zx/2zEHCAkAlAHQ9AQwbQGBeKcBgBD0D2+h8uCHAYF4pyICgBD0F8gByPQAyQHMcAHKAFgg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxbJABgAAAAATWVzc2FnZTIByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsACgCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAgFIDQ4AEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtYkRIV2I3TjF2ZzJqSlp1WWZTODFpUVVmb0VUZ3NXRmo5Qkw2ODdpNlJGWEOCA='); - const __system = Cell.fromBase64('te6cckECEQEAA3UAAQHAAQEFoPFPAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbWJESFdiN04xdmcyakpadVlmUzgxaVFVZm9FVGdzV0ZqOUJMNjg3aTZSRlhDggABGwr7tRNDSAAGAAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSALO0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCyPhDAcx/AcoAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsntVBAKAdztou37AZIwf+BwIddJwh+VMCDXCx/ewACO0PkBIILwtBqZMzAcHXKOZOI2hf46nHVAq5NZ73MYlDwO5eCRDV264wKC8Pw8ghEkZlgduiP5BM0aCXI8CGmt6gBFvWcz6k9229JyupN/2zHgkTDicAsDuDD4QyHbPFxwWchwAcsBcwHLAXABywASzMzJ+QDIcgHLAXABywASygfL/8nQINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiHCAQn+IXiNEMBIQNhA0Wds8f9sxDw4MAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AA0AmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwAGAAAAABNZXNzYWdlMgCUAdD0BDBtAYF4pwGAEPQPb6Hy4IcBgXinIgKAEPQXyAHI9ADJAcxwAcoAWCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFskAsu1E0NQB+GPSAAGOIPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Igx4Pgo1wsKgwm68uCJ+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHRWYdDzA=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initC_init_args({ $$type: 'C_init_args', parent })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const C_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const C_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, -] - -const C_getters: ABIGetter[] = [ -] - -const C_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Message"}}, - {"receiver":"internal","message":{"kind":"text","text":"Message2"}}, -] - -export class C implements Contract { - - static async init(parent: Address) { - return await C_init(parent); - } - - static async fromInit(parent: Address) { - const init = await C_init(parent); - const address = contractAddress(0, init); - return new C(address, init); - } - - static fromAddress(address: Address) { - return new C(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: C_types, - getters: C_getters, - receivers: C_receivers, - errors: C_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Message' | 'Message2') { - - let body: Cell | null = null; - if (message === 'Message') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message === 'Message2') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - -} \ No newline at end of file diff --git a/src/test/features/output/dns_DNSTester.abi b/src/test/features/output/dns_DNSTester.abi deleted file mode 100644 index dbd8bfe69..000000000 --- a/src/test/features/output/dns_DNSTester.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"DNSTester","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"DNSResolveResult","header":null,"fields":[{"name":"prefix","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"record","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}],"getters":[{"name":"stringToInternal","arguments":[{"name":"src","type":{"kind":"simple","type":"string","optional":false}}],"returnType":{"kind":"simple","type":"slice","optional":true}},{"name":"internalNormalize","arguments":[{"name":"src","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"slice","optional":false}},{"name":"dnsInternalVerify","arguments":[{"name":"subdomain","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"dnsExtractTopDomainLength","arguments":[{"name":"subdomain","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"dnsExtractTopDomain","arguments":[{"name":"subdomain","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"slice","optional":false}},{"name":"dnsresolve","arguments":[{"name":"subdomain","type":{"kind":"simple","type":"slice","optional":false}},{"name":"category","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"DNSResolveResult","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"},"24161":{"message":"Invalid DNS name"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/dns_DNSTester.code.boc b/src/test/features/output/dns_DNSTester.code.boc deleted file mode 100644 index acb4c2a58..000000000 Binary files a/src/test/features/output/dns_DNSTester.code.boc and /dev/null differ diff --git a/src/test/features/output/dns_DNSTester.code.boc.html b/src/test/features/output/dns_DNSTester.code.boc.html deleted file mode 100644 index 10fc05a54..000000000 --- a/src/test/features/output/dns_DNSTester.code.boc.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_31;
-            ..DECLPROC ?fun_32;
-            ..DECLPROC ?fun_33;
-            ..DECLPROC ?fun_74415;
-            ..DECLPROC ?fun_97933;
-            ..DECLPROC ?fun_103737;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC ?fun_114191;
-            ..DECLPROC ?fun_114271;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC dnsresolve;
-            ..DECLPROC ?fun_ref_1dd4b06caa854cc5;
-            ..DECLPROC ?fun_ref_276042a605bab842;
-            ..DECLPROC ?fun_ref_3c940a21d807db56;
-            ..DECLPROC ?fun_ref_44a5603735516a00;
-            ..DECLPROC ?fun_ref_5253d8f4322fb74b;
-            ..DECLPROC ?fun_ref_68f50267c8c55b45;
-            ..DECLPROC ?fun_ref_94fd608d2afcf8f1;
-            ..DECLPROC ?fun_ref_a05e0042bce184fb;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            ..DECLPROC ?fun_ref_d2828fe79a96ad44;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            ..DECLPROC ?fun_ref_f02e5bbf40f47f02;
-            ..DECLPROC ?fun_ref_f1b9d3edc5e7c3f8;
-            x55..recv_internal PROC:<{
-            18x55....s0 s1 XCHG
-            118x55....CTOS
-            26x55....4 LDU
-            18x55....s0 s1 XCHG
-            18x55....1 PUSHINT
-            18x55....AND
-            18x55....-1 MULCONST
-            18x55....s0 s1 XCHG
-            26x55....LDMSGADDR
-            18x55....s0 s1 XCHG
-            18x55....s0 PUSH
-            26x55....SBITS
-            34x55....267 PUSHINT
-            18x55....EQUAL
-            34x55....136 THROWIFNOT
-            18x55....s0 PUSH
-            34x55....11 PLDU
-            18x55....s0 PUSH
-            34x55....1279 PUSHINT
-            18x55....EQUAL
-            34x55....137 THROWIF
-            26x55....10 PUSHPOW2
-            18x55....EQUAL
-            34x55....136 THROWIFNOT
-            34x55....s0 s6 s4 PUXCPU
-            18x55....s0 s3 XCHG
-            30x55....4 TUPLE
-            28x55....1 SETGLOBVAR
-            18x55....s0 s2 XCHG
-            29x55....2 SETGLOBVAR
-            126x55....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x55....ROTREV
-            126x55....?fun_ref_1dd4b06caa854cc5 INLINECALLDICT
-            34x55....130 THROWIFNOT
-            18x55....s0 POP
-            18x55....NEWC
-            26x55....3 GETGLOBVAR
-            18x55....s0 s1 XCHG
-            18x55....STREF
-            18x55....-1 PUSHINT
-            18x55....s0 s1 XCHG
-            26x55....1 STI
-            518x55....ENDC
-            26x55....c4 POP
-            x55..}>
-            ..?fun_31 PROC:<{
-
-            ..}>
-            ..?fun_32 PROC:<{
-
-            ..}>
-            ..?fun_33 PROC:<{
-
-            ..}>
-            x18..?fun_74415 PROC:<{
-            126x18....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x18....s0 s1 XCHG
-            126x18....?fun_ref_94fd608d2afcf8f1 INLINECALLDICT
-            18x18....s1 POP
-            x18..}>
-            x34..?fun_97933 PROC:<{
-            126x34....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x34....s0 s1 XCHG
-            126x34....?fun_ref_68f50267c8c55b45 INLINECALLDICT
-            18x34....s1 POP
-            x34..}>
-            ..?fun_103737 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....s0 s1 XCHG
-            ....?fun_ref_5253d8f4322fb74b INLINECALLDICT
-            ....s1 POP
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..?fun_114191 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....s0 s1 XCHG
-            ....?fun_ref_f02e5bbf40f47f02 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            x8..?fun_114271 PROC:<{
-            126x8....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x8....s0 s1 XCHG
-            126x8....?fun_ref_276042a605bab842 INLINECALLDICT
-            18x8....s1 POP
-            x8..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D6258354B655334444A5066317667745238516F594E4A3667534D325A3963576842755345343967326D66797682_} PUSHSLICE
-            ..}>
-            x25..dnsresolve PROC:<{
-            126x25....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x25....ROTREV
-            126x25....?fun_ref_44a5603735516a00 INLINECALLDICT
-            26x14....1 2 BLKDROP2
-            x25..}>
-            x58..?fun_ref_1dd4b06caa854cc5 PROCREF:<{
-            18x58....s0 s1 XCHG
-            18x58....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x58....}> PUSHCONT
-            18x58....IFJMP
-            18x58....0 PUSHINT
-            18x58....s1 PUSH
-            26x58....SBITS
-            26x58....31 GTINT
-            18x58....<{
-            18x58......s0 POP
-            18x58......s0 PUSH
-            34x58......32 PLDU
-            18x58....}> PUSHCONT
-            18x58....IF
-            23x58....2490013878 PUSHINT
-            18x58....EQUAL
-            26x58....<{
-            26x58......32 LDU
-            18x58......s0 s1 XCHG
-            23x58......2490013878 PUSHINT
-            18x58......EQUAL
-            34x58......129 THROWIFNOT
-            26x58......64 LDU
-            18x58......s0 s1 XCHG
-            18x58......s1 POP
-            18x58......NEWC
-            18x58......s0 s1 XCHG
-            23x58......2952335191 PUSHINT
-            18x58......ROT
-            26x58......32 STU
-            26x58......64 STU
-            518x58......ENDC
-            26x58......2 GETGLOBVAR
-            18x58......s0 s1 XCHG
-            18x58......0 PUSHINT
-            18x58......NULL
-            126x58......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            18x58......-1 PUSHINT
-            26x58....}> PUSHCONT
-            18x58....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            x58..}>
-            x8..?fun_ref_276042a605bab842 PROCREF:<{
-            26x8....33 CALL
-            x8..}>
-            ..?fun_ref_3c940a21d807db56 PROCREF:<{
-            ....0 PUSHINT
-            ....<{
-            ......s0 s1 XCHG
-            ......8 LDU
-            ......s0 s1 XCHG
-            ......0 EQINT
-            ......s0 PUSH
-            ......NOT
-            ......<{
-            ........s0 s2 XCHG
-            ........8 ADD
-            ........s0 s2 XCHG
-            ......}> PUSHCONT
-            ......IF
-            ......s1 s2 XCHG
-            ....}> PUSHCONT
-            ....UNTIL
-            ....s1 POP
-            ....24161 PUSHINT
-            ....s1 PUSH
-            ....0 NEQINT
-            ....THROWANYIFNOT
-            ..}>
-            x25..?fun_ref_44a5603735516a00 PROCREF:<{
-            18x25....0 PUSHINT
-            18x25....s2 PUSH
-            34x25....8 PLDU
-            26x25....0 EQINT
-            18x25....<{
-            18x10......s0 POP
-            18x10......s0 s1 XCHG
-            26x10......8 LDU
-            18x10......s1 POP
-            18x10......s0 s1 XCHG
-            18x10......8 PUSHINT
-            18x25....}> PUSHCONT
-            18x25....IF
-            34x25....24161 PUSHINT
-            18x25....s3 PUSH
-            26x25....32 CALL
-            76x25....THROWANYIFNOT
-            26x14....3 1 BLKSWAP
-            126x14....?fun_ref_f1b9d3edc5e7c3f8 INLINECALLDICT
-            18x14....s0 s3 XCHG
-            18x14....ADD
-            18x14....ROT
-            x25..}>
-            ..?fun_ref_5253d8f4322fb74b PROCREF:<{
-            ....?fun_ref_d2828fe79a96ad44 INLINECALLDICT
-            ..}>
-            x34..?fun_ref_68f50267c8c55b45 PROCREF:<{
-            26x34....31 CALL
-            x34..}>
-            x18..?fun_ref_94fd608d2afcf8f1 PROCREF:<{
-            26x18....32 CALL
-            x18..}>
-            x344..?fun_ref_a05e0042bce184fb PROCREF:<{
-            26x344....c4 PUSH
-            118x344....CTOS
-            18x344....LDREF
-            18x344....s0 s1 XCHG
-            30x344....3 SETGLOBVAR
-            26x344....1 LDI
-            18x344....s0 POP
-            18x344....<{
-            18x273......NULL
-            18x344....}> PUSHCONT
-            18x344....IFJMP
-            26x71....MYADDR
-            34x71....11 PLDU
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....137 THROWIFNOT
-            126x71....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x344..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x80..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x80....NULL
-            x80..}>
-            ..?fun_ref_d2828fe79a96ad44 PROCREF:<{
-            ....s0 PUSH
-            ....?fun_ref_3c940a21d807db56 INLINECALLDICT
-            ....LDSLICEX
-            ....s0 POP
-            ..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            ..?fun_ref_f02e5bbf40f47f02 PROCREF:<{
-            ....?fun_ref_3c940a21d807db56 INLINECALLDICT
-            ..}>
-            x14..?fun_ref_f1b9d3edc5e7c3f8 PROCREF:<{
-            18x14....s0 POP
-            18x14....s0 PUSH
-            26x14....SBITS
-            18x14....NEWC
-            18x14....ROT
-            26x14....STSLICER
-            518x14....ENDC
-            x14..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/dns_DNSTester.code.fc b/src/test/features/output/dns_DNSTester.code.fc deleted file mode 100644 index 2eeeaa306..000000000 --- a/src/test/features/output/dns_DNSTester.code.fc +++ /dev/null @@ -1,204 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "dns_DNSTester.headers.fc"; -#include "dns_DNSTester.stdlib.fc"; -#include "dns_DNSTester.native.fc"; -#include "dns_DNSTester.storage.fc"; - -;; -;; Contract DNSTester functions -;; - -tuple $DNSTester$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -int $global_dnsExtractTopDomainLength(slice $subdomain) impure inline_ref { - int $i = 0; - int $needBreak = false; - do { - int $char = $subdomain~load_uint(8); - $needBreak = ($char == 0); - if ((~ $needBreak)) { - $i = ($i + 8); - } - } until ($needBreak); - throw_unless(24161, ($i != 0)); - return $i; -} - -slice $global_dnsExtractTopDomain(slice $subdomain) impure inline_ref { - int $len = $global_dnsExtractTopDomainLength($subdomain); - return $subdomain~load_bits($len); -} - -(tuple, slice) $DNSTester$_fun_stringToInternal(tuple $self, slice $src) impure inline_ref { - var ($self) = $self; - return ($self, dns_string_to_internal($src)); -} - -(tuple, slice) $DNSTester$_fun_internalNormalize(tuple $self, slice $src) impure inline_ref { - var ($self) = $self; - return ($self, dns_internal_normalize($src)); -} - -(tuple, int) $DNSTester$_fun_dnsInternalVerify(tuple $self, slice $subdomain) impure inline_ref { - var ($self) = $self; - return ($self, dns_internal_verify($subdomain)); -} - -(tuple, int) $DNSTester$_fun_dnsExtractTopDomainLength(tuple $self, slice $subdomain) impure inline_ref { - var ($self) = $self; - return ($self, $global_dnsExtractTopDomainLength($subdomain)); -} - -(tuple, slice) $DNSTester$_fun_dnsExtractTopDomain(tuple $self, slice $subdomain) impure inline_ref { - var ($self) = $self; - return ($self, $global_dnsExtractTopDomain($subdomain)); -} - -(tuple, (int, cell)) $DNSTester$_fun_doResolveDNS(tuple $self, slice $subdomain, int $category) impure inline_ref { - var ($self) = $self; - return ($self, $DNSResolveResult$_constructor_prefix_record(slice_bits($subdomain), end_cell(store_slice(begin_cell(), $subdomain)))); -} - -(tuple, (int, cell)) $DNSTester$_fun_dnsresolve(tuple $self, slice $subdomain, int $category) impure inline_ref { - var ($self) = $self; - int $delta = 0; - if ((preload_uint($subdomain, 8) == 0)) { - $subdomain~load_uint(8); - $delta = ($delta + 8); - } - throw_unless(24161, dns_internal_verify($subdomain)); - var ($res'prefix, $res'record) = $self~$DNSTester$_fun_doResolveDNS($subdomain, $category); - return ($self, $DNSResolveResult$_constructor_prefix_record(($res'prefix + $delta), $res'record)); -} - -;; -;; Receivers of a Contract DNSTester -;; - -((tuple), ()) $DNSTester$_internal_binary_Deploy(tuple $self, (int) $deploy) impure inline { - var $self = $self; - var ($deploy'queryId) = $deploy; - $self~$DNSTester$_fun_notify($DeployOk$_store_cell($DeployOk$_constructor_queryId($deploy'queryId))); - return ($self, ()); -} - -;; -;; Get methods of a Contract DNSTester -;; - -_ %stringToInternal(slice $$src) method_id(97933) { - slice $src = $$src; - var self = $DNSTester$_contract_load(); - var res = self~$DNSTester$_fun_stringToInternal($src); - return res; -} - -_ %internalNormalize(slice $$src) method_id(114271) { - slice $src = $$src; - var self = $DNSTester$_contract_load(); - var res = self~$DNSTester$_fun_internalNormalize($src); - return res; -} - -_ %dnsInternalVerify(slice $$subdomain) method_id(74415) { - slice $subdomain = $$subdomain; - var self = $DNSTester$_contract_load(); - var res = self~$DNSTester$_fun_dnsInternalVerify($subdomain); - return res; -} - -_ %dnsExtractTopDomainLength(slice $$subdomain) method_id(114191) { - slice $subdomain = $$subdomain; - var self = $DNSTester$_contract_load(); - var res = self~$DNSTester$_fun_dnsExtractTopDomainLength($subdomain); - return res; -} - -_ %dnsExtractTopDomain(slice $$subdomain) method_id(103737) { - slice $subdomain = $$subdomain; - var self = $DNSTester$_contract_load(); - var res = self~$DNSTester$_fun_dnsExtractTopDomain($subdomain); - return res; -} - -_ %dnsresolve(slice $$subdomain, int $$category) method_id(123660) { - slice $subdomain = $$subdomain; - int $category = $$category; - var self = $DNSTester$_contract_load(); - var res = self~$DNSTester$_fun_dnsresolve($subdomain, $category); - return $DNSResolveResult$_to_external(res); -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmbX5KeS4DJPf1vgtR8QoYNJ6gSM2Z9cWhBuSE49g2mfyv"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract DNSTester -;; - -(tuple, int) $DNSTester$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Deploy message - if (op == 2490013878) { - var msg = in_msg~$Deploy$_load(); - self~$DNSTester$_internal_binary_Deploy(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $DNSTester$_contract_load(); - - ;; Handle operation - int handled = self~$DNSTester$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $DNSTester$_contract_store(self); -} diff --git a/src/test/features/output/dns_DNSTester.code.fif b/src/test/features/output/dns_DNSTester.code.fif deleted file mode 100644 index 1e629d21b..000000000 --- a/src/test/features/output/dns_DNSTester.code.fif +++ /dev/null @@ -1,798 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC $Deploy$_load - DECLPROC $DeployOk$_store - DECLPROC $DeployOk$_store_cell - DECLPROC $StateInit$_not_null - DECLPROC $DNSResolveResult$_to_external - DECLPROC $DNSTester$_contract_init - DECLPROC $DNSTester$_contract_load - DECLPROC $DNSTester$_contract_store - DECLPROC $global_send - DECLPROC $global_dnsExtractTopDomainLength - DECLPROC $global_dnsExtractTopDomain - DECLPROC $DNSTester$_fun_stringToInternal - DECLPROC $DNSTester$_fun_internalNormalize - DECLPROC $DNSTester$_fun_dnsInternalVerify - DECLPROC $DNSTester$_fun_dnsExtractTopDomainLength - DECLPROC $DNSTester$_fun_dnsExtractTopDomain - DECLPROC $DNSResolveResult$_constructor_prefix_record - DECLPROC $DNSTester$_fun_doResolveDNS - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $DNSTester$_fun_forward - DECLPROC $DNSTester$_fun_notify - DECLPROC $DNSTester$_fun_dnsresolve - DECLPROC $DeployOk$_constructor_queryId - DECLPROC dns_string_to_internal - DECLPROC dns_internal_verify - DECLPROC dns_internal_normalize - DECLPROC $DNSTester$_internal_binary_Deploy - 97933 DECLMETHOD %stringToInternal - 114271 DECLMETHOD %internalNormalize - 74415 DECLMETHOD %dnsInternalVerify - 114191 DECLMETHOD %dnsExtractTopDomainLength - 103737 DECLMETHOD %dnsExtractTopDomain - 123660 DECLMETHOD %dnsresolve - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $DNSTester$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - $Deploy$_load PROCINLINE:<{ - 32 LDU - SWAP - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - SWAP - }> - $DeployOk$_store PROCINLINE:<{ - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - }> - $DeployOk$_store_cell PROCINLINE:<{ - NEWC - SWAP - $DeployOk$_store INLINECALLDICT - ENDC - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $DNSResolveResult$_to_external PROCINLINE:<{ - }> - $DNSTester$_contract_init PROCREF:<{ - PUSHNULL - }> - $DNSTester$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $DNSTester$_contract_init INLINECALLDICT - }> - $DNSTester$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $global_dnsExtractTopDomainLength PROCREF:<{ - 0 PUSHINT - UNTIL:<{ - SWAP - 8 LDU - SWAP - 0 EQINT - DUP - NOT - IF:<{ - s0 s2 XCHG - 8 ADDCONST - s0 s2 XCHG - }> - s1 s2 XCHG - }> - NIP - 24161 PUSHINT - OVER - 0 NEQINT - THROWANYIFNOT - }> - $global_dnsExtractTopDomain PROCREF:<{ - DUP - $global_dnsExtractTopDomainLength INLINECALLDICT - LDSLICEX - DROP - }> - $DNSTester$_fun_stringToInternal PROCREF:<{ - dns_string_to_internal INLINECALLDICT - }> - $DNSTester$_fun_internalNormalize PROCREF:<{ - dns_internal_normalize INLINECALLDICT - }> - $DNSTester$_fun_dnsInternalVerify PROCREF:<{ - dns_internal_verify INLINECALLDICT - }> - $DNSTester$_fun_dnsExtractTopDomainLength PROCREF:<{ - $global_dnsExtractTopDomainLength INLINECALLDICT - }> - $DNSTester$_fun_dnsExtractTopDomain PROCREF:<{ - $global_dnsExtractTopDomain INLINECALLDICT - }> - $DNSResolveResult$_constructor_prefix_record PROCINLINE:<{ - }> - $DNSTester$_fun_doResolveDNS PROCREF:<{ - DROP - DUP - SBITS - NEWC - ROT - STSLICER - ENDC - $DNSResolveResult$_constructor_prefix_record INLINECALLDICT - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $DNSTester$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $DNSTester$_fun_notify PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - FALSE - PUSHNULL - $DNSTester$_fun_forward INLINECALLDICT - }> - $DNSTester$_fun_dnsresolve PROCREF:<{ - 0 PUSHINT - s2 PUSH - 8 PLDU - 0 EQINT - IF:<{ - DROP - SWAP - 8 LDU - NIP - SWAP - 8 PUSHINT - }> - 24161 PUSHINT - s3 PUSH - dns_internal_verify INLINECALLDICT - THROWANYIFNOT - 3 -ROLL - $DNSTester$_fun_doResolveDNS INLINECALLDICT - s0 s3 XCHG - ADD - ROT - $DNSResolveResult$_constructor_prefix_record INLINECALLDICT - }> - $DeployOk$_constructor_queryId PROCINLINE:<{ - }> - dns_string_to_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - DUP - SBITS - 8 EQINT - OVER - SREFS - 0 EQINT - AND - IF:<{ - DUP - 8 PLDU - 46 EQINT - IFJMP:<{ - DROP - NEWC - 0 PUSHINT - SWAP - 8 STU - ENDC - CTOS - RETALT - }> - }> - PUSHNULL - NEWC - TRUE - TRUE - FALSE - TRUE - UNTIL:<{ - s6 PUSH - SBITS - 0 EQINT - IF:<{ - DROP - s5 PUSH - SREFS - DUP - 1 EQINT - IF:<{ - DROP - s0 s5 XCHG - LDREF - DROP - CTOS - }>ELSE<{ - 1 GTINT - IFJMP:<{ - 6 BLKDROP - PUSHNULL - RETALT - }> - s0 s5 XCHG - }> - s0 s5 XCHG - FALSE - }> - DUP - IF:<{ - NIP - s2 POP - s0 s4 XCHG - 8 LDU - OVER - 45 EQINT - s2 PUSH - 46 EQINT - 2DUP - OR - s4 PUSH - 47 GTINT - s5 PUSH - 58 LESSINT - AND - OR - s4 PUSH - 96 GTINT - s5 PUSH - 123 LESSINT - AND - OR - NOT - s8 s2 PUSH2 - AND - OR - IFJMP:<{ - 8 BLKDROP - PUSHNULL - RETALT - }> - IF:<{ - s2 POP - s5 s5 XCHG2 - OR - IFJMP:<{ - 4 BLKDROP - PUSHNULL - RETALT - }> - s0 s2 XCHG - CONS - NEWC - FALSE - TRUE - TRUE - }>ELSE<{ - s6 POP - FALSE - s0 s2 XCHG - FALSE - s0 s5 XCHG - 8 STU - s0 s3 XCHG - s0 s5 XCHG - s6 s6 s4 XCHG3 - }> - s4 s5 XCHG - s0 s3 XCHG - s2 s4 XCHG2 - }> - DUP - NOT - }> - DROP - NIP - s4 POP - s0 s3 XCHG - IFJMP:<{ - 3 BLKDROP - PUSHNULL - }> - s0 s2 XCHG - NOT - IF:<{ - CONS - }>ELSE<{ - NIP - }> - NEWC - SWAP - UNCONS - -ROT - STBR - WHILE:<{ - OVER - ISNULL - NOT - }>DO<{ - SWAP - UNCONS - 0 PUSHINT - s0 s3 XCHG2 - 8 STU - SWAP - STBR - }> - 0 PUSHINT - s2 POP - 8 STU - ENDC - CTOS - }> - dns_internal_verify PROCREF:<{ - c2 SAVE - SAMEALTSAVE - DUP - SREFS - 0 NEQINT - IFJMP:<{ - DROP - FALSE - }> - DUP - SBITS - DUP - 3 MODPOW2# - 0 NEQINT - IFJMP:<{ - 2DROP - FALSE - }> - DUP - 0 EQINT - IFJMP:<{ - 2DROP - TRUE - }> - 3 RSHIFT# - 0 PUSHINT - TRUE - FALSE - s0 s3 XCHG - REPEAT:<{ - s0 s3 XCHG - 8 LDU - OVER - 0 EQINT - IF:<{ - NIP - s3 POP - 0 EQINT - IFJMP:<{ - 2DROP - FALSE - RETALT - }> - IFJMP:<{ - DROP - FALSE - RETALT - }> - 0 PUSHINT - FALSE - TRUE - }>ELSE<{ - s3 POP - DUP - 45 EQINT - OVER - 47 GTINT - s2 PUSH - 58 LESSINT - AND - s1 s(-1) PUXC - OR - s2 PUSH - 96 GTINT - s0 s3 XCHG - 123 LESSINT - s1 s3 XCHG - AND - s1 s2 XCHG - OR - NOT - IFJMP:<{ - 4 BLKDROP - FALSE - RETALT - }> - s0 s3 PUXC - AND - IFJMP:<{ - 3 BLKDROP - FALSE - RETALT - }> - FALSE - SWAP - INC - s0 s3 s3 XCHG3 - }> - s1 s2 XCHG - }> - DROP - s2 POP - 0 PUSHINT - SWAP - NOT - AND - EQUAL - }> - dns_internal_normalize PROCREF:<{ - NEWC - OVER - SBITS - 3 RSHIFT# - REPEAT:<{ - SWAP - 8 LDU - OVER - 98 EQINT - IF:<{ - 54 PUSHINT - s2 POP - }> - OVER - 103 EQINT - s2 PUSH - 113 EQINT - OR - IF:<{ - 57 PUSHINT - s2 POP - }> - OVER - 108 EQINT - IF:<{ - 49 PUSHINT - s2 POP - }> - OVER - 111 EQINT - IF:<{ - 48 PUSHINT - s2 POP - }> - OVER - 115 EQINT - IF:<{ - 53 PUSHINT - s2 POP - }> - OVER - 117 EQINT - IF:<{ - 118 PUSHINT - s2 POP - }> - OVER - 122 EQINT - IF:<{ - 50 PUSHINT - s2 POP - }> - s0 s2 XCHG - 8 STU - }> - NIP - ENDC - CTOS - }> - $DNSTester$_internal_binary_Deploy PROCINLINE:<{ - $DeployOk$_constructor_queryId INLINECALLDICT - $DeployOk$_store_cell INLINECALLDICT - $DNSTester$_fun_notify INLINECALLDICT - }> - %stringToInternal PROC:<{ - $DNSTester$_contract_load INLINECALLDICT - SWAP - $DNSTester$_fun_stringToInternal INLINECALLDICT - NIP - }> - %internalNormalize PROC:<{ - $DNSTester$_contract_load INLINECALLDICT - SWAP - $DNSTester$_fun_internalNormalize INLINECALLDICT - NIP - }> - %dnsInternalVerify PROC:<{ - $DNSTester$_contract_load INLINECALLDICT - SWAP - $DNSTester$_fun_dnsInternalVerify INLINECALLDICT - NIP - }> - %dnsExtractTopDomainLength PROC:<{ - $DNSTester$_contract_load INLINECALLDICT - SWAP - $DNSTester$_fun_dnsExtractTopDomainLength INLINECALLDICT - NIP - }> - %dnsExtractTopDomain PROC:<{ - $DNSTester$_contract_load INLINECALLDICT - SWAP - $DNSTester$_fun_dnsExtractTopDomain INLINECALLDICT - NIP - }> - %dnsresolve PROC:<{ - $DNSTester$_contract_load INLINECALLDICT - -ROT - $DNSTester$_fun_dnsresolve INLINECALLDICT - 1 2 BLKDROP2 - $DNSResolveResult$_to_external INLINECALLDICT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d6258354b655334444a5066317667745238516f594e4a3667534d325a3963576842755345343967326d667976} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $DNSTester$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 2490013878 PUSHINT - EQUAL - IFJMP:<{ - $Deploy$_load INLINECALLDICT - NIP - $DNSTester$_internal_binary_Deploy INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $DNSTester$_contract_load INLINECALLDICT - -ROT - $DNSTester$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $DNSTester$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/dns_DNSTester.code.rev.fif b/src/test/features/output/dns_DNSTester.code.rev.fif deleted file mode 100644 index 2d682f0dc..000000000 --- a/src/test/features/output/dns_DNSTester.code.rev.fif +++ /dev/null @@ -1,452 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_31; - DECLPROC ?fun_32; - DECLPROC ?fun_33; - DECLPROC ?fun_74415; - DECLPROC ?fun_97933; - DECLPROC ?fun_103737; - DECLPROC supported_interfaces; - DECLPROC ?fun_114191; - DECLPROC ?fun_114271; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC dnsresolve; - DECLPROC ?fun_ref_1dd4b06caa854cc5; - DECLPROC ?fun_ref_276042a605bab842; - DECLPROC ?fun_ref_3c940a21d807db56; - DECLPROC ?fun_ref_44a5603735516a00; - DECLPROC ?fun_ref_5253d8f4322fb74b; - DECLPROC ?fun_ref_68f50267c8c55b45; - DECLPROC ?fun_ref_94fd608d2afcf8f1; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_d2828fe79a96ad44; - DECLPROC ?fun_ref_e31d986f279fa0fb; - DECLPROC ?fun_ref_f02e5bbf40f47f02; - DECLPROC ?fun_ref_f1b9d3edc5e7c3f8; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_1dd4b06caa854cc5 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_31 PROC:<{ - - }> - ?fun_32 PROC:<{ - - }> - ?fun_33 PROC:<{ - - }> - ?fun_74415 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_94fd608d2afcf8f1 INLINECALLDICT - s1 POP - }> - ?fun_97933 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_68f50267c8c55b45 INLINECALLDICT - s1 POP - }> - ?fun_103737 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_5253d8f4322fb74b INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - ?fun_114191 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_f02e5bbf40f47f02 INLINECALLDICT - s1 POP - }> - ?fun_114271 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_276042a605bab842 INLINECALLDICT - s1 POP - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D6258354B655334444A5066317667745238516F594E4A3667534D325A3963576842755345343967326D66797682_} PUSHSLICE - }> - dnsresolve PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_44a5603735516a00 INLINECALLDICT - 1 2 BLKDROP2 - }> - ?fun_ref_1dd4b06caa854cc5 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 2490013878 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - s0 s1 XCHG - s1 POP - NEWC - s0 s1 XCHG - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - 0 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> - ?fun_ref_276042a605bab842 PROCREF:<{ - 33 CALL - }> - ?fun_ref_3c940a21d807db56 PROCREF:<{ - 0 PUSHINT - <{ - s0 s1 XCHG - 8 LDU - s0 s1 XCHG - 0 EQINT - s0 PUSH - NOT - <{ - s0 s2 XCHG - 8 ADD - s0 s2 XCHG - }> PUSHCONT - IF - s1 s2 XCHG - }> PUSHCONT - UNTIL - s1 POP - 24161 PUSHINT - s1 PUSH - 0 NEQINT - THROWANYIFNOT - }> - ?fun_ref_44a5603735516a00 PROCREF:<{ - 0 PUSHINT - s2 PUSH - 8 PLDU - 0 EQINT - <{ - s0 POP - s0 s1 XCHG - 8 LDU - s1 POP - s0 s1 XCHG - 8 PUSHINT - }> PUSHCONT - IF - 24161 PUSHINT - s3 PUSH - 32 CALL - THROWANYIFNOT - 3 1 BLKSWAP - ?fun_ref_f1b9d3edc5e7c3f8 INLINECALLDICT - s0 s3 XCHG - ADD - ROT - }> - ?fun_ref_5253d8f4322fb74b PROCREF:<{ - ?fun_ref_d2828fe79a96ad44 INLINECALLDICT - }> - ?fun_ref_68f50267c8c55b45 PROCREF:<{ - 31 CALL - }> - ?fun_ref_94fd608d2afcf8f1 PROCREF:<{ - 32 CALL - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_d2828fe79a96ad44 PROCREF:<{ - s0 PUSH - ?fun_ref_3c940a21d807db56 INLINECALLDICT - LDSLICEX - s0 POP - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_f02e5bbf40f47f02 PROCREF:<{ - ?fun_ref_3c940a21d807db56 INLINECALLDICT - }> - ?fun_ref_f1b9d3edc5e7c3f8 PROCREF:<{ - s0 POP - s0 PUSH - SBITS - NEWC - ROT - STSLICER - ENDC - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/dns_DNSTester.headers.fc b/src/test/features/output/dns_DNSTester.headers.fc deleted file mode 100644 index d209eee3f..000000000 --- a/src/test/features/output/dns_DNSTester.headers.fc +++ /dev/null @@ -1,94 +0,0 @@ -;; -;; Header files for DNSTester -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; $Deploy$_load -(slice, ((int))) $Deploy$_load(slice sc_0) inline; - -;; $DeployOk$_store -builder $DeployOk$_store(builder build_0, (int) v) inline; - -;; $DeployOk$_store_cell -cell $DeployOk$_store_cell((int) v) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $DNSResolveResult$_to_external -(int, cell) $DNSResolveResult$_to_external(((int, cell)) v) inline; - -;; $DNSTester$_contract_init -tuple $DNSTester$_contract_init() impure inline_ref; - -;; $DNSTester$_contract_load -tuple $DNSTester$_contract_load() impure inline_ref; - -;; $DNSTester$_contract_store -() $DNSTester$_contract_store(tuple v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $global_dnsExtractTopDomainLength -int $global_dnsExtractTopDomainLength(slice $subdomain) impure inline_ref; - -;; $global_dnsExtractTopDomain -slice $global_dnsExtractTopDomain(slice $subdomain) impure inline_ref; - -;; $DNSTester$_fun_stringToInternal -(tuple, slice) $DNSTester$_fun_stringToInternal(tuple $self, slice $src) impure inline_ref; - -;; $DNSTester$_fun_internalNormalize -(tuple, slice) $DNSTester$_fun_internalNormalize(tuple $self, slice $src) impure inline_ref; - -;; $DNSTester$_fun_dnsInternalVerify -(tuple, int) $DNSTester$_fun_dnsInternalVerify(tuple $self, slice $subdomain) impure inline_ref; - -;; $DNSTester$_fun_dnsExtractTopDomainLength -(tuple, int) $DNSTester$_fun_dnsExtractTopDomainLength(tuple $self, slice $subdomain) impure inline_ref; - -;; $DNSTester$_fun_dnsExtractTopDomain -(tuple, slice) $DNSTester$_fun_dnsExtractTopDomain(tuple $self, slice $subdomain) impure inline_ref; - -;; $DNSResolveResult$_constructor_prefix_record -((int, cell)) $DNSResolveResult$_constructor_prefix_record(int prefix, cell record) inline; - -;; $DNSTester$_fun_doResolveDNS -(tuple, (int, cell)) $DNSTester$_fun_doResolveDNS(tuple $self, slice $subdomain, int $category) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $DNSTester$_fun_forward -(tuple, ()) $DNSTester$_fun_forward(tuple $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $DNSTester$_fun_notify -(tuple, ()) $DNSTester$_fun_notify(tuple $self, cell $body) impure inline; - -;; $DNSTester$_fun_dnsresolve -(tuple, (int, cell)) $DNSTester$_fun_dnsresolve(tuple $self, slice $subdomain, int $category) impure inline_ref; - -;; $DeployOk$_constructor_queryId -((int)) $DeployOk$_constructor_queryId(int queryId) inline; diff --git a/src/test/features/output/dns_DNSTester.md b/src/test/features/output/dns_DNSTester.md deleted file mode 100644 index 12b144336..000000000 --- a/src/test/features/output/dns_DNSTester.md +++ /dev/null @@ -1,83 +0,0 @@ -# TACT Compilation Report -Contract: DNSTester -BOC Size: 1268 bytes - -# Types -Total Types: 7 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## DNSResolveResult -TLB: `_ prefix:int257 record:Maybe ^cell = DNSResolveResult` -Signature: `DNSResolveResult{prefix:int257,record:Maybe ^cell}` - -## Deploy -TLB: `deploy#946a98b6 queryId:uint64 = Deploy` -Signature: `Deploy{queryId:uint64}` - -## DeployOk -TLB: `deploy_ok#aff90f57 queryId:uint64 = DeployOk` -Signature: `DeployOk{queryId:uint64}` - -## FactoryDeploy -TLB: `factory_deploy#6d0ff13b queryId:uint64 cashback:address = FactoryDeploy` -Signature: `FactoryDeploy{queryId:uint64,cashback:address}` - -# Get Methods -Total Get Methods: 6 - -## stringToInternal -Argument: src - -## internalNormalize -Argument: src - -## dnsInternalVerify -Argument: subdomain - -## dnsExtractTopDomainLength -Argument: subdomain - -## dnsExtractTopDomain -Argument: subdomain - -## dnsresolve -Argument: subdomain -Argument: category - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract -24161: Invalid DNS name \ No newline at end of file diff --git a/src/test/features/output/dns_DNSTester.native.fc b/src/test/features/output/dns_DNSTester.native.fc deleted file mode 100644 index 164c802be..000000000 --- a/src/test/features/output/dns_DNSTester.native.fc +++ /dev/null @@ -1,169 +0,0 @@ -slice dns_string_to_internal(slice domain) inline_ref { - - ;; Special case for root domain - if ((domain.slice_bits() == 8) & (domain.slice_refs() == 0)) { - if (domain.preload_uint(8) == 46) { - return begin_cell().store_uint(0, 8).end_cell().begin_parse(); - } - } - - ;; Split domain into segments - tuple segments = null(); - builder current = begin_cell(); - int isCurrentEmpty = true; - int isFirst = true; - int isHypen = false; - slice cs = domain; - int continue = true; - do { - - ;; Prepare for loading next character - if (cs.slice_bits() == 0) { - int refs = cs.slice_refs(); - if (refs == 1) { - cs = cs~load_ref().begin_parse(); - } elseif (refs > 1) { - return null(); - } else { - continue = false; - } - continue = false; - } - - ;; Continue loading next character - if (continue) { - int char = cs~load_uint(8); - ;; we can do it because additional UTF-8 character's octets >= 128 -- https://www.ietf.org/rfc/rfc3629.txt - int is_hyphen = (char == 45); - int is_dot = (char == 46); - int valid_char = is_hyphen | is_dot | ((char >= 48) & (char <= 57)) | ((char >= 97) & (char <= 122)); ;; '-' or 0-9 or a-z - if (~ valid_char | (isFirst & is_hyphen)) { - return null(); - } - isHypen = is_hyphen; - if (is_dot) { - if (isFirst | isHypen) { ;; Empty or ends with hyphen - return null(); - } - segments = cons(current, segments); - current = begin_cell(); - isHypen = false; - isFirst = true; - isCurrentEmpty = true; - } else { - isFirst = false; - isCurrentEmpty = false; - current~store_uint(char, 8); - } - } - - } until (~ continue); - if (isHypen) { ;; ends with hyphen - return null(); - } - if (~ isCurrentEmpty) { - segments = cons(current, segments); - } - - ;; Concatenate segments - builder res = begin_cell(); - (builder b, tuple tail) = uncons(segments); - res = res.store_builder(b); - while(~ null?(tail)) { - (b, tail) = uncons(tail); - res = res.store_uint(0, 8); ;; Add \0 separator - res = res.store_builder(b); - } - res = res.store_uint(0, 8); ;; Add \0 separator - return res.end_cell().begin_parse(); -} - -int dns_internal_verify(slice sc) inline_ref { - if (sc.slice_refs() != 0) { - return false; - } - int bits = sc.slice_bits(); - if (bits % 8 != 0) { - return false; - } - if (bits == 0) { ;; Case for root domain - return true; - } - int len = bits / 8; - int counter = 0; - int isFirst = true; - int isHypen = false; - repeat(len) { - int char = sc~load_uint(8); - if (char == 0) { - if (counter == 0) { - return false; - } - if (isHypen) { - return false; - } - counter = 0; - isHypen = false; - isFirst = true; - } else { - int charIsHypen = (char == 45); - int isValid = charIsHypen | ((char >= 48) & (char <= 57)) | ((char >= 97) & (char <= 122)); - if (~ isValid) { - return false; - } - if (charIsHypen & isFirst) { - return false; - } - isHypen = charIsHypen; - isFirst = false; - counter = counter + 1; - } - } - return counter == 0 & ~ isHypen; -} - -slice dns_internal_normalize(slice src) inline_ref { - throw_unless(src.slice_refs() == 0, 134); ;; Invalid argument error - builder target = begin_cell(); - repeat(src.slice_bits() / 8) { - int char = src~load_uint(8); - - ;; b => 6 - if (char == 98) { - char = 54; - } - - ;; g, q => 9 - if ((char == 103) | (char == 113)) { - char = 57; - } - - ;; l => 1 - if (char == 108) { - char = 49; - } - - ;; o => 0 - if (char == 111) { - char = 48; - } - - ;; s => 5 - if (char == 115) { - char = 53; - } - - ;; u => v - if (char == 117) { - char = 118; - } - - ;; z => 2 - if (char == 122) { - char = 50; - } - - target = target.store_uint(char, 8); - } - return target.end_cell().begin_parse(); -} \ No newline at end of file diff --git a/src/test/features/output/dns_DNSTester.pkg b/src/test/features/output/dns_DNSTester.pkg deleted file mode 100644 index ab8a3378d..000000000 --- a/src/test/features/output/dns_DNSTester.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"DNSTester","code":"te6ccgECLgEABOgAART/APSkE/S88sgLAQIBYgIDAgLKBAUCASATFAIBIAYHAgHSDg8CkdAHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCMMj4QwHMfwHKAMntVIqCAEB8gwBigGSMH/gcCHXScIflTAg1wsf3oIQlGqYtrqOp9MfAYIQlGqYtrry4IHTPwExyAGCEK/5D1dYyx/LP8n4QgFwbds8f+AwcAkBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8CgHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wALAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAbbtou37INdJwAgh10rAALCOEiDXCwfALpowyHABywfJ0Nsx4N5tyH9/cH+K5jAxNAOTXwNt4AKzkm8CkTHiyAFvIlnPF5MhbrObAW8icFADywcBzxfocDLLB8nQDQDwJtdJwACOGzAl10ogwAGVMAXUMNCawgGVXwZt2zHgBeIFcN4gjk8xMgTTByHALSLALlyxJMIvJcE6sLEkwmAlwXuwsbNTgrCxlV8Ibdsx4I4SMlBVsZVfBG3bMeACbwLIcH9/mzZwAnAFywcDBUZk4hBFA1Ak3iCzAQEgEAEBIBIB9u2i7fsg10rDAJIwcOAg10kgqTgCwwCSW3DgIMAAklt/4KsCcH9wA45OA9MHIcAAjhMxM8AAlFtw2zHglDBw2zHgcHB/ji8zIMAtIcIvIsE6sFIQsSLCYAPBexOwErGzlV8EcNsx4FIEsJVfA3DbMeBwAaRAM+IS5DAycBEACAGzsLoAnMgh10mrAo5CAdMHIcBik4A2Mt4hwGciwHGxk4A5Mt4hwGyTgDEy3iHAb5OAMDLeIcBzk4A1Mt4hwHWTgHYy3iHAepOAMjLeAssH5DHJ0AIBIBUWAgEgGRoCEboq/bPAHbPDGCoXAhG76N2zwB2zwxgqGAAE8CAABPAfAgEgGxwCASAmJwIRtqc7Z4A7Z4YwKh0CAW4fIAEE2zweAQwg2zzXGDAkALir0YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopAICdCEiAg+x+2eAO2eGMCojAg+z+2eAO2eGMColAQTbPCQANnCfAdMHAcAAILOUAqYIAt4S5jGBXmEhwwDy9AAE8CECASAoKQITtGGbZ4s7Z42CUCorABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbWJYNUtlUzRESlBmMXZndFI4UW9ZTko2Z1NNMlo5Y1doQnVTRTQ5ZzJtZnl2ggATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPCwBPnAi1wsHwACXMAHTBzEBeN6BXmEj8CDy9FUg2zwDoFgtAAJtABIwINdJyFjPFsk=","abi":"{\"name\":\"DNSTester\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"DNSResolveResult\",\"header\":null,\"fields\":[{\"name\":\"prefix\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"record\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Deploy\",\"header\":2490013878,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"DeployOk\",\"header\":2952335191,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"FactoryDeploy\",\"header\":1829761339,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"cashback\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Deploy\"}}],\"getters\":[{\"name\":\"stringToInternal\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"string\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":true}},{\"name\":\"internalNormalize\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}},{\"name\":\"dnsInternalVerify\",\"arguments\":[{\"name\":\"subdomain\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"dnsExtractTopDomainLength\",\"arguments\":[{\"name\":\"subdomain\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"dnsExtractTopDomain\",\"arguments\":[{\"name\":\"subdomain\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}},{\"name\":\"dnsresolve\",\"arguments\":[{\"name\":\"subdomain\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}},{\"name\":\"category\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"DNSResolveResult\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"},\"24161\":{\"message\":\"Invalid DNS name\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECMAEABPIAAQHAAQEFoURvAgEU/wD0pBP0vPLICwMCAWIeBAIBIBkFAgEgDQYCASAKBwITtGGbZ4s7Z42CUC4IAT5wItcLB8AAlzAB0wcxAXjegV5hI/Ag8vRVINs8A6BYCQASMCDXSchYzxbJAgEgDAsAdbJu40NWlwZnM6Ly9RbWJYNUtlUzRESlBmMXZndFI4UW9ZTko2Z1NNMlo5Y1doQnVTRTQ5ZzJtZnl2ggABGwr7tRNDSAAGACASAVDgIBbhQPAgJ0EhACD7P7Z4A7Z4YwLhEABPAhAg+x+2eAO2eGMC4TAQTbPBgAuKvRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikAhG2pztngDtnhjAuFgEE2zwXAQwg2zzXGDAYADZwnwHTBwHAACCzlAKmCALeEuYxgV5hIcMA8vQCASAcGgIRu+jds8Ads8MYLhsABPAfAhG6Kv2zwB2zwxguHQAE8CACAsolHwIB0iIgAQEgIQCcyCHXSasCjkIB0wchwGKTgDYy3iHAZyLAcbGTgDky3iHAbJOAMTLeIcBvk4AwMt4hwHOTgDUy3iHAdZOAdjLeIcB6k4AyMt4CywfkMcnQAQEgIwH27aLt+yDXSsMAkjBw4CDXSSCpOALDAJJbcOAgwACSW3/gqwJwf3ADjk4D0wchwACOEzEzwACUW3DbMeCUMHDbMeBwcH+OLzMgwC0hwi8iwTqwUhCxIsJgA8F7E7ASsbOVXwRw2zHgUgSwlV8DcNsx4HABpEAz4hLkMDJwJAAIAbOwugIBICkmAQHyJwG27aLt+yDXScAIIddKwACwjhIg1wsHwC6aMMhwAcsHydDbMeDebch/f3B/iuYwMTQDk18DbeACs5JvApEx4sgBbyJZzxeTIW6zmwFvInBQA8sHAc8X6HAyywfJ0CgA8CbXScAAjhswJddKIMABlTAF1DDQmsIBlV8Gbdsx4AXiBXDeII5PMTIE0wchwC0iwC5csSTCLyXBOrCxJMJgJcF7sLGzU4KwsZVfCG3bMeCOEjJQVbGVXwRt2zHgAm8CyHB/f5s2cAJwBcsHAwVGZOIQRQNQJN4gswKR0AdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1Ui4qAYoBkjB/4HAh10nCH5UwINcLH96CEJRqmLa6jqfTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gMHArATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPCwByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsALQCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwvAAJtVae4Zg=="}},"sources":{"src\\test\\features\\dns.tact":"aW1wb3J0ICJAc3RkbGliL2RucyI7DQppbXBvcnQgIkBzdGRsaWIvZGVwbG95IjsNCg0KY29udHJhY3QgRE5TVGVzdGVyIHdpdGggRGVwbG95YWJsZSwgRE5TUmVzb2x2ZXIgew0KDQogICAgaW5pdCgpIHsNCiAgICAgICAgDQogICAgfQ0KDQogICAgZ2V0IGZ1biBzdHJpbmdUb0ludGVybmFsKHNyYzogU3RyaW5nKTogU2xpY2U/IHsNCiAgICAgICAgcmV0dXJuIGRuc1N0cmluZ1RvSW50ZXJuYWwoc3JjKTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludGVybmFsTm9ybWFsaXplKHNyYzogU2xpY2UpOiBTbGljZSB7DQogICAgICAgIHJldHVybiBkbnNJbnRlcm5hbE5vcm1hbGl6ZShzcmMpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZG5zSW50ZXJuYWxWZXJpZnkoc3ViZG9tYWluOiBTbGljZSk6IEJvb2wgew0KICAgICAgICByZXR1cm4gZG5zSW50ZXJuYWxWZXJpZnkoc3ViZG9tYWluKTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGRuc0V4dHJhY3RUb3BEb21haW5MZW5ndGgoc3ViZG9tYWluOiBTbGljZSk6IEludCB7DQogICAgICAgIHJldHVybiBkbnNFeHRyYWN0VG9wRG9tYWluTGVuZ3RoKHN1YmRvbWFpbik7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBkbnNFeHRyYWN0VG9wRG9tYWluKHN1YmRvbWFpbjogU2xpY2UpOiBTbGljZSB7DQogICAgICAgIHJldHVybiBkbnNFeHRyYWN0VG9wRG9tYWluKHN1YmRvbWFpbik7DQogICAgfQ0KDQogICAgb3ZlcnJpZGUgZnVuIGRvUmVzb2x2ZUROUyhzdWJkb21haW46IFNsaWNlLCBjYXRlZ29yeTogSW50KTogRE5TUmVzb2x2ZVJlc3VsdCB7DQogICAgICAgIHJldHVybiBETlNSZXNvbHZlUmVzdWx0eyBwcmVmaXg6IHN1YmRvbWFpbi5iaXRzKCksIHJlY29yZDogYmVnaW5DZWxsKCkuc3RvcmVTbGljZShzdWJkb21haW4pLmVuZENlbGwoKSB9Ow0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/dns.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/dns_DNSTester.stdlib.fc b/src/test/features/output/dns_DNSTester.stdlib.fc deleted file mode 100644 index d2eb78441..000000000 --- a/src/test/features/output/dns_DNSTester.stdlib.fc +++ /dev/null @@ -1,111 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -(tuple, ()) $DNSTester$_fun_forward(tuple $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var ($self) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return ($self, ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return ($self, ()); -} - -(tuple, ()) $DNSTester$_fun_notify(tuple $self, cell $body) impure inline { - var ($self) = $self; - $self~$DNSTester$_fun_forward(__tact_context_get_sender(), $body, false, null()); - return ($self, ()); -} \ No newline at end of file diff --git a/src/test/features/output/dns_DNSTester.storage.fc b/src/test/features/output/dns_DNSTester.storage.fc deleted file mode 100644 index d4742a501..000000000 --- a/src/test/features/output/dns_DNSTester.storage.fc +++ /dev/null @@ -1,90 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: DNSResolveResult -;; TLB: _ prefix:int257 record:Maybe ^cell = DNSResolveResult -;; - -(int, cell) $DNSResolveResult$_to_external(((int, cell)) v) inline { - var (v'prefix, v'record) = v; - return (v'prefix, v'record); -} - -((int, cell)) $DNSResolveResult$_constructor_prefix_record(int prefix, cell record) inline { - return (prefix, record); -} - -;; -;; Type: Deploy -;; Header: 0x946a98b6 -;; TLB: deploy#946a98b6 queryId:uint64 = Deploy -;; - -(slice, ((int))) $Deploy$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2490013878); - var v'queryId = sc_0~load_uint(64); - return (sc_0, (v'queryId)); -} - -;; -;; Type: DeployOk -;; Header: 0xaff90f57 -;; TLB: deploy_ok#aff90f57 queryId:uint64 = DeployOk -;; - -builder $DeployOk$_store(builder build_0, (int) v) inline { - var (v'queryId) = v; - build_0 = store_uint(build_0, 2952335191, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell $DeployOk$_store_cell((int) v) inline { - return $DeployOk$_store(begin_cell(), v).end_cell(); -} - -((int)) $DeployOk$_constructor_queryId(int queryId) inline { - return (queryId); -} - -;; -;; Type: DNSTester -;; - -tuple $DNSTester$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $DNSTester$_contract_init(); - } -} - -() $DNSTester$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/dns_DNSTester.ts b/src/test/features/output/dns_DNSTester.ts deleted file mode 100644 index d0518ab45..000000000 --- a/src/test/features/output/dns_DNSTester.ts +++ /dev/null @@ -1,532 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type DNSResolveResult = { - $$type: 'DNSResolveResult'; - prefix: bigint; - record: Cell | null; -} - -export function storeDNSResolveResult(src: DNSResolveResult) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.prefix, 257); - if (src.record !== null && src.record !== undefined) { b_0.storeBit(true).storeRef(src.record); } else { b_0.storeBit(false); } - }; -} - -export function loadDNSResolveResult(slice: Slice) { - let sc_0 = slice; - let _prefix = sc_0.loadIntBig(257); - let _record = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'DNSResolveResult' as const, prefix: _prefix, record: _record }; -} - -function loadTupleDNSResolveResult(source: TupleReader) { - let _prefix = source.readBigNumber(); - let _record = source.readCellOpt(); - return { $$type: 'DNSResolveResult' as const, prefix: _prefix, record: _record }; -} - -function storeTupleDNSResolveResult(source: DNSResolveResult) { - let builder = new TupleBuilder(); - builder.writeNumber(source.prefix); - builder.writeCell(source.record); - return builder.build(); -} - -function dictValueParserDNSResolveResult(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDNSResolveResult(src)).endCell()); - }, - parse: (src) => { - return loadDNSResolveResult(src.loadRef().beginParse()); - } - } -} - -export type Deploy = { - $$type: 'Deploy'; - queryId: bigint; -} - -export function storeDeploy(src: Deploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2490013878, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2490013878) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function loadTupleDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function storeTupleDeploy(source: Deploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeploy(src)).endCell()); - }, - parse: (src) => { - return loadDeploy(src.loadRef().beginParse()); - } - } -} - -export type DeployOk = { - $$type: 'DeployOk'; - queryId: bigint; -} - -export function storeDeployOk(src: DeployOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2952335191, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeployOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2952335191) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function loadTupleDeployOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function storeTupleDeployOk(source: DeployOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeployOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeployOk(src)).endCell()); - }, - parse: (src) => { - return loadDeployOk(src.loadRef().beginParse()); - } - } -} - -export type FactoryDeploy = { - $$type: 'FactoryDeploy'; - queryId: bigint; - cashback: Address; -} - -export function storeFactoryDeploy(src: FactoryDeploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1829761339, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.cashback); - }; -} - -export function loadFactoryDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1829761339) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _cashback = sc_0.loadAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function loadTupleFactoryDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _cashback = source.readAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function storeTupleFactoryDeploy(source: FactoryDeploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.cashback); - return builder.build(); -} - -function dictValueParserFactoryDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFactoryDeploy(src)).endCell()); - }, - parse: (src) => { - return loadFactoryDeploy(src.loadRef().beginParse()); - } - } -} - - type DNSTester_init_args = { - $$type: 'DNSTester_init_args'; -} - -function initDNSTester_init_args(src: DNSTester_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function DNSTester_init() { - const __code = Cell.fromBase64('te6ccgECLgEABOgAART/APSkE/S88sgLAQIBYgIDAgLKBAUCASATFAIBIAYHAgHSDg8CkdAHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCMMj4QwHMfwHKAMntVIqCAEB8gwBigGSMH/gcCHXScIflTAg1wsf3oIQlGqYtrqOp9MfAYIQlGqYtrry4IHTPwExyAGCEK/5D1dYyx/LP8n4QgFwbds8f+AwcAkBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8CgHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wALAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAbbtou37INdJwAgh10rAALCOEiDXCwfALpowyHABywfJ0Nsx4N5tyH9/cH+K5jAxNAOTXwNt4AKzkm8CkTHiyAFvIlnPF5MhbrObAW8icFADywcBzxfocDLLB8nQDQDwJtdJwACOGzAl10ogwAGVMAXUMNCawgGVXwZt2zHgBeIFcN4gjk8xMgTTByHALSLALlyxJMIvJcE6sLEkwmAlwXuwsbNTgrCxlV8Ibdsx4I4SMlBVsZVfBG3bMeACbwLIcH9/mzZwAnAFywcDBUZk4hBFA1Ak3iCzAQEgEAEBIBIB9u2i7fsg10rDAJIwcOAg10kgqTgCwwCSW3DgIMAAklt/4KsCcH9wA45OA9MHIcAAjhMxM8AAlFtw2zHglDBw2zHgcHB/ji8zIMAtIcIvIsE6sFIQsSLCYAPBexOwErGzlV8EcNsx4FIEsJVfA3DbMeBwAaRAM+IS5DAycBEACAGzsLoAnMgh10mrAo5CAdMHIcBik4A2Mt4hwGciwHGxk4A5Mt4hwGyTgDEy3iHAb5OAMDLeIcBzk4A1Mt4hwHWTgHYy3iHAepOAMjLeAssH5DHJ0AIBIBUWAgEgGRoCEboq/bPAHbPDGCoXAhG76N2zwB2zwxgqGAAE8CAABPAfAgEgGxwCASAmJwIRtqc7Z4A7Z4YwKh0CAW4fIAEE2zweAQwg2zzXGDAkALir0YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopAICdCEiAg+x+2eAO2eGMCojAg+z+2eAO2eGMColAQTbPCQANnCfAdMHAcAAILOUAqYIAt4S5jGBXmEhwwDy9AAE8CECASAoKQITtGGbZ4s7Z42CUCorABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbWJYNUtlUzRESlBmMXZndFI4UW9ZTko2Z1NNMlo5Y1doQnVTRTQ5ZzJtZnl2ggATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPCwBPnAi1wsHwACXMAHTBzEBeN6BXmEj8CDy9FUg2zwDoFgtAAJtABIwINdJyFjPFsk='); - const __system = Cell.fromBase64('te6cckECMAEABPIAAQHAAQEFoURvAgEU/wD0pBP0vPLICwMCAWIeBAIBIBkFAgEgDQYCASAKBwITtGGbZ4s7Z42CUC4IAT5wItcLB8AAlzAB0wcxAXjegV5hI/Ag8vRVINs8A6BYCQASMCDXSchYzxbJAgEgDAsAdbJu40NWlwZnM6Ly9RbWJYNUtlUzRESlBmMXZndFI4UW9ZTko2Z1NNMlo5Y1doQnVTRTQ5ZzJtZnl2ggABGwr7tRNDSAAGACASAVDgIBbhQPAgJ0EhACD7P7Z4A7Z4YwLhEABPAhAg+x+2eAO2eGMC4TAQTbPBgAuKvRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikAhG2pztngDtnhjAuFgEE2zwXAQwg2zzXGDAYADZwnwHTBwHAACCzlAKmCALeEuYxgV5hIcMA8vQCASAcGgIRu+jds8Ads8MYLhsABPAfAhG6Kv2zwB2zwxguHQAE8CACAsolHwIB0iIgAQEgIQCcyCHXSasCjkIB0wchwGKTgDYy3iHAZyLAcbGTgDky3iHAbJOAMTLeIcBvk4AwMt4hwHOTgDUy3iHAdZOAdjLeIcB6k4AyMt4CywfkMcnQAQEgIwH27aLt+yDXSsMAkjBw4CDXSSCpOALDAJJbcOAgwACSW3/gqwJwf3ADjk4D0wchwACOEzEzwACUW3DbMeCUMHDbMeBwcH+OLzMgwC0hwi8iwTqwUhCxIsJgA8F7E7ASsbOVXwRw2zHgUgSwlV8DcNsx4HABpEAz4hLkMDJwJAAIAbOwugIBICkmAQHyJwG27aLt+yDXScAIIddKwACwjhIg1wsHwC6aMMhwAcsHydDbMeDebch/f3B/iuYwMTQDk18DbeACs5JvApEx4sgBbyJZzxeTIW6zmwFvInBQA8sHAc8X6HAyywfJ0CgA8CbXScAAjhswJddKIMABlTAF1DDQmsIBlV8Gbdsx4AXiBXDeII5PMTIE0wchwC0iwC5csSTCLyXBOrCxJMJgJcF7sLGzU4KwsZVfCG3bMeCOEjJQVbGVXwRt2zHgAm8CyHB/f5s2cAJwBcsHAwVGZOIQRQNQJN4gswKR0AdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1Ui4qAYoBkjB/4HAh10nCH5UwINcLH96CEJRqmLa6jqfTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gMHArATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPCwByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsALQCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwvAAJtVae4Zg=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initDNSTester_init_args({ $$type: 'DNSTester_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const DNSTester_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, - 24161: { message: `Invalid DNS name` }, -} - -const DNSTester_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"DNSResolveResult","header":null,"fields":[{"name":"prefix","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"record","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}, -] - -const DNSTester_getters: ABIGetter[] = [ - {"name":"stringToInternal","arguments":[{"name":"src","type":{"kind":"simple","type":"string","optional":false}}],"returnType":{"kind":"simple","type":"slice","optional":true}}, - {"name":"internalNormalize","arguments":[{"name":"src","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"slice","optional":false}}, - {"name":"dnsInternalVerify","arguments":[{"name":"subdomain","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"dnsExtractTopDomainLength","arguments":[{"name":"subdomain","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"dnsExtractTopDomain","arguments":[{"name":"subdomain","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"slice","optional":false}}, - {"name":"dnsresolve","arguments":[{"name":"subdomain","type":{"kind":"simple","type":"slice","optional":false}},{"name":"category","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"DNSResolveResult","optional":false}}, -] - -const DNSTester_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}, -] - -export class DNSTester implements Contract { - - static async init() { - return await DNSTester_init(); - } - - static async fromInit() { - const init = await DNSTester_init(); - const address = contractAddress(0, init); - return new DNSTester(address, init); - } - - static fromAddress(address: Address) { - return new DNSTester(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: DNSTester_types, - getters: DNSTester_getters, - receivers: DNSTester_receivers, - errors: DNSTester_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: Deploy) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Deploy') { - body = beginCell().store(storeDeploy(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getStringToInternal(provider: ContractProvider, src: string) { - let builder = new TupleBuilder(); - builder.writeString(src); - let source = (await provider.get('stringToInternal', builder.build())).stack; - let result = source.readCellOpt(); - return result; - } - - async getInternalNormalize(provider: ContractProvider, src: Cell) { - let builder = new TupleBuilder(); - builder.writeSlice(src); - let source = (await provider.get('internalNormalize', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getDnsInternalVerify(provider: ContractProvider, subdomain: Cell) { - let builder = new TupleBuilder(); - builder.writeSlice(subdomain); - let source = (await provider.get('dnsInternalVerify', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getDnsExtractTopDomainLength(provider: ContractProvider, subdomain: Cell) { - let builder = new TupleBuilder(); - builder.writeSlice(subdomain); - let source = (await provider.get('dnsExtractTopDomainLength', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getDnsExtractTopDomain(provider: ContractProvider, subdomain: Cell) { - let builder = new TupleBuilder(); - builder.writeSlice(subdomain); - let source = (await provider.get('dnsExtractTopDomain', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getDnsresolve(provider: ContractProvider, subdomain: Cell, category: bigint) { - let builder = new TupleBuilder(); - builder.writeSlice(subdomain); - builder.writeNumber(category); - let source = (await provider.get('dnsresolve', builder.build())).stack; - const result = loadTupleDNSResolveResult(source); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/implicit-init_MyContract.abi b/src/test/features/output/implicit-init_MyContract.abi deleted file mode 100644 index cf83b6068..000000000 --- a/src/test/features/output/implicit-init_MyContract.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"MyContract","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"increment"}},{"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}],"getters":[{"name":"getCounter","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/implicit-init_MyContract.code.boc b/src/test/features/output/implicit-init_MyContract.code.boc deleted file mode 100644 index cde67207e..000000000 Binary files a/src/test/features/output/implicit-init_MyContract.code.boc and /dev/null differ diff --git a/src/test/features/output/implicit-init_MyContract.code.fc b/src/test/features/output/implicit-init_MyContract.code.fc deleted file mode 100644 index 78771130c..000000000 --- a/src/test/features/output/implicit-init_MyContract.code.fc +++ /dev/null @@ -1,127 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "implicit-init_MyContract.headers.fc"; -#include "implicit-init_MyContract.stdlib.fc"; -#include "implicit-init_MyContract.storage.fc"; - -;; -;; Contract MyContract functions -;; - -(int) $MyContract$_contract_init() impure inline_ref { - var (($self'counter)) = (0); - return ($self'counter); -} - -((int), int) $MyContract$_fun_getCounter((int) $self) impure inline_ref { - var (($self'counter)) = $self; - return (($self'counter), $self'counter); -} - -;; -;; Receivers of a Contract MyContract -;; - -((int), ()) $MyContract$_internal_text_c4f8d72312edfdef5b7bec7833bdbb162d1511bd78a912aed0f2637af65572ae((int) $self) impure inline { - var ($self'counter) = $self; - $self'counter = $self'counter + 1; - return (($self'counter), ()); -} - -(((int)), ()) $MyContract$_internal_binary_Deploy((int) $self, (int) $deploy) impure inline { - var ($self'counter) = $self; - var ($deploy'queryId) = $deploy; - ($self'counter)~$MyContract$_fun_notify($DeployOk$_store_cell($DeployOk$_constructor_queryId($deploy'queryId))); - return (($self'counter), ()); -} - -;; -;; Get methods of a Contract MyContract -;; - -_ %getCounter() method_id(103307) { - var self = $MyContract$_contract_load(); - var res = self~$MyContract$_fun_getCounter(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmUMNpuudc6g5LXLYu1TqFHXUkx7rQtuUPpLjexwCKH6R9"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract MyContract -;; - -((int), int) $MyContract$_contract_router_internal((int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Deploy message - if (op == 2490013878) { - var msg = in_msg~$Deploy$_load(); - self~$MyContract$_internal_binary_Deploy(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "increment" message - if (text_op == 0xc4f8d72312edfdef5b7bec7833bdbb162d1511bd78a912aed0f2637af65572ae) { - self~$MyContract$_internal_text_c4f8d72312edfdef5b7bec7833bdbb162d1511bd78a912aed0f2637af65572ae(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $MyContract$_contract_load(); - - ;; Handle operation - int handled = self~$MyContract$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $MyContract$_contract_store(self); -} diff --git a/src/test/features/output/implicit-init_MyContract.code.fif b/src/test/features/output/implicit-init_MyContract.code.fif deleted file mode 100644 index ae68f2c1c..000000000 --- a/src/test/features/output/implicit-init_MyContract.code.fif +++ /dev/null @@ -1,382 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC $Deploy$_load - DECLPROC $DeployOk$_store - DECLPROC $DeployOk$_store_cell - DECLPROC $MyContract$_store - DECLPROC $MyContract$_load - DECLPROC $StateInit$_not_null - DECLPROC $MyContract$_contract_init - DECLPROC $MyContract$_contract_load - DECLPROC $MyContract$_contract_store - DECLPROC $global_send - DECLPROC $MyContract$_fun_getCounter - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $MyContract$_fun_forward - DECLPROC $MyContract$_fun_notify - DECLPROC $DeployOk$_constructor_queryId - DECLPROC $MyContract$_internal_text_c4f8d72312edfdef5b7bec7833bdbb162d1511bd78a912aed0f2637af65572ae - DECLPROC $MyContract$_internal_binary_Deploy - 103307 DECLMETHOD %getCounter - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $MyContract$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - $Deploy$_load PROCINLINE:<{ - 32 LDU - SWAP - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - SWAP - }> - $DeployOk$_store PROCINLINE:<{ - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - }> - $DeployOk$_store_cell PROCINLINE:<{ - NEWC - SWAP - $DeployOk$_store INLINECALLDICT - ENDC - }> - $MyContract$_store PROCINLINE:<{ - SWAP - 257 PUSHINT - STIX - }> - $MyContract$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - SWAP - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $MyContract$_contract_init PROCREF:<{ - 0 PUSHINT - }> - $MyContract$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $MyContract$_load INLINECALLDICT - NIP - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $MyContract$_contract_init INLINECALLDICT - }> - $MyContract$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - SWAP - $MyContract$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $MyContract$_fun_getCounter PROCREF:<{ - DUP - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $MyContract$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $MyContract$_fun_notify PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - FALSE - PUSHNULL - $MyContract$_fun_forward INLINECALLDICT - }> - $DeployOk$_constructor_queryId PROCINLINE:<{ - }> - $MyContract$_internal_text_c4f8d72312edfdef5b7bec7833bdbb162d1511bd78a912aed0f2637af65572ae PROCINLINE:<{ - INC - }> - $MyContract$_internal_binary_Deploy PROCINLINE:<{ - $DeployOk$_constructor_queryId INLINECALLDICT - $DeployOk$_store_cell INLINECALLDICT - $MyContract$_fun_notify INLINECALLDICT - }> - %getCounter PROC:<{ - $MyContract$_contract_load INLINECALLDICT - $MyContract$_fun_getCounter INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d554d4e70757564633667354c584c5975315471464858556b7837725174755550704c6a657877434b48365239} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $MyContract$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 2490013878 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Deploy$_load INLINECALLDICT - NIP - $MyContract$_internal_binary_Deploy INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - 89092981215441470209245890604563109773385607357076622359718516871332286001838 PUSHINT - EQUAL - IFJMP:<{ - $MyContract$_internal_text_c4f8d72312edfdef5b7bec7833bdbb162d1511bd78a912aed0f2637af65572ae INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $MyContract$_contract_load INLINECALLDICT - -ROT - $MyContract$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $MyContract$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/implicit-init_MyContract.code.rev.fif b/src/test/features/output/implicit-init_MyContract.code.rev.fif deleted file mode 100644 index a8cfbdc5e..000000000 --- a/src/test/features/output/implicit-init_MyContract.code.rev.fif +++ /dev/null @@ -1,347 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_103307; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_36266a5855831da9; - DECLPROC ?fun_ref_40d98146a47dbe3b; - DECLPROC ?fun_ref_644ef5250652bdfa; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_df5396d9c1e677c7; - DECLPROC ?fun_ref_e31d986f279fa0fb; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_36266a5855831da9 INLINECALLDICT - ROTREV - ?fun_ref_df5396d9c1e677c7 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 s1 XCHG - 257 PUSHINT - STIX - ENDC - c4 POP - }> - ?fun_103307 PROC:<{ - ?fun_ref_36266a5855831da9 INLINECALLDICT - ?fun_ref_40d98146a47dbe3b INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D554D4E70757564633667354C584C5975315471464858556B7837725174755550704C6A657877434B4836523982_} PUSHSLICE - }> - ?fun_ref_36266a5855831da9 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - }> PUSHCONT - IFJMP - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_644ef5250652bdfa INLINECALLDICT - }> - ?fun_ref_40d98146a47dbe3b PROCREF:<{ - s0 PUSH - }> - ?fun_ref_644ef5250652bdfa PROCREF:<{ - 0 PUSHINT - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_df5396d9c1e677c7 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 2490013878 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - s0 s1 XCHG - s1 POP - NEWC - s0 s1 XCHG - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - 0 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 EQINT - <{ - HASHSU - 89092981215441470209245890604563109773385607357076622359718516871332286001838 PUSHINT - EQUAL - <{ - INC - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - 0 PUSHINT - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/implicit-init_MyContract.headers.fc b/src/test/features/output/implicit-init_MyContract.headers.fc deleted file mode 100644 index 091a7cfd0..000000000 --- a/src/test/features/output/implicit-init_MyContract.headers.fc +++ /dev/null @@ -1,70 +0,0 @@ -;; -;; Header files for MyContract -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; $Deploy$_load -(slice, ((int))) $Deploy$_load(slice sc_0) inline; - -;; $DeployOk$_store -builder $DeployOk$_store(builder build_0, (int) v) inline; - -;; $DeployOk$_store_cell -cell $DeployOk$_store_cell((int) v) inline; - -;; $MyContract$_store -builder $MyContract$_store(builder build_0, (int) v) inline; - -;; $MyContract$_load -(slice, ((int))) $MyContract$_load(slice sc_0) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $MyContract$_contract_init -(int) $MyContract$_contract_init() impure inline_ref; - -;; $MyContract$_contract_load -(int) $MyContract$_contract_load() impure inline_ref; - -;; $MyContract$_contract_store -() $MyContract$_contract_store((int) v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $MyContract$_fun_getCounter -((int), int) $MyContract$_fun_getCounter((int) $self) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $MyContract$_fun_forward -((int), ()) $MyContract$_fun_forward((int) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $MyContract$_fun_notify -((int), ()) $MyContract$_fun_notify((int) $self, cell $body) impure inline; - -;; $DeployOk$_constructor_queryId -((int)) $DeployOk$_constructor_queryId(int queryId) inline; diff --git a/src/test/features/output/implicit-init_MyContract.md b/src/test/features/output/implicit-init_MyContract.md deleted file mode 100644 index eabf84b3e..000000000 --- a/src/test/features/output/implicit-init_MyContract.md +++ /dev/null @@ -1,61 +0,0 @@ -# TACT Compilation Report -Contract: MyContract -BOC Size: 690 bytes - -# Types -Total Types: 6 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Deploy -TLB: `deploy#946a98b6 queryId:uint64 = Deploy` -Signature: `Deploy{queryId:uint64}` - -## DeployOk -TLB: `deploy_ok#aff90f57 queryId:uint64 = DeployOk` -Signature: `DeployOk{queryId:uint64}` - -## FactoryDeploy -TLB: `factory_deploy#6d0ff13b queryId:uint64 cashback:address = FactoryDeploy` -Signature: `FactoryDeploy{queryId:uint64,cashback:address}` - -# Get Methods -Total Get Methods: 1 - -## getCounter - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/implicit-init_MyContract.pkg b/src/test/features/output/implicit-init_MyContract.pkg deleted file mode 100644 index c5e04db45..000000000 --- a/src/test/features/output/implicit-init_MyContract.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"MyContract","code":"te6ccgECEQEAAqYAART/APSkE/S88sgLAQIBYgIDAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UDAQCAVgICQL27aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEJRqmLa6jqgw0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4MAAjiv5AYLwxPjXIxLt/e9be+x4M727Fi0VEb14qRKu0PJjevZVcq66lKR/2zHgkTDiBQ4BOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8BgHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAHAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAgEgCgsCAUgPEAIPtnF7Z5tnhjAMDQC5t3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAULtRNDUAfhj0gABl4EBAdcAATHgMPgo1wsKgwm68uCJ2zwOAAIgAAJwABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVVNTnB1dWRjNmc1TFhMWXUxVHFGSFhVa3g3clF0dVVQcExqZXh3Q0tINlI5gg","abi":"{\"name\":\"MyContract\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Deploy\",\"header\":2490013878,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"DeployOk\",\"header\":2952335191,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"FactoryDeploy\",\"header\":1829761339,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"cashback\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"increment\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Deploy\"}}],\"getters\":[{\"name\":\"getCounter\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECEwEAArAAAQHAAQEFoXjPAgEU/wD0pBP0vPLICwMCAWIMBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVVNTnB1dWRjNmc1TFhMWXUxVHFGSFhVa3g3clF0dVVQcExqZXh3Q0tINlI5ggABGwr7tRNDSAAGACASAKCQC5t3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAg+2cXtnm2eGMBELAAIgAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UEQ0C9u2i7fsBkjB/4HAh10nCH5UwINcLH94gghCUapi2uo6oMNMfAYIQlGqYtrry4IHTPwExyAGCEK/5D1dYyx/LP8n4QgFwbds8f+DAAI4r+QGC8MT41yMS7f3vW3vseDO9uxYtFRG9eKkSrtDyY3r2VXKuupSkf9sx4JEw4g4SATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPA8ByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsAEACYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAFC7UTQ1AH4Y9IAAZeBAQHXAAEx4DD4KNcLCoMJuvLgids8EgACcMdIBL0="}},"sources":{"src/test/features/implicit-init.tact":"aW1wb3J0ICJAc3RkbGliL2RlcGxveSI7Cgpjb250cmFjdCBNeUNvbnRyYWN0IHdpdGggRGVwbG95YWJsZSB7CiAgICBjb3VudGVyOiBJbnQgPSAwOwoKICAgIHJlY2VpdmUoImluY3JlbWVudCIpIHsKICAgICAgICBzZWxmLmNvdW50ZXIgKz0gMTsKICAgIH0KCiAgICBnZXQgZnVuIGdldENvdW50ZXIoKTogSW50IHsKICAgICAgICByZXR1cm4gc2VsZi5jb3VudGVyOwogICAgfQp9"},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/implicit-init.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/implicit-init_MyContract.stdlib.fc b/src/test/features/output/implicit-init_MyContract.stdlib.fc deleted file mode 100644 index 7c9b553f0..000000000 --- a/src/test/features/output/implicit-init_MyContract.stdlib.fc +++ /dev/null @@ -1,111 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -((int), ()) $MyContract$_fun_forward((int) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var (($self'counter)) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return (($self'counter), ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return (($self'counter), ()); -} - -((int), ()) $MyContract$_fun_notify((int) $self, cell $body) impure inline { - var (($self'counter)) = $self; - ($self'counter)~$MyContract$_fun_forward(__tact_context_get_sender(), $body, false, null()); - return (($self'counter), ()); -} \ No newline at end of file diff --git a/src/test/features/output/implicit-init_MyContract.storage.fc b/src/test/features/output/implicit-init_MyContract.storage.fc deleted file mode 100644 index 7d7aa8e99..000000000 --- a/src/test/features/output/implicit-init_MyContract.storage.fc +++ /dev/null @@ -1,88 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: Deploy -;; Header: 0x946a98b6 -;; TLB: deploy#946a98b6 queryId:uint64 = Deploy -;; - -(slice, ((int))) $Deploy$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2490013878); - var v'queryId = sc_0~load_uint(64); - return (sc_0, (v'queryId)); -} - -;; -;; Type: DeployOk -;; Header: 0xaff90f57 -;; TLB: deploy_ok#aff90f57 queryId:uint64 = DeployOk -;; - -builder $DeployOk$_store(builder build_0, (int) v) inline { - var (v'queryId) = v; - build_0 = store_uint(build_0, 2952335191, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell $DeployOk$_store_cell((int) v) inline { - return $DeployOk$_store(begin_cell(), v).end_cell(); -} - -((int)) $DeployOk$_constructor_queryId(int queryId) inline { - return (queryId); -} - -;; -;; Type: MyContract -;; - -builder $MyContract$_store(builder build_0, (int) v) inline { - var (v'counter) = v; - build_0 = build_0.store_int(v'counter, 257); - return build_0; -} - -(slice, ((int))) $MyContract$_load(slice sc_0) inline { - var v'counter = sc_0~load_int(257); - return (sc_0, (v'counter)); -} - -(int) $MyContract$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$MyContract$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $MyContract$_contract_init(); - } -} - -() $MyContract$_contract_store((int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $MyContract$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/implicit-init_MyContract.ts b/src/test/features/output/implicit-init_MyContract.ts deleted file mode 100644 index a5aec01f8..000000000 --- a/src/test/features/output/implicit-init_MyContract.ts +++ /dev/null @@ -1,442 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Deploy = { - $$type: 'Deploy'; - queryId: bigint; -} - -export function storeDeploy(src: Deploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2490013878, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2490013878) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function loadTupleDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function storeTupleDeploy(source: Deploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeploy(src)).endCell()); - }, - parse: (src) => { - return loadDeploy(src.loadRef().beginParse()); - } - } -} - -export type DeployOk = { - $$type: 'DeployOk'; - queryId: bigint; -} - -export function storeDeployOk(src: DeployOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2952335191, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeployOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2952335191) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function loadTupleDeployOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function storeTupleDeployOk(source: DeployOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeployOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeployOk(src)).endCell()); - }, - parse: (src) => { - return loadDeployOk(src.loadRef().beginParse()); - } - } -} - -export type FactoryDeploy = { - $$type: 'FactoryDeploy'; - queryId: bigint; - cashback: Address; -} - -export function storeFactoryDeploy(src: FactoryDeploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1829761339, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.cashback); - }; -} - -export function loadFactoryDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1829761339) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _cashback = sc_0.loadAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function loadTupleFactoryDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _cashback = source.readAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function storeTupleFactoryDeploy(source: FactoryDeploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.cashback); - return builder.build(); -} - -function dictValueParserFactoryDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFactoryDeploy(src)).endCell()); - }, - parse: (src) => { - return loadFactoryDeploy(src.loadRef().beginParse()); - } - } -} - - type MyContract_init_args = { - $$type: 'MyContract_init_args'; -} - -function initMyContract_init_args(src: MyContract_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function MyContract_init() { - const __code = Cell.fromBase64('te6ccgECEQEAAqYAART/APSkE/S88sgLAQIBYgIDAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UDAQCAVgICQL27aLt+wGSMH/gcCHXScIflTAg1wsf3iCCEJRqmLa6jqgw0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4MAAjiv5AYLwxPjXIxLt/e9be+x4M727Fi0VEb14qRKu0PJjevZVcq66lKR/2zHgkTDiBQ4BOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8BgHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAHAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMAgEgCgsCAUgPEAIPtnF7Z5tnhjAMDQC5t3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAULtRNDUAfhj0gABl4EBAdcAATHgMPgo1wsKgwm68uCJ2zwOAAIgAAJwABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVVNTnB1dWRjNmc1TFhMWXUxVHFGSFhVa3g3clF0dVVQcExqZXh3Q0tINlI5gg'); - const __system = Cell.fromBase64('te6cckECEwEAArAAAQHAAQEFoXjPAgEU/wD0pBP0vPLICwMCAWIMBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVVNTnB1dWRjNmc1TFhMWXUxVHFGSFhVa3g3clF0dVVQcExqZXh3Q0tINlI5ggABGwr7tRNDSAAGACASAKCQC5t3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAg+2cXtnm2eGMBELAAIgAp7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABAYEBAc8Aye1UEQ0C9u2i7fsBkjB/4HAh10nCH5UwINcLH94gghCUapi2uo6oMNMfAYIQlGqYtrry4IHTPwExyAGCEK/5D1dYyx/LP8n4QgFwbds8f+DAAI4r+QGC8MT41yMS7f3vW3vseDO9uxYtFRG9eKkSrtDyY3r2VXKuupSkf9sx4JEw4g4SATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPA8ByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsAEACYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAFC7UTQ1AH4Y9IAAZeBAQHXAAEx4DD4KNcLCoMJuvLgids8EgACcMdIBL0='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initMyContract_init_args({ $$type: 'MyContract_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const MyContract_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const MyContract_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}, -] - -const MyContract_getters: ABIGetter[] = [ - {"name":"getCounter","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const MyContract_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"increment"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}, -] - -export class MyContract implements Contract { - - static async init() { - return await MyContract_init(); - } - - static async fromInit() { - const init = await MyContract_init(); - const address = contractAddress(0, init); - return new MyContract(address, init); - } - - static fromAddress(address: Address) { - return new MyContract(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: MyContract_types, - getters: MyContract_getters, - receivers: MyContract_receivers, - errors: MyContract_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'increment' | Deploy) { - - let body: Cell | null = null; - if (message === 'increment') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Deploy') { - body = beginCell().store(storeDeploy(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getGetCounter(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getCounter', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.abi b/src/test/features/output/integer-literals_IntegerLiteralsTester.abi deleted file mode 100644 index c1e8e9196..000000000 --- a/src/test/features/output/integer-literals_IntegerLiteralsTester.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"IntegerLiteralsTester","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}}],"getters":[{"name":"decLiteral1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"decLiteral2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"decLiteral3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"hexLiteral1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"hexLiteral2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"hexLiteral3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"binLiteral1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"binLiteral2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"binLiteral3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"octLiteral1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"octLiteral2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"octLiteral3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.code.boc b/src/test/features/output/integer-literals_IntegerLiteralsTester.code.boc deleted file mode 100644 index 9bd27b7bc..000000000 Binary files a/src/test/features/output/integer-literals_IntegerLiteralsTester.code.boc and /dev/null differ diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.code.boc.html b/src/test/features/output/integer-literals_IntegerLiteralsTester.code.boc.html deleted file mode 100644 index 43f27abca..000000000 --- a/src/test/features/output/integer-literals_IntegerLiteralsTester.code.boc.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_68180;
-            ..DECLPROC ?fun_72309;
-            ..DECLPROC ?fun_76310;
-            ..DECLPROC ?fun_102042;
-            ..DECLPROC ?fun_110296;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC ?fun_114425;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC ?fun_115972;
-            ..DECLPROC ?fun_116259;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_124230;
-            ..DECLPROC ?fun_124513;
-            ..DECLPROC ?fun_128359;
-            ..DECLPROC ?fun_128576;
-            ..DECLPROC ?fun_ref_026cdd3ff17e82bb;
-            ..DECLPROC ?fun_ref_26dd4850c2973b9d;
-            ..DECLPROC ?fun_ref_32a8f017ec2ceafb;
-            ..DECLPROC ?fun_ref_364de9562794919e;
-            ..DECLPROC ?fun_ref_4065f3bb1951fe13;
-            ..DECLPROC ?fun_ref_4ed57fb2f9d4e6ca;
-            ..DECLPROC ?fun_ref_553f7869b01170d9;
-            ..DECLPROC ?fun_ref_5bdfe841fa412a76;
-            ..DECLPROC ?fun_ref_684a8c99db9474e5;
-            ..DECLPROC ?fun_ref_7366f20a31928e43;
-            ..DECLPROC ?fun_ref_7a4cfefa28b39727;
-            ..DECLPROC ?fun_ref_a05e0042bce184fb;
-            ..DECLPROC ?fun_ref_b5b9e67d57f2dcce;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            ..DECLPROC ?fun_ref_f0101fa3fb0bc1f5;
-            x3..recv_internal PROC:<{
-            18x3....s0 s1 XCHG
-            118x3....CTOS
-            26x3....4 LDU
-            18x3....s0 s1 XCHG
-            18x3....1 PUSHINT
-            18x3....AND
-            18x3....-1 MULCONST
-            18x3....s0 s1 XCHG
-            26x3....LDMSGADDR
-            18x3....s0 s1 XCHG
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            34x3....s0 s6 s4 PUXCPU
-            18x3....s0 s3 XCHG
-            30x3....4 TUPLE
-            28x3....1 SETGLOBVAR
-            18x3....s0 s2 XCHG
-            29x3....2 SETGLOBVAR
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_364de9562794919e INLINECALLDICT
-            34x3....130 THROWIFNOT
-            18x3....s0 POP
-            18x3....NEWC
-            26x3....3 GETGLOBVAR
-            18x3....s0 s1 XCHG
-            18x3....STREF
-            18x3....-1 PUSHINT
-            18x3....s0 s1 XCHG
-            26x3....1 STI
-            518x3....ENDC
-            26x3....c4 POP
-            x3..}>
-            x1..?fun_68180 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_684a8c99db9474e5 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_72309 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_26dd4850c2973b9d INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_76310 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_7a4cfefa28b39727 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_102042 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_553f7869b01170d9 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_110296 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_4ed57fb2f9d4e6ca INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            x1..?fun_114425 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_32a8f017ec2ceafb INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            x1..?fun_115972 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_7366f20a31928e43 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_116259 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_026cdd3ff17e82bb INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D4E734D36645465466E58726D5A34334C4771715055536F32474378796432756836417532597834687672775482_} PUSHSLICE
-            ..}>
-            x1..?fun_124230 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_b5b9e67d57f2dcce INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_124513 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_5bdfe841fa412a76 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_128359 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_f0101fa3fb0bc1f5 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_128576 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_4065f3bb1951fe13 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_ref_026cdd3ff17e82bb PROCREF:<{
-            26x1....42 PUSHINT
-            x1..}>
-            x1..?fun_ref_26dd4850c2973b9d PROCREF:<{
-            34x1....-291 PUSHINT
-            x1..}>
-            x1..?fun_ref_32a8f017ec2ceafb PROCREF:<{
-            26x1....-123 PUSHINT
-            x1..}>
-            x4..?fun_ref_364de9562794919e PROCREF:<{
-            18x4....s0 s1 XCHG
-            18x4....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x4....}> PUSHCONT
-            18x4....IFJMP
-            18x4....0 PUSHINT
-            18x4....s1 PUSH
-            26x4....SBITS
-            26x4....31 GTINT
-            18x4....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            18x4....}> PUSHCONT
-            18x4....IF
-            26x4....0 EQINT
-            18x4....s0 s1 XCHG
-            26x4....SBITS
-            26x4....33 LESSINT
-            18x4....AND
-            18x4....<{
-            18x4......-1 PUSHINT
-            18x4....}> PUSHCONT
-            18x4....IFJMP
-            ....0 PUSHINT
-            x4..}>
-            x1..?fun_ref_4065f3bb1951fe13 PROCREF:<{
-            26x1....-42 PUSHINT
-            x1..}>
-            x1..?fun_ref_4ed57fb2f9d4e6ca PROCREF:<{
-            23x1....1012300000 PUSHINT
-            x1..}>
-            x1..?fun_ref_553f7869b01170d9 PROCREF:<{
-            26x1....123 PUSHINT
-            x1..}>
-            x1..?fun_ref_5bdfe841fa412a76 PROCREF:<{
-            34x1....672 PUSHINT
-            x1..}>
-            x1..?fun_ref_684a8c99db9474e5 PROCREF:<{
-            23x1....69024612352 PUSHINT
-            x1..}>
-            x1..?fun_ref_7366f20a31928e43 PROCREF:<{
-            26x1....83 PUSHINT
-            x1..}>
-            x1..?fun_ref_7a4cfefa28b39727 PROCREF:<{
-            34x1....291 PUSHINT
-            x1..}>
-            x475..?fun_ref_a05e0042bce184fb PROCREF:<{
-            26x475....c4 PUSH
-            118x475....CTOS
-            18x475....LDREF
-            18x475....s0 s1 XCHG
-            30x475....3 SETGLOBVAR
-            26x475....1 LDI
-            18x475....s0 POP
-            18x475....<{
-            18x402......NULL
-            18x475....}> PUSHCONT
-            18x475....IFJMP
-            26x73....MYADDR
-            34x73....11 PLDU
-            26x73....10 PUSHPOW2
-            18x73....EQUAL
-            34x73....137 THROWIFNOT
-            126x73....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x475..}>
-            x1..?fun_ref_b5b9e67d57f2dcce PROCREF:<{
-            23x1....136937472 PUSHINT
-            x1..}>
-            x82..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x82....NULL
-            x82..}>
-            x1..?fun_ref_f0101fa3fb0bc1f5 PROCREF:<{
-            26x1....-83 PUSHINT
-            x1..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.code.fc b/src/test/features/output/integer-literals_IntegerLiteralsTester.code.fc deleted file mode 100644 index 43847308d..000000000 --- a/src/test/features/output/integer-literals_IntegerLiteralsTester.code.fc +++ /dev/null @@ -1,228 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "integer-literals_IntegerLiteralsTester.headers.fc"; -#include "integer-literals_IntegerLiteralsTester.stdlib.fc"; -#include "integer-literals_IntegerLiteralsTester.storage.fc"; - -;; -;; Contract IntegerLiteralsTester functions -;; - -tuple $IntegerLiteralsTester$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -(tuple, int) $IntegerLiteralsTester$_fun_decLiteral1(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 123); -} - -(tuple, int) $IntegerLiteralsTester$_fun_decLiteral2(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, (- 123)); -} - -(tuple, int) $IntegerLiteralsTester$_fun_decLiteral3(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 1012300000); -} - -(tuple, int) $IntegerLiteralsTester$_fun_hexLiteral1(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 291); -} - -(tuple, int) $IntegerLiteralsTester$_fun_hexLiteral2(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, (- 291)); -} - -(tuple, int) $IntegerLiteralsTester$_fun_hexLiteral3(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 69024612352); -} - -(tuple, int) $IntegerLiteralsTester$_fun_binLiteral1(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 42); -} - -(tuple, int) $IntegerLiteralsTester$_fun_binLiteral2(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, (- 42)); -} - -(tuple, int) $IntegerLiteralsTester$_fun_binLiteral3(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 672); -} - -(tuple, int) $IntegerLiteralsTester$_fun_octLiteral1(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 83); -} - -(tuple, int) $IntegerLiteralsTester$_fun_octLiteral2(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, (- 83)); -} - -(tuple, int) $IntegerLiteralsTester$_fun_octLiteral3(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, 136937472); -} - -;; -;; Receivers of a Contract IntegerLiteralsTester -;; - -((tuple), ()) %$IntegerLiteralsTester$_internal_empty(tuple $self) impure inline { - var $self = $self; - return ($self, ()); -} - -;; -;; Get methods of a Contract IntegerLiteralsTester -;; - -_ %decLiteral1() method_id(102042) { - var self = $IntegerLiteralsTester$_contract_load(); - var res = self~$IntegerLiteralsTester$_fun_decLiteral1(); - return res; -} - -_ %decLiteral2() method_id(114425) { - var self = $IntegerLiteralsTester$_contract_load(); - var res = self~$IntegerLiteralsTester$_fun_decLiteral2(); - return res; -} - -_ %decLiteral3() method_id(110296) { - var self = $IntegerLiteralsTester$_contract_load(); - var res = self~$IntegerLiteralsTester$_fun_decLiteral3(); - return res; -} - -_ %hexLiteral1() method_id(76310) { - var self = $IntegerLiteralsTester$_contract_load(); - var res = self~$IntegerLiteralsTester$_fun_hexLiteral1(); - return res; -} - -_ %hexLiteral2() method_id(72309) { - var self = $IntegerLiteralsTester$_contract_load(); - var res = self~$IntegerLiteralsTester$_fun_hexLiteral2(); - return res; -} - -_ %hexLiteral3() method_id(68180) { - var self = $IntegerLiteralsTester$_contract_load(); - var res = self~$IntegerLiteralsTester$_fun_hexLiteral3(); - return res; -} - -_ %binLiteral1() method_id(116259) { - var self = $IntegerLiteralsTester$_contract_load(); - var res = self~$IntegerLiteralsTester$_fun_binLiteral1(); - return res; -} - -_ %binLiteral2() method_id(128576) { - var self = $IntegerLiteralsTester$_contract_load(); - var res = self~$IntegerLiteralsTester$_fun_binLiteral2(); - return res; -} - -_ %binLiteral3() method_id(124513) { - var self = $IntegerLiteralsTester$_contract_load(); - var res = self~$IntegerLiteralsTester$_fun_binLiteral3(); - return res; -} - -_ %octLiteral1() method_id(115972) { - var self = $IntegerLiteralsTester$_contract_load(); - var res = self~$IntegerLiteralsTester$_fun_octLiteral1(); - return res; -} - -_ %octLiteral2() method_id(128359) { - var self = $IntegerLiteralsTester$_contract_load(); - var res = self~$IntegerLiteralsTester$_fun_octLiteral2(); - return res; -} - -_ %octLiteral3() method_id(124230) { - var self = $IntegerLiteralsTester$_contract_load(); - var res = self~$IntegerLiteralsTester$_fun_octLiteral3(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmNsM6dTeFnXrmZ43LGqqPUSo2GCxyd2uh6Au2Yx4hvrwT"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract IntegerLiteralsTester -;; - -(tuple, int) $IntegerLiteralsTester$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$IntegerLiteralsTester$_internal_empty(); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $IntegerLiteralsTester$_contract_load(); - - ;; Handle operation - int handled = self~$IntegerLiteralsTester$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $IntegerLiteralsTester$_contract_store(self); -} diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.code.fif b/src/test/features/output/integer-literals_IntegerLiteralsTester.code.fif deleted file mode 100644 index 9190c321a..000000000 --- a/src/test/features/output/integer-literals_IntegerLiteralsTester.code.fif +++ /dev/null @@ -1,253 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $IntegerLiteralsTester$_contract_init - DECLPROC $IntegerLiteralsTester$_contract_load - DECLPROC $IntegerLiteralsTester$_contract_store - DECLPROC $IntegerLiteralsTester$_fun_decLiteral1 - DECLPROC $IntegerLiteralsTester$_fun_decLiteral2 - DECLPROC $IntegerLiteralsTester$_fun_decLiteral3 - DECLPROC $IntegerLiteralsTester$_fun_hexLiteral1 - DECLPROC $IntegerLiteralsTester$_fun_hexLiteral2 - DECLPROC $IntegerLiteralsTester$_fun_hexLiteral3 - DECLPROC $IntegerLiteralsTester$_fun_binLiteral1 - DECLPROC $IntegerLiteralsTester$_fun_binLiteral2 - DECLPROC $IntegerLiteralsTester$_fun_binLiteral3 - DECLPROC $IntegerLiteralsTester$_fun_octLiteral1 - DECLPROC $IntegerLiteralsTester$_fun_octLiteral2 - DECLPROC $IntegerLiteralsTester$_fun_octLiteral3 - DECLPROC %$IntegerLiteralsTester$_internal_empty - 102042 DECLMETHOD %decLiteral1 - 114425 DECLMETHOD %decLiteral2 - 110296 DECLMETHOD %decLiteral3 - 76310 DECLMETHOD %hexLiteral1 - 72309 DECLMETHOD %hexLiteral2 - 68180 DECLMETHOD %hexLiteral3 - 116259 DECLMETHOD %binLiteral1 - 128576 DECLMETHOD %binLiteral2 - 124513 DECLMETHOD %binLiteral3 - 115972 DECLMETHOD %octLiteral1 - 128359 DECLMETHOD %octLiteral2 - 124230 DECLMETHOD %octLiteral3 - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $IntegerLiteralsTester$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $IntegerLiteralsTester$_contract_init PROCREF:<{ - PUSHNULL - }> - $IntegerLiteralsTester$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $IntegerLiteralsTester$_contract_init INLINECALLDICT - }> - $IntegerLiteralsTester$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $IntegerLiteralsTester$_fun_decLiteral1 PROCREF:<{ - 123 PUSHINT - }> - $IntegerLiteralsTester$_fun_decLiteral2 PROCREF:<{ - -123 PUSHINT - }> - $IntegerLiteralsTester$_fun_decLiteral3 PROCREF:<{ - 1012300000 PUSHINT - }> - $IntegerLiteralsTester$_fun_hexLiteral1 PROCREF:<{ - 291 PUSHINT - }> - $IntegerLiteralsTester$_fun_hexLiteral2 PROCREF:<{ - -291 PUSHINT - }> - $IntegerLiteralsTester$_fun_hexLiteral3 PROCREF:<{ - 69024612352 PUSHINT - }> - $IntegerLiteralsTester$_fun_binLiteral1 PROCREF:<{ - 42 PUSHINT - }> - $IntegerLiteralsTester$_fun_binLiteral2 PROCREF:<{ - -42 PUSHINT - }> - $IntegerLiteralsTester$_fun_binLiteral3 PROCREF:<{ - 672 PUSHINT - }> - $IntegerLiteralsTester$_fun_octLiteral1 PROCREF:<{ - 83 PUSHINT - }> - $IntegerLiteralsTester$_fun_octLiteral2 PROCREF:<{ - -83 PUSHINT - }> - $IntegerLiteralsTester$_fun_octLiteral3 PROCREF:<{ - 136937472 PUSHINT - }> - %$IntegerLiteralsTester$_internal_empty PROCINLINE:<{ - }> - %decLiteral1 PROC:<{ - $IntegerLiteralsTester$_contract_load INLINECALLDICT - $IntegerLiteralsTester$_fun_decLiteral1 INLINECALLDICT - NIP - }> - %decLiteral2 PROC:<{ - $IntegerLiteralsTester$_contract_load INLINECALLDICT - $IntegerLiteralsTester$_fun_decLiteral2 INLINECALLDICT - NIP - }> - %decLiteral3 PROC:<{ - $IntegerLiteralsTester$_contract_load INLINECALLDICT - $IntegerLiteralsTester$_fun_decLiteral3 INLINECALLDICT - NIP - }> - %hexLiteral1 PROC:<{ - $IntegerLiteralsTester$_contract_load INLINECALLDICT - $IntegerLiteralsTester$_fun_hexLiteral1 INLINECALLDICT - NIP - }> - %hexLiteral2 PROC:<{ - $IntegerLiteralsTester$_contract_load INLINECALLDICT - $IntegerLiteralsTester$_fun_hexLiteral2 INLINECALLDICT - NIP - }> - %hexLiteral3 PROC:<{ - $IntegerLiteralsTester$_contract_load INLINECALLDICT - $IntegerLiteralsTester$_fun_hexLiteral3 INLINECALLDICT - NIP - }> - %binLiteral1 PROC:<{ - $IntegerLiteralsTester$_contract_load INLINECALLDICT - $IntegerLiteralsTester$_fun_binLiteral1 INLINECALLDICT - NIP - }> - %binLiteral2 PROC:<{ - $IntegerLiteralsTester$_contract_load INLINECALLDICT - $IntegerLiteralsTester$_fun_binLiteral2 INLINECALLDICT - NIP - }> - %binLiteral3 PROC:<{ - $IntegerLiteralsTester$_contract_load INLINECALLDICT - $IntegerLiteralsTester$_fun_binLiteral3 INLINECALLDICT - NIP - }> - %octLiteral1 PROC:<{ - $IntegerLiteralsTester$_contract_load INLINECALLDICT - $IntegerLiteralsTester$_fun_octLiteral1 INLINECALLDICT - NIP - }> - %octLiteral2 PROC:<{ - $IntegerLiteralsTester$_contract_load INLINECALLDICT - $IntegerLiteralsTester$_fun_octLiteral2 INLINECALLDICT - NIP - }> - %octLiteral3 PROC:<{ - $IntegerLiteralsTester$_contract_load INLINECALLDICT - $IntegerLiteralsTester$_fun_octLiteral3 INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d4e734d36645465466e58726d5a34334c4771715055536f324743787964327568364175325978346876727754} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $IntegerLiteralsTester$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 0 EQINT - SWAP - SBITS - 33 LESSINT - AND - IFJMP:<{ - %$IntegerLiteralsTester$_internal_empty INLINECALLDICT - TRUE - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $IntegerLiteralsTester$_contract_load INLINECALLDICT - -ROT - $IntegerLiteralsTester$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $IntegerLiteralsTester$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.code.rev.fif b/src/test/features/output/integer-literals_IntegerLiteralsTester.code.rev.fif deleted file mode 100644 index eb6f60797..000000000 --- a/src/test/features/output/integer-literals_IntegerLiteralsTester.code.rev.fif +++ /dev/null @@ -1,241 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_68180; - DECLPROC ?fun_72309; - DECLPROC ?fun_76310; - DECLPROC ?fun_102042; - DECLPROC ?fun_110296; - DECLPROC supported_interfaces; - DECLPROC ?fun_114425; - DECLPROC lazy_deployment_completed; - DECLPROC ?fun_115972; - DECLPROC ?fun_116259; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_124230; - DECLPROC ?fun_124513; - DECLPROC ?fun_128359; - DECLPROC ?fun_128576; - DECLPROC ?fun_ref_026cdd3ff17e82bb; - DECLPROC ?fun_ref_26dd4850c2973b9d; - DECLPROC ?fun_ref_32a8f017ec2ceafb; - DECLPROC ?fun_ref_364de9562794919e; - DECLPROC ?fun_ref_4065f3bb1951fe13; - DECLPROC ?fun_ref_4ed57fb2f9d4e6ca; - DECLPROC ?fun_ref_553f7869b01170d9; - DECLPROC ?fun_ref_5bdfe841fa412a76; - DECLPROC ?fun_ref_684a8c99db9474e5; - DECLPROC ?fun_ref_7366f20a31928e43; - DECLPROC ?fun_ref_7a4cfefa28b39727; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_b5b9e67d57f2dcce; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_f0101fa3fb0bc1f5; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_364de9562794919e INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_68180 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_684a8c99db9474e5 INLINECALLDICT - s1 POP - }> - ?fun_72309 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_26dd4850c2973b9d INLINECALLDICT - s1 POP - }> - ?fun_76310 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_7a4cfefa28b39727 INLINECALLDICT - s1 POP - }> - ?fun_102042 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_553f7869b01170d9 INLINECALLDICT - s1 POP - }> - ?fun_110296 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_4ed57fb2f9d4e6ca INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - ?fun_114425 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_32a8f017ec2ceafb INLINECALLDICT - s1 POP - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - ?fun_115972 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_7366f20a31928e43 INLINECALLDICT - s1 POP - }> - ?fun_116259 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_026cdd3ff17e82bb INLINECALLDICT - s1 POP - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D4E734D36645465466E58726D5A34334C4771715055536F32474378796432756836417532597834687672775482_} PUSHSLICE - }> - ?fun_124230 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_b5b9e67d57f2dcce INLINECALLDICT - s1 POP - }> - ?fun_124513 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_5bdfe841fa412a76 INLINECALLDICT - s1 POP - }> - ?fun_128359 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_f0101fa3fb0bc1f5 INLINECALLDICT - s1 POP - }> - ?fun_128576 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_4065f3bb1951fe13 INLINECALLDICT - s1 POP - }> - ?fun_ref_026cdd3ff17e82bb PROCREF:<{ - 42 PUSHINT - }> - ?fun_ref_26dd4850c2973b9d PROCREF:<{ - -291 PUSHINT - }> - ?fun_ref_32a8f017ec2ceafb PROCREF:<{ - -123 PUSHINT - }> - ?fun_ref_364de9562794919e PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 0 EQINT - s0 s1 XCHG - SBITS - 33 LESSINT - AND - <{ - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - }> - ?fun_ref_4065f3bb1951fe13 PROCREF:<{ - -42 PUSHINT - }> - ?fun_ref_4ed57fb2f9d4e6ca PROCREF:<{ - 1012300000 PUSHINT - }> - ?fun_ref_553f7869b01170d9 PROCREF:<{ - 123 PUSHINT - }> - ?fun_ref_5bdfe841fa412a76 PROCREF:<{ - 672 PUSHINT - }> - ?fun_ref_684a8c99db9474e5 PROCREF:<{ - 69024612352 PUSHINT - }> - ?fun_ref_7366f20a31928e43 PROCREF:<{ - 83 PUSHINT - }> - ?fun_ref_7a4cfefa28b39727 PROCREF:<{ - 291 PUSHINT - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_b5b9e67d57f2dcce PROCREF:<{ - 136937472 PUSHINT - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_f0101fa3fb0bc1f5 PROCREF:<{ - -83 PUSHINT - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.headers.fc b/src/test/features/output/integer-literals_IntegerLiteralsTester.headers.fc deleted file mode 100644 index 1e13de2f8..000000000 --- a/src/test/features/output/integer-literals_IntegerLiteralsTester.headers.fc +++ /dev/null @@ -1,52 +0,0 @@ -;; -;; Header files for IntegerLiteralsTester -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $IntegerLiteralsTester$_contract_init -tuple $IntegerLiteralsTester$_contract_init() impure inline_ref; - -;; $IntegerLiteralsTester$_contract_load -tuple $IntegerLiteralsTester$_contract_load() impure inline_ref; - -;; $IntegerLiteralsTester$_contract_store -() $IntegerLiteralsTester$_contract_store(tuple v) impure inline; - -;; $IntegerLiteralsTester$_fun_decLiteral1 -(tuple, int) $IntegerLiteralsTester$_fun_decLiteral1(tuple $self) impure inline_ref; - -;; $IntegerLiteralsTester$_fun_decLiteral2 -(tuple, int) $IntegerLiteralsTester$_fun_decLiteral2(tuple $self) impure inline_ref; - -;; $IntegerLiteralsTester$_fun_decLiteral3 -(tuple, int) $IntegerLiteralsTester$_fun_decLiteral3(tuple $self) impure inline_ref; - -;; $IntegerLiteralsTester$_fun_hexLiteral1 -(tuple, int) $IntegerLiteralsTester$_fun_hexLiteral1(tuple $self) impure inline_ref; - -;; $IntegerLiteralsTester$_fun_hexLiteral2 -(tuple, int) $IntegerLiteralsTester$_fun_hexLiteral2(tuple $self) impure inline_ref; - -;; $IntegerLiteralsTester$_fun_hexLiteral3 -(tuple, int) $IntegerLiteralsTester$_fun_hexLiteral3(tuple $self) impure inline_ref; - -;; $IntegerLiteralsTester$_fun_binLiteral1 -(tuple, int) $IntegerLiteralsTester$_fun_binLiteral1(tuple $self) impure inline_ref; - -;; $IntegerLiteralsTester$_fun_binLiteral2 -(tuple, int) $IntegerLiteralsTester$_fun_binLiteral2(tuple $self) impure inline_ref; - -;; $IntegerLiteralsTester$_fun_binLiteral3 -(tuple, int) $IntegerLiteralsTester$_fun_binLiteral3(tuple $self) impure inline_ref; - -;; $IntegerLiteralsTester$_fun_octLiteral1 -(tuple, int) $IntegerLiteralsTester$_fun_octLiteral1(tuple $self) impure inline_ref; - -;; $IntegerLiteralsTester$_fun_octLiteral2 -(tuple, int) $IntegerLiteralsTester$_fun_octLiteral2(tuple $self) impure inline_ref; - -;; $IntegerLiteralsTester$_fun_octLiteral3 -(tuple, int) $IntegerLiteralsTester$_fun_octLiteral3(tuple $self) impure inline_ref; diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.md b/src/test/features/output/integer-literals_IntegerLiteralsTester.md deleted file mode 100644 index d6658a46c..000000000 --- a/src/test/features/output/integer-literals_IntegerLiteralsTester.md +++ /dev/null @@ -1,71 +0,0 @@ -# TACT Compilation Report -Contract: IntegerLiteralsTester -BOC Size: 607 bytes - -# Types -Total Types: 3 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -# Get Methods -Total Get Methods: 12 - -## decLiteral1 - -## decLiteral2 - -## decLiteral3 - -## hexLiteral1 - -## hexLiteral2 - -## hexLiteral3 - -## binLiteral1 - -## binLiteral2 - -## binLiteral3 - -## octLiteral1 - -## octLiteral2 - -## octLiteral3 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.pkg b/src/test/features/output/integer-literals_IntegerLiteralsTester.pkg deleted file mode 100644 index 0430cbd32..000000000 --- a/src/test/features/output/integer-literals_IntegerLiteralsTester.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"IntegerLiteralsTester","code":"te6ccgECLwEAAlMAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1ULAQCASAFBgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwAgFIBwgCASAODwIBIAkKAg+1Qttnm2eGMCwNAg+ylTbPNs8MYCwLAg+ynXbPNs8MYCwMAA6CGBASMAAAAAaB/t0ABoEBIwIBIBARAgEgGRoCD7XTW2ebZ4YwLBICASATFAAEgHsCD7O2Ns82zwxgLBUCAVgWFwAMghA8VnjgALir0YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopAIOqvnbPNs8MSwYAASAhQIBIBscAgEgIyQCAUgdHgB1sm7jQ1aXBmczovL1FtTnNNNmRUZUZuWHJtWjQzTEdxcVBVU28yR0N4eWQydWg2QXUyWXg0aHZyd1SCAAEKq+7UTQ0gABAgEgHyACDaYJtnm2eGMsIQINpEe2ebZ4YywiAASAUwAEgCoCAWYlJgIBZikqAg2mjbZ5tnhjLCcCDaTDtnm2eGMsKAAMghAIKYAAAAaBAqACDabPtnm2eGMsKwINpIG2ebZ4YywtAASArQE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwuAASA1gACbQ==","abi":"{\"name\":\"IntegerLiteralsTester\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}}],\"getters\":[{\"name\":\"decLiteral1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"decLiteral2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"decLiteral3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"hexLiteral1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"hexLiteral2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"hexLiteral3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"binLiteral1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"binLiteral2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"binLiteral3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"octLiteral1\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"octLiteral2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"octLiteral3\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECMQEAAl0AAQHAAQEFobyzAgEU/wD0pBP0vPLICwMCAWItBAIBICUFAgEgGwYCASASBwIBIA0IAgFmCwkCDaSBtnm2eGMvCgAEgNYCDabPtnm2eGMvDAAEgK0CAWYQDgINpMO2ebZ4Yy8PAAaBAqACDaaNtnm2eGMvEQAMghAIKYAAAgEgFBMAdbJu40NWlwZnM6Ly9RbU5zTTZkVGVGblhybVo0M0xHcXFQVVNvMkdDeHlkMnVoNkF1Mll4NGh2cndUggAgFIGhUCASAYFgINpEe2ebZ4Yy8XAASAKgINpgm2ebZ4Yy8ZAASAUwAQqr7tRNDSAAECASAjHAIBICEdAgFYIB4CDqr52zzbPDEvHwAEgIUAuKvRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikAg+ztjbPNs8MYC8iAAyCEDxWeOACD7XTW2ebZ4YwLyQABIB7AgFIKCYCD7VC22ebZ4YwLycABoEBIwIBICspAg+ynXbPNs8MYC8qAAaB/t0CD7KVNs82zwxgLywADoIYEBIwAAACktAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQvLgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPDAAAm3lCWAT"}},"sources":{"src/test/features/integer-literals.tact":"Y29udHJhY3QgSW50ZWdlckxpdGVyYWxzVGVzdGVyIHsKCiAgICBpbml0KCkgewogICAgICAgIAogICAgfQogICAgCiAgICByZWNlaXZlKCkgewogICAgICAgIC8vIERlcGxveQogICAgfQoKICAgIGdldCBmdW4gZGVjTGl0ZXJhbDEoKTogSW50IHsKICAgICAgICByZXR1cm4gMTIzOwogICAgfQoKICAgIGdldCBmdW4gZGVjTGl0ZXJhbDIoKTogSW50IHsKICAgICAgICByZXR1cm4gLTEyMzsKICAgIH0KCiAgICBnZXQgZnVuIGRlY0xpdGVyYWwzKCk6IEludCB7CiAgICAgICAgcmV0dXJuIDFfMDEyM18wMF8wMDA7CiAgICB9CgogICAgZ2V0IGZ1biBoZXhMaXRlcmFsMSgpOiBJbnQgewogICAgICAgIHJldHVybiAweDEyMzsKICAgIH0KCiAgICBnZXQgZnVuIGhleExpdGVyYWwyKCk6IEludCB7CiAgICAgICAgcmV0dXJuIC0weDEyMzsKICAgIH0KCiAgICBnZXQgZnVuIGhleExpdGVyYWwzKCk6IEludCB7CiAgICAgICAgcmV0dXJuIDB4MV8wMTIzXzAwXzAwMDsKICAgIH0KCiAgICBnZXQgZnVuIGJpbkxpdGVyYWwxKCk6IEludCB7CiAgICAgICAgcmV0dXJuIDBiMTAxMDEwOwogICAgfQoKICAgIGdldCBmdW4gYmluTGl0ZXJhbDIoKTogSW50IHsKICAgICAgICByZXR1cm4gLTBiMTAxMDEwOwogICAgfQoKICAgIGdldCBmdW4gYmluTGl0ZXJhbDMoKTogSW50IHsKICAgICAgICByZXR1cm4gMGIxXzAxMDFfMDBfMDAwOwogICAgfQoKICAgIGdldCBmdW4gb2N0TGl0ZXJhbDEoKTogSW50IHsKICAgICAgICByZXR1cm4gMG8xMjM7CiAgICB9CgogICAgZ2V0IGZ1biBvY3RMaXRlcmFsMigpOiBJbnQgewogICAgICAgIHJldHVybiAtMG8xMjM7CiAgICB9CgogICAgZ2V0IGZ1biBvY3RMaXRlcmFsMygpOiBJbnQgewogICAgICAgIHJldHVybiAwbzFfMDEyM18wMF8wMDA7CiAgICB9Cn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/integer-literals.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.stdlib.fc b/src/test/features/output/integer-literals_IntegerLiteralsTester.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/src/test/features/output/integer-literals_IntegerLiteralsTester.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.storage.fc b/src/test/features/output/integer-literals_IntegerLiteralsTester.storage.fc deleted file mode 100644 index fd570364f..000000000 --- a/src/test/features/output/integer-literals_IntegerLiteralsTester.storage.fc +++ /dev/null @@ -1,23 +0,0 @@ -;; -;; Type: IntegerLiteralsTester -;; - -tuple $IntegerLiteralsTester$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $IntegerLiteralsTester$_contract_init(); - } -} - -() $IntegerLiteralsTester$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/integer-literals_IntegerLiteralsTester.ts b/src/test/features/output/integer-literals_IntegerLiteralsTester.ts deleted file mode 100644 index 4ca7369b3..000000000 --- a/src/test/features/output/integer-literals_IntegerLiteralsTester.ts +++ /dev/null @@ -1,392 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - - type IntegerLiteralsTester_init_args = { - $$type: 'IntegerLiteralsTester_init_args'; -} - -function initIntegerLiteralsTester_init_args(src: IntegerLiteralsTester_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function IntegerLiteralsTester_init() { - const __code = Cell.fromBase64('te6ccgECLwEAAlMAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1ULAQCASAFBgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwAgFIBwgCASAODwIBIAkKAg+1Qttnm2eGMCwNAg+ylTbPNs8MYCwLAg+ynXbPNs8MYCwMAA6CGBASMAAAAAaB/t0ABoEBIwIBIBARAgEgGRoCD7XTW2ebZ4YwLBICASATFAAEgHsCD7O2Ns82zwxgLBUCAVgWFwAMghA8VnjgALir0YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopAIOqvnbPNs8MSwYAASAhQIBIBscAgEgIyQCAUgdHgB1sm7jQ1aXBmczovL1FtTnNNNmRUZUZuWHJtWjQzTEdxcVBVU28yR0N4eWQydWg2QXUyWXg0aHZyd1SCAAEKq+7UTQ0gABAgEgHyACDaYJtnm2eGMsIQINpEe2ebZ4YywiAASAUwAEgCoCAWYlJgIBZikqAg2mjbZ5tnhjLCcCDaTDtnm2eGMsKAAMghAIKYAAAAaBAqACDabPtnm2eGMsKwINpIG2ebZ4YywtAASArQE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwuAASA1gACbQ=='); - const __system = Cell.fromBase64('te6cckECMQEAAl0AAQHAAQEFobyzAgEU/wD0pBP0vPLICwMCAWItBAIBICUFAgEgGwYCASASBwIBIA0IAgFmCwkCDaSBtnm2eGMvCgAEgNYCDabPtnm2eGMvDAAEgK0CAWYQDgINpMO2ebZ4Yy8PAAaBAqACDaaNtnm2eGMvEQAMghAIKYAAAgEgFBMAdbJu40NWlwZnM6Ly9RbU5zTTZkVGVGblhybVo0M0xHcXFQVVNvMkdDeHlkMnVoNkF1Mll4NGh2cndUggAgFIGhUCASAYFgINpEe2ebZ4Yy8XAASAKgINpgm2ebZ4Yy8ZAASAUwAQqr7tRNDSAAECASAjHAIBICEdAgFYIB4CDqr52zzbPDEvHwAEgIUAuKvRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikAg+ztjbPNs8MYC8iAAyCEDxWeOACD7XTW2ebZ4YwLyQABIB7AgFIKCYCD7VC22ebZ4YwLycABoEBIwIBICspAg+ynXbPNs8MYC8qAAaB/t0CD7KVNs82zwxgLywADoIYEBIwAAACktAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQvLgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPDAAAm3lCWAT'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initIntegerLiteralsTester_init_args({ $$type: 'IntegerLiteralsTester_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const IntegerLiteralsTester_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const IntegerLiteralsTester_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, -] - -const IntegerLiteralsTester_getters: ABIGetter[] = [ - {"name":"decLiteral1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"decLiteral2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"decLiteral3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"hexLiteral1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"hexLiteral2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"hexLiteral3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"binLiteral1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"binLiteral2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"binLiteral3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"octLiteral1","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"octLiteral2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"octLiteral3","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const IntegerLiteralsTester_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, -] - -export class IntegerLiteralsTester implements Contract { - - static async init() { - return await IntegerLiteralsTester_init(); - } - - static async fromInit() { - const init = await IntegerLiteralsTester_init(); - const address = contractAddress(0, init); - return new IntegerLiteralsTester(address, init); - } - - static fromAddress(address: Address) { - return new IntegerLiteralsTester(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: IntegerLiteralsTester_types, - getters: IntegerLiteralsTester_getters, - receivers: IntegerLiteralsTester_receivers, - errors: IntegerLiteralsTester_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null) { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getDecLiteral1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('decLiteral1', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getDecLiteral2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('decLiteral2', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getDecLiteral3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('decLiteral3', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getHexLiteral1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('hexLiteral1', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getHexLiteral2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('hexLiteral2', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getHexLiteral3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('hexLiteral3', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getBinLiteral1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('binLiteral1', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getBinLiteral2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('binLiteral2', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getBinLiteral3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('binLiteral3', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getOctLiteral1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('octLiteral1', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getOctLiteral2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('octLiteral2', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getOctLiteral3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('octLiteral3', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.abi b/src/test/features/output/intrinsics_IntrinsicsTester.abi deleted file mode 100644 index f423f21d2..000000000 --- a/src/test/features/output/intrinsics_IntrinsicsTester.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"IntrinsicsTester","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Deploy"}},{"receiver":"internal","message":{"kind":"text","text":"emit_1"}}],"getters":[{"name":"getTons","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getTons2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getString","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"getString2","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"getAddress","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}},{"name":"getAddress2","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}},{"name":"getCell","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}},{"name":"getCell2","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}},{"name":"getPow","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getPow2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getComment","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}},{"name":"getHash","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getHash2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getHash3","arguments":[{"name":"src","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getHash4","arguments":[{"name":"src","type":{"kind":"simple","type":"string","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.code.boc b/src/test/features/output/intrinsics_IntrinsicsTester.code.boc deleted file mode 100644 index d08019cc0..000000000 Binary files a/src/test/features/output/intrinsics_IntrinsicsTester.code.boc and /dev/null differ diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.code.boc.html b/src/test/features/output/intrinsics_IntrinsicsTester.code.boc.html deleted file mode 100644 index eac1c5ae7..000000000 --- a/src/test/features/output/intrinsics_IntrinsicsTester.code.boc.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_67571;
-            ..DECLPROC ?fun_72025;
-            ..DECLPROC ?fun_83057;
-            ..DECLPROC ?fun_85126;
-            ..DECLPROC ?fun_92025;
-            ..DECLPROC ?fun_93948;
-            ..DECLPROC ?fun_94033;
-            ..DECLPROC ?fun_97624;
-            ..DECLPROC ?fun_100879;
-            ..DECLPROC ?fun_103926;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC ?fun_116303;
-            ..DECLPROC ?fun_120167;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_123179;
-            ..DECLPROC ?fun_125641;
-            ..DECLPROC ?fun_129768;
-            ..DECLPROC ?fun_ref_0f78ee7dd9c216e1;
-            ..DECLPROC ?fun_ref_10c319ce0484d846;
-            ..DECLPROC ?fun_ref_14241cee25cebed9;
-            ..DECLPROC ?fun_ref_199822e1c46c2f01;
-            ..DECLPROC ?fun_ref_1f80af57b960bf64;
-            ..DECLPROC ?fun_ref_3aa80090bd8ead0e;
-            ..DECLPROC ?fun_ref_405b7de3a2e51455;
-            ..DECLPROC ?fun_ref_40d98146a47dbe3b;
-            ..DECLPROC ?fun_ref_44086a5ce86162fe;
-            ..DECLPROC ?fun_ref_4c55ea3340c0b03d;
-            ..DECLPROC ?fun_ref_6326faa87beffd08;
-            ..DECLPROC ?fun_ref_68d958ec4b3ea080;
-            ..DECLPROC ?fun_ref_ad3b9f474693db96;
-            ..DECLPROC ?fun_ref_b2f99ae1a1dd4dfb;
-            ..DECLPROC ?fun_ref_b347d9c3ebd197d4;
-            ..DECLPROC ?fun_ref_f143e008d412b9db;
-            ..DECLPROC ?fun_ref_fe46781d03e60344;
-            x2..recv_internal PROC:<{
-            18x2....s0 s1 XCHG
-            118x2....CTOS
-            26x2....4 LDU
-            18x2....s0 s1 XCHG
-            18x2....1 PUSHINT
-            18x2....AND
-            18x2....-1 MULCONST
-            18x2....s0 s1 XCHG
-            26x2....LDMSGADDR
-            18x2....s0 s1 XCHG
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            34x2....137 THROWIF
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            34x2....s0 s6 s4 PUXCPU
-            18x2....s0 s3 XCHG
-            30x2....4 TUPLE
-            28x2....1 SETGLOBVAR
-            18x2....s0 s2 XCHG
-            29x2....2 SETGLOBVAR
-            126x2....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            26x2....2 6 BLKSWAP
-            126x2....?fun_ref_68d958ec4b3ea080 INLINECALLDICT
-            34x2....130 THROWIFNOT
-            18x2....NEWC
-            26x2....3 GETGLOBVAR
-            18x2....s0 s1 XCHG
-            18x2....STREF
-            18x2....-1 PUSHINT
-            18x2....s0 s1 XCHG
-            26x2....1 STI
-            26x2....6 1 BLKSWAP
-            26x2....s5 s6 XCHG2
-            34x2....257 PUSHINT
-            26x2....STIX
-            18x2....NEWC
-            26x2....s0 s4 XCHG2
-            26x2....STSLICER
-            518x2....ENDC
-            26x2....s0 s3 XCHG2
-            18x2....STREF
-            18x2....s0 s1 XCHG
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            34x2....137 THROWIF
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            26x2....STSLICER
-            18x2....STREF
-            34x2....257 PUSHINT
-            26x2....STIX
-            18x2....s0 s1 XCHG
-            18x2....NEWC
-            34x2....257 PUSHINT
-            26x2....STIX
-            518x2....ENDC
-            18x2....s0 s1 XCHG
-            18x2....STREF
-            518x2....ENDC
-            26x2....c4 POP
-            x2..}>
-            x1..?fun_67571 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_ad3b9f474693db96 INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_72025 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_6326faa87beffd08 INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_83057 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_405b7de3a2e51455 INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_85126 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_4c55ea3340c0b03d INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_92025 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_44086a5ce86162fe INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_93948 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_199822e1c46c2f01 INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_94033 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_97624 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_0f78ee7dd9c216e1 INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_100879 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            26x1....1 6 BLKSWAP
-            126x1....?fun_ref_1f80af57b960bf64 INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_103926 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_10c319ce0484d846 INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            x1..?fun_116303 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_f143e008d412b9db INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_120167 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_3aa80090bd8ead0e INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D6347316661596D7970744548665334737A346163696A647733436A7A346B33506E6E7A66547052666263445A82_} PUSHSLICE
-            ..}>
-            x1..?fun_123179 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_b347d9c3ebd197d4 INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_125641 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            126x1....?fun_ref_40d98146a47dbe3b INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_129768 PROC:<{
-            126x1....?fun_ref_fe46781d03e60344 INLINECALLDICT
-            26x1....1 6 BLKSWAP
-            126x1....?fun_ref_1f80af57b960bf64 INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x1..}>
-            x1..?fun_ref_0f78ee7dd9c216e1 PROCREF:<{
-            22x1....x{48656C6C6F20776F726C648} PUSHSLICE
-            x1..}>
-            x2..?fun_ref_10c319ce0484d846 PROCREF:<{
-            18x2....s3 PUSH
-            x2..}>
-            x1..?fun_ref_14241cee25cebed9 PROCREF:<{
-            23x1....10123400000 PUSHINT
-            22x1....x{48656C6C6F20776F726C648} PUSHSLICE
-            28x1....x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE
-            18x1....x{48656C6C6F20776F726C6421} PUSHREF
-            26x1....9 PUSHPOW2
-            23x1....83814198383102558219731078260892729932246618004265700685467928187377105751529 PUSHINT
-            x1..}>
-            x1..?fun_ref_199822e1c46c2f01 PROCREF:<{
-            26x1....9 PUSHPOW2
-            x1..}>
-            x2..?fun_ref_1f80af57b960bf64 PROCREF:<{
-            26x2....SHA256U
-            x2..}>
-            x1..?fun_ref_3aa80090bd8ead0e PROCREF:<{
-            23x1....83814198383102558219731078260892729932246618004265700685467928187377105751529 PUSHINT
-            x1..}>
-            x1..?fun_ref_405b7de3a2e51455 PROCREF:<{
-            18x1....x{48656C6C6F20776F726C6421} PUSHREF
-            x1..}>
-            x7..?fun_ref_40d98146a47dbe3b PROCREF:<{
-            18x7....s0 PUSH
-            x7..}>
-            x5..?fun_ref_44086a5ce86162fe PROCREF:<{
-            18x5....s1 PUSH
-            x5..}>
-            x1..?fun_ref_4c55ea3340c0b03d PROCREF:<{
-            23x1....10123400000 PUSHINT
-            x1..}>
-            x2..?fun_ref_6326faa87beffd08 PROCREF:<{
-            18x2....s5 PUSH
-            x2..}>
-            x2..?fun_ref_68d958ec4b3ea080 PROCREF:<{
-            26x2....2 SAVE
-            26x2....SAMEALTSAVE
-            18x2....s0 s1 XCHG
-            18x2....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x2....}> PUSHCONT
-            18x2....IFJMP
-            18x2....0 PUSHINT
-            18x2....s1 PUSH
-            26x2....SBITS
-            26x2....31 GTINT
-            18x2....<{
-            18x2......s0 POP
-            18x2......s0 PUSH
-            34x2......32 PLDU
-            18x2....}> PUSHCONT
-            18x2....IF
-            26x2....0 EQINT
-            18x2....<{
-            ......s0 POP
-            18x2....}> PUSHCONT
-            126x2....<{
-            526x2......HASHSU
-            18x2......s0 PUSH
-            23x2......60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT
-            18x2......EQUAL
-            18x2......<{
-            18x1........s0 POP
-            18x1........-1 PUSHINT
-            26x1........RETFALSE
-            18x2......}> PUSHCONT
-            18x2......IFJMP
-            23x1......37050884901759915338437282997942222306459819050362497402689035064755329816285 PUSHINT
-            18x1......EQUAL
-            26x1......<{
-            18x1........x{0000000048656C6C6F20776F726C64} PUSHREF
-            18x1........NEWC
-            23x1........15211807202738752817960438464513 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........104 STU
-            18x1........STREF
-            518x1........ENDC
-            18x1........0 PUSHINT
-            526x1........SENDRAWMSG
-            18x1........-1 PUSHINT
-            26x1........RETFALSE
-            26x1......}> PUSHCONT
-            18x1......IFJMP
-            126x2....}> IFREFELSE
-            ....0 PUSHINT
-            x2..}>
-            x1..?fun_ref_ad3b9f474693db96 PROCREF:<{
-            28x1....x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE
-            x1..}>
-            x7..?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{
-            18x7....s2 PUSH
-            x7..}>
-            x3..?fun_ref_b347d9c3ebd197d4 PROCREF:<{
-            18x3....s4 PUSH
-            x3..}>
-            x1..?fun_ref_f143e008d412b9db PROCREF:<{
-            18x1....x{0000000048656C6C6F20776F726C64} PUSHREF
-            x1..}>
-            x17..?fun_ref_fe46781d03e60344 PROCREF:<{
-            26x17....c4 PUSH
-            118x17....CTOS
-            18x17....LDREF
-            18x17....s0 s1 XCHG
-            30x17....3 SETGLOBVAR
-            26x17....1 LDI
-            18x17....s0 s1 XCHG
-            26x17....<{
-            34x16......257 PUSHINT
-            26x16......LDIX
-            18x16......LDREF
-            18x16......s0 s1 XCHG
-            118x16......CTOS
-            18x16......s0 s1 XCHG
-            26x16......LDMSGADDR
-            18x16......s0 s1 XCHG
-            18x16......s0 PUSH
-            26x16......SBITS
-            34x16......267 PUSHINT
-            18x16......EQUAL
-            34x16......136 THROWIFNOT
-            18x16......s0 PUSH
-            34x16......11 PLDU
-            18x16......s0 PUSH
-            34x16......1279 PUSHINT
-            18x16......EQUAL
-            34x16......137 THROWIF
-            26x16......10 PUSHPOW2
-            18x16......EQUAL
-            34x16......136 THROWIFNOT
-            18x16......s0 s1 XCHG
-            18x16......LDREF
-            34x16......257 PUSHINT
-            26x16......LDIX
-            18x16......LDREF
-            18x16......s0 s1 XCHG
-            118x16......CTOS
-            34x16......257 PUSHINT
-            26x16......LDIX
-            18x16......s0 POP
-            18x16......s1 s6 XCHG
-            18x16......s1 s5 XCHG
-            18x16......s1 s4 XCHG
-            26x16......s3 s3 s0 XCHG3
-            26x16......1 6 BLKDROP2
-            26x17....}> PUSHCONT
-            18x17....IFJMP
-            18x1....s0 POP
-            26x1....MYADDR
-            34x1....11 PLDU
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....137 THROWIFNOT
-            126x1....?fun_ref_14241cee25cebed9 INLINECALLDICT
-            x17..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.code.fc b/src/test/features/output/intrinsics_IntrinsicsTester.code.fc deleted file mode 100644 index f3f697b48..000000000 --- a/src/test/features/output/intrinsics_IntrinsicsTester.code.fc +++ /dev/null @@ -1,281 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "intrinsics_IntrinsicsTester.headers.fc"; -#include "intrinsics_IntrinsicsTester.stdlib.fc"; -#include "intrinsics_IntrinsicsTester.constants.fc"; -#include "intrinsics_IntrinsicsTester.storage.fc"; - -;; -;; Contract IntrinsicsTester functions -;; - -(int, slice, slice, cell, int, int) $IntrinsicsTester$_contract_init() impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = (10123400000, __gen_slice_string_fddd37b8318ce351584ce13d887b2bdfd89a245250fa3ccc433cc820d90bcae1(), __gen_slice_address_58e2d2fc9446d00e70b3ad3ea1eb88797c323bae517f2527f807f62d09a56fdc(), __gen_cell_cell_be033138a8e284b3da1cee56e92447de2368f6431d64a3c6fe4db3183aeb9c36(), 512, 83814198383102558219731078260892729932246618004265700685467928187377105751529); - return ($self'a, $self'b, $self'c, $self'd, $self'e, $self'f); -} - -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getTons((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), 10123400000); -} - -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getTons2((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'a); -} - -((int, slice, slice, cell, int, int), slice) $IntrinsicsTester$_fun_getString((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), __gen_slice_string_fddd37b8318ce351584ce13d887b2bdfd89a245250fa3ccc433cc820d90bcae1()); -} - -((int, slice, slice, cell, int, int), slice) $IntrinsicsTester$_fun_getString2((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'b); -} - -((int, slice, slice, cell, int, int), slice) $IntrinsicsTester$_fun_getAddress((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), __gen_slice_address_58e2d2fc9446d00e70b3ad3ea1eb88797c323bae517f2527f807f62d09a56fdc()); -} - -((int, slice, slice, cell, int, int), slice) $IntrinsicsTester$_fun_getAddress2((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'c); -} - -((int, slice, slice, cell, int, int), cell) $IntrinsicsTester$_fun_getCell((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), __gen_cell_cell_be033138a8e284b3da1cee56e92447de2368f6431d64a3c6fe4db3183aeb9c36()); -} - -((int, slice, slice, cell, int, int), cell) $IntrinsicsTester$_fun_getCell2((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'd); -} - -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getPow((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), 512); -} - -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getPow2((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'e); -} - -((int, slice, slice, cell, int, int), cell) $IntrinsicsTester$_fun_getComment((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), __gen_cell_comment_947a54d50e20851945ec9cfe3440edd107efea5a57acbc50214c6c44631a8a45()); -} - -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getHash((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), 83814198383102558219731078260892729932246618004265700685467928187377105751529); -} - -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getHash2((int, slice, slice, cell, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'f); -} - -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getHash3((int, slice, slice, cell, int, int) $self, slice $src) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), string_hash($src)); -} - -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getHash4((int, slice, slice, cell, int, int) $self, slice $src) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), string_hash($src)); -} - -;; -;; Receivers of a Contract IntrinsicsTester -;; - -((int, slice, slice, cell, int, int), ()) $IntrinsicsTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246((int, slice, slice, cell, int, int) $self) impure inline { - var ($self'a, $self'b, $self'c, $self'd, $self'e, $self'f) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), ()); -} - -((int, slice, slice, cell, int, int), ()) $IntrinsicsTester$_internal_text_51ea0ec5a90299f616966ef215cadec5a82ff175f8d6ea7e74c22456c9f5d6dd((int, slice, slice, cell, int, int) $self) impure inline { - var ($self'a, $self'b, $self'c, $self'd, $self'e, $self'f) = $self; - $global_emit(__gen_cell_comment_947a54d50e20851945ec9cfe3440edd107efea5a57acbc50214c6c44631a8a45()); - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), ()); -} - -;; -;; Get methods of a Contract IntrinsicsTester -;; - -_ %getTons() method_id(85126) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getTons(); - return res; -} - -_ %getTons2() method_id(72025) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getTons2(); - return res; -} - -_ %getString() method_id(97624) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getString(); - return res; -} - -_ %getString2() method_id(123179) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getString2(); - return res; -} - -_ %getAddress() method_id(67571) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getAddress(); - return res; -} - -_ %getAddress2() method_id(103926) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getAddress2(); - return res; -} - -_ %getCell() method_id(83057) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getCell(); - return res; -} - -_ %getCell2() method_id(94033) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getCell2(); - return res; -} - -_ %getPow() method_id(93948) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getPow(); - return res; -} - -_ %getPow2() method_id(92025) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getPow2(); - return res; -} - -_ %getComment() method_id(116303) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getComment(); - return res; -} - -_ %getHash() method_id(120167) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getHash(); - return res; -} - -_ %getHash2() method_id(125641) { - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getHash2(); - return res; -} - -_ %getHash3(slice $$src) method_id(129768) { - slice $src = $$src; - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getHash3($src); - return res; -} - -_ %getHash4(slice $$src) method_id(100879) { - slice $src = $$src; - var self = $IntrinsicsTester$_contract_load(); - var res = self~$IntrinsicsTester$_fun_getHash4($src); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmcG1faYmyptEHfS4sz4acijdw3Cjz4k3PnnzfTpRfbcDZ"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract IntrinsicsTester -;; - -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_contract_router_internal((int, slice, slice, cell, int, int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Deploy" message - if (text_op == 0x85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246) { - self~$IntrinsicsTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246(); - return (self, true); - } - - ;; Receive "emit_1" message - if (text_op == 0x51ea0ec5a90299f616966ef215cadec5a82ff175f8d6ea7e74c22456c9f5d6dd) { - self~$IntrinsicsTester$_internal_text_51ea0ec5a90299f616966ef215cadec5a82ff175f8d6ea7e74c22456c9f5d6dd(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $IntrinsicsTester$_contract_load(); - - ;; Handle operation - int handled = self~$IntrinsicsTester$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $IntrinsicsTester$_contract_store(self); -} diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.code.fif b/src/test/features/output/intrinsics_IntrinsicsTester.code.fif deleted file mode 100644 index 2e3267efa..000000000 --- a/src/test/features/output/intrinsics_IntrinsicsTester.code.fif +++ /dev/null @@ -1,383 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC $IntrinsicsTester$_store - DECLPROC $IntrinsicsTester$_load - DECLPROC $IntrinsicsTester$_contract_init - DECLPROC $IntrinsicsTester$_contract_load - DECLPROC $IntrinsicsTester$_contract_store - DECLPROC $global_emit - DECLPROC $IntrinsicsTester$_fun_getTons - DECLPROC $IntrinsicsTester$_fun_getTons2 - DECLPROC $IntrinsicsTester$_fun_getString - DECLPROC $IntrinsicsTester$_fun_getString2 - DECLPROC $IntrinsicsTester$_fun_getAddress - DECLPROC $IntrinsicsTester$_fun_getAddress2 - DECLPROC $IntrinsicsTester$_fun_getCell - DECLPROC $IntrinsicsTester$_fun_getCell2 - DECLPROC $IntrinsicsTester$_fun_getPow - DECLPROC $IntrinsicsTester$_fun_getPow2 - DECLPROC $IntrinsicsTester$_fun_getComment - DECLPROC $IntrinsicsTester$_fun_getHash - DECLPROC $IntrinsicsTester$_fun_getHash2 - DECLPROC $IntrinsicsTester$_fun_getHash3 - DECLPROC $IntrinsicsTester$_fun_getHash4 - DECLPROC $IntrinsicsTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 - DECLPROC $IntrinsicsTester$_internal_text_51ea0ec5a90299f616966ef215cadec5a82ff175f8d6ea7e74c22456c9f5d6dd - 85126 DECLMETHOD %getTons - 72025 DECLMETHOD %getTons2 - 97624 DECLMETHOD %getString - 123179 DECLMETHOD %getString2 - 67571 DECLMETHOD %getAddress - 103926 DECLMETHOD %getAddress2 - 83057 DECLMETHOD %getCell - 94033 DECLMETHOD %getCell2 - 93948 DECLMETHOD %getPow - 92025 DECLMETHOD %getPow2 - 116303 DECLMETHOD %getComment - 120167 DECLMETHOD %getHash - 125641 DECLMETHOD %getHash2 - 129768 DECLMETHOD %getHash3 - 100879 DECLMETHOD %getHash4 - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $IntrinsicsTester$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - $IntrinsicsTester$_store PROCINLINE:<{ - s5 s6 XCHG2 - 257 PUSHINT - STIX - NEWC - s0 s4 XCHG2 - STSLICER - ENDC - s0 s3 XCHG2 - STREF - SWAP - __tact_store_address INLINECALLDICT - STREF - 257 PUSHINT - STIX - SWAP - NEWC - 257 PUSHINT - STIX - ENDC - SWAP - STREF - }> - $IntrinsicsTester$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - LDREF - SWAP - CTOS - SWAP - __tact_load_address INLINECALLDICT - SWAP - LDREF - 257 PUSHINT - LDIX - LDREF - SWAP - CTOS - 257 PUSHINT - LDIX - DROP - s1 s6 XCHG - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - $IntrinsicsTester$_contract_init PROCREF:<{ - 10123400000 PUSHINT - B{b5ee9c7241010101000d00001648656c6c6f20776f726c64ae013d34} B>boc boc boc PUSHREF - 9 PUSHPOW2 - 83814198383102558219731078260892729932246618004265700685467928187377105751529 PUSHINT - }> - $IntrinsicsTester$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $IntrinsicsTester$_load INLINECALLDICT - 1 6 BLKDROP2 - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $IntrinsicsTester$_contract_init INLINECALLDICT - }> - $IntrinsicsTester$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 6 -ROLL - $IntrinsicsTester$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_emit PROCINLINE:<{ - NEWC - 15211807202738752817960438464513 PUSHINT - SWAP - 104 STU - STREF - ENDC - 0 PUSHINT - SENDRAWMSG - }> - $IntrinsicsTester$_fun_getTons PROCREF:<{ - 10123400000 PUSHINT - }> - $IntrinsicsTester$_fun_getTons2 PROCREF:<{ - s5 PUSH - }> - $IntrinsicsTester$_fun_getString PROCREF:<{ - B{b5ee9c7241010101000d00001648656c6c6f20776f726c64ae013d34} B>boc - $IntrinsicsTester$_fun_getString2 PROCREF:<{ - s4 PUSH - }> - $IntrinsicsTester$_fun_getAddress PROCREF:<{ - B{b5ee9c7241010101002400004380107bfaaa5cc6e5368e5f9799188bd798cd22e04ab16d1d8ea4fc37480741e6351064a3e1a6} B>boc - $IntrinsicsTester$_fun_getAddress2 PROCREF:<{ - s3 PUSH - }> - $IntrinsicsTester$_fun_getCell PROCREF:<{ - B{b5ee9c7241010101000e00001848656c6c6f20776f726c6421782dc5bc} B>boc PUSHREF - }> - $IntrinsicsTester$_fun_getCell2 PROCREF:<{ - s2 PUSH - }> - $IntrinsicsTester$_fun_getPow PROCREF:<{ - 9 PUSHPOW2 - }> - $IntrinsicsTester$_fun_getPow2 PROCREF:<{ - OVER - }> - $IntrinsicsTester$_fun_getComment PROCREF:<{ - B{b5ee9c7241010101001100001e0000000048656c6c6f20776f726c64f5e7b6c8} B>boc PUSHREF - }> - $IntrinsicsTester$_fun_getHash PROCREF:<{ - 83814198383102558219731078260892729932246618004265700685467928187377105751529 PUSHINT - }> - $IntrinsicsTester$_fun_getHash2 PROCREF:<{ - DUP - }> - $IntrinsicsTester$_fun_getHash3 PROCREF:<{ - SHA256U - }> - $IntrinsicsTester$_fun_getHash4 PROCREF:<{ - SHA256U - }> - $IntrinsicsTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 PROCINLINE:<{ - }> - $IntrinsicsTester$_internal_text_51ea0ec5a90299f616966ef215cadec5a82ff175f8d6ea7e74c22456c9f5d6dd PROCINLINE:<{ - B{b5ee9c7241010101001100001e0000000048656c6c6f20776f726c64f5e7b6c8} B>boc PUSHREF - $global_emit INLINECALLDICT - }> - %getTons PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getTons INLINECALLDICT - 6 1 BLKDROP2 - }> - %getTons2 PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getTons2 INLINECALLDICT - 6 1 BLKDROP2 - }> - %getString PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getString INLINECALLDICT - 6 1 BLKDROP2 - }> - %getString2 PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getString2 INLINECALLDICT - 6 1 BLKDROP2 - }> - %getAddress PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getAddress INLINECALLDICT - 6 1 BLKDROP2 - }> - %getAddress2 PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getAddress2 INLINECALLDICT - 6 1 BLKDROP2 - }> - %getCell PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getCell INLINECALLDICT - 6 1 BLKDROP2 - }> - %getCell2 PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getCell2 INLINECALLDICT - 6 1 BLKDROP2 - }> - %getPow PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getPow INLINECALLDICT - 6 1 BLKDROP2 - }> - %getPow2 PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getPow2 INLINECALLDICT - 6 1 BLKDROP2 - }> - %getComment PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getComment INLINECALLDICT - 6 1 BLKDROP2 - }> - %getHash PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getHash INLINECALLDICT - 6 1 BLKDROP2 - }> - %getHash2 PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - $IntrinsicsTester$_fun_getHash2 INLINECALLDICT - 6 1 BLKDROP2 - }> - %getHash3 PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - 6 ROLL - $IntrinsicsTester$_fun_getHash3 INLINECALLDICT - 6 1 BLKDROP2 - }> - %getHash4 PROC:<{ - $IntrinsicsTester$_contract_load INLINECALLDICT - 6 ROLL - $IntrinsicsTester$_fun_getHash4 INLINECALLDICT - 6 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d6347316661596d7970744548665334737a346163696a647733436a7a346b33506e6e7a66547052666263445a} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $IntrinsicsTester$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 0 EQINT - IF:<{ - HASHSU - DUP - 60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT - EQUAL - IFJMP:<{ - DROP - $IntrinsicsTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 INLINECALLDICT - TRUE - RETALT - }> - 37050884901759915338437282997942222306459819050362497402689035064755329816285 PUSHINT - EQUAL - IFJMP:<{ - $IntrinsicsTester$_internal_text_51ea0ec5a90299f616966ef215cadec5a82ff175f8d6ea7e74c22456c9f5d6dd INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $IntrinsicsTester$_contract_load INLINECALLDICT - 2 6 BLKSWAP - $IntrinsicsTester$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $IntrinsicsTester$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.code.rev.fif b/src/test/features/output/intrinsics_IntrinsicsTester.code.rev.fif deleted file mode 100644 index 6e00f3988..000000000 --- a/src/test/features/output/intrinsics_IntrinsicsTester.code.rev.fif +++ /dev/null @@ -1,371 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_67571; - DECLPROC ?fun_72025; - DECLPROC ?fun_83057; - DECLPROC ?fun_85126; - DECLPROC ?fun_92025; - DECLPROC ?fun_93948; - DECLPROC ?fun_94033; - DECLPROC ?fun_97624; - DECLPROC ?fun_100879; - DECLPROC ?fun_103926; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC ?fun_116303; - DECLPROC ?fun_120167; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_123179; - DECLPROC ?fun_125641; - DECLPROC ?fun_129768; - DECLPROC ?fun_ref_0f78ee7dd9c216e1; - DECLPROC ?fun_ref_10c319ce0484d846; - DECLPROC ?fun_ref_14241cee25cebed9; - DECLPROC ?fun_ref_199822e1c46c2f01; - DECLPROC ?fun_ref_1f80af57b960bf64; - DECLPROC ?fun_ref_3aa80090bd8ead0e; - DECLPROC ?fun_ref_405b7de3a2e51455; - DECLPROC ?fun_ref_40d98146a47dbe3b; - DECLPROC ?fun_ref_44086a5ce86162fe; - DECLPROC ?fun_ref_4c55ea3340c0b03d; - DECLPROC ?fun_ref_6326faa87beffd08; - DECLPROC ?fun_ref_68d958ec4b3ea080; - DECLPROC ?fun_ref_ad3b9f474693db96; - DECLPROC ?fun_ref_b2f99ae1a1dd4dfb; - DECLPROC ?fun_ref_b347d9c3ebd197d4; - DECLPROC ?fun_ref_f143e008d412b9db; - DECLPROC ?fun_ref_fe46781d03e60344; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_fe46781d03e60344 INLINECALLDICT - 2 6 BLKSWAP - ?fun_ref_68d958ec4b3ea080 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 6 1 BLKSWAP - s5 s6 XCHG2 - 257 PUSHINT - STIX - NEWC - s0 s4 XCHG2 - STSLICER - ENDC - s0 s3 XCHG2 - STREF - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - STREF - 257 PUSHINT - STIX - s0 s1 XCHG - NEWC - 257 PUSHINT - STIX - ENDC - s0 s1 XCHG - STREF - ENDC - c4 POP - }> - ?fun_67571 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_ad3b9f474693db96 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_72025 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_6326faa87beffd08 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_83057 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_405b7de3a2e51455 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_85126 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_4c55ea3340c0b03d INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_92025 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_44086a5ce86162fe INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_93948 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_199822e1c46c2f01 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_94033 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_97624 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_0f78ee7dd9c216e1 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_100879 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - 1 6 BLKSWAP - ?fun_ref_1f80af57b960bf64 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_103926 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_10c319ce0484d846 INLINECALLDICT - 6 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - ?fun_116303 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_f143e008d412b9db INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_120167 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_3aa80090bd8ead0e INLINECALLDICT - 6 1 BLKDROP2 - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D6347316661596D7970744548665334737A346163696A647733436A7A346B33506E6E7A66547052666263445A82_} PUSHSLICE - }> - ?fun_123179 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_b347d9c3ebd197d4 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_125641 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - ?fun_ref_40d98146a47dbe3b INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_129768 PROC:<{ - ?fun_ref_fe46781d03e60344 INLINECALLDICT - 1 6 BLKSWAP - ?fun_ref_1f80af57b960bf64 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_ref_0f78ee7dd9c216e1 PROCREF:<{ - x{48656C6C6F20776F726C648} PUSHSLICE - }> - ?fun_ref_10c319ce0484d846 PROCREF:<{ - s3 PUSH - }> - ?fun_ref_14241cee25cebed9 PROCREF:<{ - 10123400000 PUSHINT - x{48656C6C6F20776F726C648} PUSHSLICE - x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE - x{48656C6C6F20776F726C6421} PUSHREF - 9 PUSHPOW2 - 83814198383102558219731078260892729932246618004265700685467928187377105751529 PUSHINT - }> - ?fun_ref_199822e1c46c2f01 PROCREF:<{ - 9 PUSHPOW2 - }> - ?fun_ref_1f80af57b960bf64 PROCREF:<{ - SHA256U - }> - ?fun_ref_3aa80090bd8ead0e PROCREF:<{ - 83814198383102558219731078260892729932246618004265700685467928187377105751529 PUSHINT - }> - ?fun_ref_405b7de3a2e51455 PROCREF:<{ - x{48656C6C6F20776F726C6421} PUSHREF - }> - ?fun_ref_40d98146a47dbe3b PROCREF:<{ - s0 PUSH - }> - ?fun_ref_44086a5ce86162fe PROCREF:<{ - s1 PUSH - }> - ?fun_ref_4c55ea3340c0b03d PROCREF:<{ - 10123400000 PUSHINT - }> - ?fun_ref_6326faa87beffd08 PROCREF:<{ - s5 PUSH - }> - ?fun_ref_68d958ec4b3ea080 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 0 EQINT - <{ - s0 POP - }> PUSHCONT - <{ - HASHSU - s0 PUSH - 60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT - EQUAL - <{ - s0 POP - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - 37050884901759915338437282997942222306459819050362497402689035064755329816285 PUSHINT - EQUAL - <{ - x{0000000048656C6C6F20776F726C64} PUSHREF - NEWC - 15211807202738752817960438464513 PUSHINT - s0 s1 XCHG - 104 STU - STREF - ENDC - 0 PUSHINT - SENDRAWMSG - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> IFREFELSE - 0 PUSHINT - }> - ?fun_ref_ad3b9f474693db96 PROCREF:<{ - x{80107BFAAA5CC6E5368E5F9799188BD798CD22E04AB16D1D8EA4FC37480741E63512_} PUSHSLICE - }> - ?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{ - s2 PUSH - }> - ?fun_ref_b347d9c3ebd197d4 PROCREF:<{ - s4 PUSH - }> - ?fun_ref_f143e008d412b9db PROCREF:<{ - x{0000000048656C6C6F20776F726C64} PUSHREF - }> - ?fun_ref_fe46781d03e60344 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDREF - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - s0 POP - s1 s6 XCHG - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - 1 6 BLKDROP2 - }> PUSHCONT - IFJMP - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_14241cee25cebed9 INLINECALLDICT - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.constants.fc b/src/test/features/output/intrinsics_IntrinsicsTester.constants.fc deleted file mode 100644 index 9e2901c39..000000000 --- a/src/test/features/output/intrinsics_IntrinsicsTester.constants.fc +++ /dev/null @@ -1,11 +0,0 @@ -;; String "Hello world" -slice __gen_slice_string_fddd37b8318ce351584ce13d887b2bdfd89a245250fa3ccc433cc820d90bcae1() asm "B{b5ee9c7241010101000d00001648656c6c6f20776f726c64ae013d34} B>boc boc boc PUSHREF"; - -;; Comment "Hello world" -cell __gen_cell_comment_947a54d50e20851945ec9cfe3440edd107efea5a57acbc50214c6c44631a8a45() asm "B{b5ee9c7241010101001100001e0000000048656c6c6f20776f726c64f5e7b6c8} B>boc PUSHREF"; \ No newline at end of file diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.headers.fc b/src/test/features/output/intrinsics_IntrinsicsTester.headers.fc deleted file mode 100644 index 382bf1d10..000000000 --- a/src/test/features/output/intrinsics_IntrinsicsTester.headers.fc +++ /dev/null @@ -1,76 +0,0 @@ -;; -;; Header files for IntrinsicsTester -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; $IntrinsicsTester$_store -builder $IntrinsicsTester$_store(builder build_0, (int, slice, slice, cell, int, int) v) inline; - -;; $IntrinsicsTester$_load -(slice, ((int, slice, slice, cell, int, int))) $IntrinsicsTester$_load(slice sc_0) inline; - -;; $IntrinsicsTester$_contract_init -(int, slice, slice, cell, int, int) $IntrinsicsTester$_contract_init() impure inline_ref; - -;; $IntrinsicsTester$_contract_load -(int, slice, slice, cell, int, int) $IntrinsicsTester$_contract_load() impure inline_ref; - -;; $IntrinsicsTester$_contract_store -() $IntrinsicsTester$_contract_store((int, slice, slice, cell, int, int) v) impure inline; - -;; $global_emit -() $global_emit(cell $body) impure inline; - -;; $IntrinsicsTester$_fun_getTons -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getTons((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getTons2 -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getTons2((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getString -((int, slice, slice, cell, int, int), slice) $IntrinsicsTester$_fun_getString((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getString2 -((int, slice, slice, cell, int, int), slice) $IntrinsicsTester$_fun_getString2((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getAddress -((int, slice, slice, cell, int, int), slice) $IntrinsicsTester$_fun_getAddress((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getAddress2 -((int, slice, slice, cell, int, int), slice) $IntrinsicsTester$_fun_getAddress2((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getCell -((int, slice, slice, cell, int, int), cell) $IntrinsicsTester$_fun_getCell((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getCell2 -((int, slice, slice, cell, int, int), cell) $IntrinsicsTester$_fun_getCell2((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getPow -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getPow((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getPow2 -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getPow2((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getComment -((int, slice, slice, cell, int, int), cell) $IntrinsicsTester$_fun_getComment((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getHash -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getHash((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getHash2 -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getHash2((int, slice, slice, cell, int, int) $self) impure inline_ref; - -;; $IntrinsicsTester$_fun_getHash3 -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getHash3((int, slice, slice, cell, int, int) $self, slice $src) impure inline_ref; - -;; $IntrinsicsTester$_fun_getHash4 -((int, slice, slice, cell, int, int), int) $IntrinsicsTester$_fun_getHash4((int, slice, slice, cell, int, int) $self, slice $src) impure inline_ref; diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.md b/src/test/features/output/intrinsics_IntrinsicsTester.md deleted file mode 100644 index efe3a8875..000000000 --- a/src/test/features/output/intrinsics_IntrinsicsTester.md +++ /dev/null @@ -1,79 +0,0 @@ -# TACT Compilation Report -Contract: IntrinsicsTester -BOC Size: 1117 bytes - -# Types -Total Types: 3 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -# Get Methods -Total Get Methods: 15 - -## getTons - -## getTons2 - -## getString - -## getString2 - -## getAddress - -## getAddress2 - -## getCell - -## getCell2 - -## getPow - -## getPow2 - -## getComment - -## getHash - -## getHash2 - -## getHash3 -Argument: src - -## getHash4 -Argument: src - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.pkg b/src/test/features/output/intrinsics_IntrinsicsTester.pkg deleted file mode 100644 index 553e7d837..000000000 --- a/src/test/features/output/intrinsics_IntrinsicsTester.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"IntrinsicsTester","code":"te6ccgECOwEABFEAART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVFds88uCCNwQFAgEgBwgBOu2i7fsBkjB/4HAh10nCH5UwINcLH97AAJEw4w1wBgCayPhDAcx/AcoAVVBQVoEBAc8AyFAEzxbJUAPMASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsyBAQHPAAHIgQEBzwDJAczJ7VQB3PkBIILwhdKIOEwAQ0WLAoA8siBZ9ogDxVPDZWNENGRo2slh8ka6lDB/2zHggvBR6g7FqQKZ9haWbvIVyt7FqC/xdfjW6n50wiRWyfXW3bqOnIjIgljAAAAAAAAAAAAAAAABActnzMlw+wB/2zHgLQIBIAkKAgEgHyACAUgLDAIBIA8QAhGx/PbPNs8bGGA3DQIRslZ2zzbPGxhgNw4ASI0IYAQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRAACJQIBSBESAgEgFRYCEa447Z5tnjYwwDcTAhGuQ22ebZ42MMA3FAECiDoADIISW2bTQAIBIBcYAhGzVjbPNs8bGGA3HgIRr7ztnm2eNjDANxkCAW4aGwACIQIPo/Ns82zxsYY3HAIPoUds82zxsYY3HQAEgwgAAiIAGou0hlbGxvIHdvcmxkgCASAhIgIBICYnAgEgIyQAubd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4TsunLVmnZbmdB0s2yjN0UkAIVsoP2zxVBds8bGGA3OAIRsX22zzbPGxhgNyUAAiMCASAoKQIBIDEyAgFIKisCASAuLwAQqr7tRNDSAAECEKpP2zzbPGxhNywBAogtAB4AAAAASGVsbG8gd29ybGQCEa6z7Z5tnjYwwDcwAHWs3caGrS4MzmdF5eotrGjmLMwrLa8uDoipDMpmjm9GjCxtLUyO5mhtT0aNZmoNzc9Myo4KTMxMaItQQABEgvC5TSe5k00+CKUuUtfafav6xITv43pTgO6QiPes4u/N6QIBIDM0AhWyujbPFUF2zxsYYDc4AhGsle2ebZ42MMA3NQIRrWTtnm2eNjDANzYAAiQAAiABtO1E0NQB+GPSAAGOP4EBAdcA1AHQAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB1IEBAdcA1AHQgQEB1wAwFhUUQzBsFuAw+CjXCwqDCbry4InbPDkABPkCAbiCEltm00CLtIZWxsbyB3b3JsZIjQhgBB7+qpcxuU2jl+XmRiL15jNIuBKsW0djqT8N0gHQeY1EiIMIgvC5TSe5k00+CKUuUtfafav6xITv43pTgO6QiPes4u/N6ToAGEhlbGxvIHdvcmxkIQ==","abi":"{\"name\":\"IntrinsicsTester\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Deploy\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"emit_1\"}}],\"getters\":[{\"name\":\"getTons\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getTons2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getString\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"string\",\"optional\":false}},{\"name\":\"getString2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"string\",\"optional\":false}},{\"name\":\"getAddress\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"getAddress2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"getCell\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"getCell2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"getPow\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getPow2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getComment\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"getHash\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getHash2\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getHash3\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getHash4\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"string\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECPQEABFsAAQHAAQEFoOvtAgEU/wD0pBP0vPLICwMCAWI1BAIBIB4FAgEgFwYCASAOBwIBIAkIAhWyujbPFUF2zxsYYDodAgEgDAoCEa1k7Z5tnjYwwDoLAAIgAhGsle2ebZ42MMA6DQACJAIBIBMPAgEgERAAdazdxoatLgzOZ0Xl6i2saOYszCstry4OiKkMymaOb0aMLG0tTI7maG1PRo1mag3Nz0zKjgpMzExoi1BAAhGus+2ebZ42MMA6EgBEgvC5TSe5k00+CKUuUtfafav6xITv43pTgO6QiPes4u/N6QIBSBYUAhCqT9s82zxsYToVAQKIOQAQqr7tRNDSAAECASAZGAC5t3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAgEgHBoCEbF9ts82zxsYYDobAAIjAhWyg/bPFUF2zxsYYDodAAT5AgIBIDAfAgEgKyACASAjIQIRs1Y2zzbPGxhgOiIAGou0hlbGxvIHdvcmxkgCASApJAIBbiclAg+hR2zzbPGxhjomAAIiAg+j82zzbPGxhjooAASDCAIRr7ztnm2eNjDAOioAAiECAUguLAIRrkNtnm2eNjDAOi0ADIISW2bTQAIRrjjtnm2eNjDAOi8BAog8AgFIMzECEbJWds82zxsYYDoyAAIlAhGx/PbPNs8bGGA6NABIjQhgBB7+qpcxuU2jl+XmRiL15jNIuBKsW0djqT8N0gHQeY1EA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVFds88uCCOjc2AJrI+EMBzH8BygBVUFBWgQEBzwDIUATPFslQA8wBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WzIEBAc8AAciBAQHPAMkBzMntVAE67aLt+wGSMH/gcCHXScIflTAg1wsf3sAAkTDjDXA4Adz5ASCC8IXSiDhMAENFiwKAPLIgWfaIA8VTw2VjRDRkaNrJYfJGupQwf9sx4ILwUeoOxakCmfYWlm7yFcrexagv8XX41up+dMIkVsn11t26jpyIyIJYwAAAAAAAAAAAAAAAAQHLZ8zJcPsAf9sx4DkAHgAAAABIZWxsbyB3b3JsZAG07UTQ1AH4Y9IAAY4/gQEB1wDUAdAB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHUgQEB1wDUAdCBAQHXADAWFRRDMGwW4DD4KNcLCoMJuvLgids8OwG4ghJbZtNAi7SGVsbG8gd29ybGSI0IYAQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRIiDCILwuU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek8ABhIZWxsbyB3b3JsZCGSrrvk"}},"sources":{"src\\test\\features\\intrinsics.tact":"Y29udHJhY3QgSW50cmluc2ljc1Rlc3RlciB7DQoNCiAgICBhOiBJbnQgPSB0b24oIjEwLjEyMzQiKTsNCiAgICBiOiBTdHJpbmcgPSAiSGVsbG8gd29ybGQiOw0KICAgIGM6IEFkZHJlc3MgPSBhZGRyZXNzKCJFUUNEMzlWUzVqY3B0SEw4dk1qRVhyekdhUmNDVll0bzdIVW40YnBBT2c4eHFCMk4iKTsNCiAgICBkOiBDZWxsID0gY2VsbCgidGU2Y2NrRUJBUUVBRGdBQUdFaGxiR3h2SUhkdmNteGtJWGd0eGJ3PSIpOw0KICAgIGU6IEludCA9IHBvdygyLCA5KTsNCiAgICBmOiBJbnQgPSBzaGEyNTYoImhlbGxvIHdvcmxkIik7DQogICAgDQogICAgaW5pdCgpIHsNCg0KICAgIH0NCg0KICAgIHJlY2VpdmUoIkRlcGxveSIpIHsNCg0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0VG9ucygpOiBJbnQgew0KICAgICAgICByZXR1cm4gdG9uKCIxMC4xMjM0Iik7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBnZXRUb25zMigpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2VsZi5hOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0U3RyaW5nKCk6IFN0cmluZyB7DQogICAgICAgIHJldHVybiAiSGVsbG8gd29ybGQiOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0U3RyaW5nMigpOiBTdHJpbmcgew0KICAgICAgICByZXR1cm4gc2VsZi5iOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0QWRkcmVzcygpOiBBZGRyZXNzIHsNCiAgICAgICAgcmV0dXJuIGFkZHJlc3MoIkVRQ0QzOVZTNWpjcHRITDh2TWpFWHJ6R2FSY0NWWXRvN0hVbjRicEFPZzh4cUIyTiIpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0QWRkcmVzczIoKTogQWRkcmVzcyB7DQogICAgICAgIHJldHVybiBzZWxmLmM7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBnZXRDZWxsKCk6IENlbGwgew0KICAgICAgICByZXR1cm4gY2VsbCgidGU2Y2NrRUJBUUVBRGdBQUdFaGxiR3h2SUhkdmNteGtJWGd0eGJ3PSIpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0Q2VsbDIoKTogQ2VsbCB7DQogICAgICAgIHJldHVybiBzZWxmLmQ7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBnZXRQb3coKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHBvdygyLCA5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGdldFBvdzIoKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGdldENvbW1lbnQoKTogQ2VsbCB7DQogICAgICAgIHJldHVybiAiSGVsbG8gd29ybGQiLmFzQ29tbWVudCgpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0SGFzaCgpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2hhMjU2KCJoZWxsbyB3b3JsZCIpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0SGFzaDIoKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZjsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGdldEhhc2gzKHNyYzogU2xpY2UpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2hhMjU2KHNyYyk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBnZXRIYXNoNChzcmM6IFN0cmluZyk6IEludCB7DQogICAgICAgIHJldHVybiBzaGEyNTYoc3JjKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKCJlbWl0XzEiKSB7DQogICAgICAgIGVtaXQoIkhlbGxvIHdvcmxkIi5hc0NvbW1lbnQoKSk7DQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/intrinsics.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.stdlib.fc b/src/test/features/output/intrinsics_IntrinsicsTester.stdlib.fc deleted file mode 100644 index 31583075d..000000000 --- a/src/test/features/output/intrinsics_IntrinsicsTester.stdlib.fc +++ /dev/null @@ -1,26 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -() $global_emit(cell $body) impure inline { - cell $c = end_cell(store_ref(store_uint(begin_cell(), 15211807202738752817960438464513, 104), $body)); - send_raw_message($c, 0); -} \ No newline at end of file diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.storage.fc b/src/test/features/output/intrinsics_IntrinsicsTester.storage.fc deleted file mode 100644 index fce55505e..000000000 --- a/src/test/features/output/intrinsics_IntrinsicsTester.storage.fc +++ /dev/null @@ -1,48 +0,0 @@ -;; -;; Type: IntrinsicsTester -;; - -builder $IntrinsicsTester$_store(builder build_0, (int, slice, slice, cell, int, int) v) inline { - var (v'a, v'b, v'c, v'd, v'e, v'f) = v; - build_0 = build_0.store_int(v'a, 257); - build_0 = build_0.store_ref(begin_cell().store_slice(v'b).end_cell()); - build_0 = __tact_store_address(build_0, v'c); - build_0 = build_0.store_ref(v'd); - build_0 = build_0.store_int(v'e, 257); - var build_1 = begin_cell(); - build_1 = build_1.store_int(v'f, 257); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((int, slice, slice, cell, int, int))) $IntrinsicsTester$_load(slice sc_0) inline { - var v'a = sc_0~load_int(257); - var v'b = sc_0~load_ref().begin_parse(); - var v'c = sc_0~__tact_load_address(); - var v'd = sc_0~load_ref(); - var v'e = sc_0~load_int(257); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'f = sc_1~load_int(257); - return (sc_0, (v'a, v'b, v'c, v'd, v'e, v'f)); -} - -(int, slice, slice, cell, int, int) $IntrinsicsTester$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$IntrinsicsTester$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $IntrinsicsTester$_contract_init(); - } -} - -() $IntrinsicsTester$_contract_store((int, slice, slice, cell, int, int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $IntrinsicsTester$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/intrinsics_IntrinsicsTester.ts b/src/test/features/output/intrinsics_IntrinsicsTester.ts deleted file mode 100644 index f63e57a05..000000000 --- a/src/test/features/output/intrinsics_IntrinsicsTester.ts +++ /dev/null @@ -1,422 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - - type IntrinsicsTester_init_args = { - $$type: 'IntrinsicsTester_init_args'; -} - -function initIntrinsicsTester_init_args(src: IntrinsicsTester_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function IntrinsicsTester_init() { - const __code = Cell.fromBase64('te6ccgECOwEABFEAART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVFds88uCCNwQFAgEgBwgBOu2i7fsBkjB/4HAh10nCH5UwINcLH97AAJEw4w1wBgCayPhDAcx/AcoAVVBQVoEBAc8AyFAEzxbJUAPMASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFsyBAQHPAAHIgQEBzwDJAczJ7VQB3PkBIILwhdKIOEwAQ0WLAoA8siBZ9ogDxVPDZWNENGRo2slh8ka6lDB/2zHggvBR6g7FqQKZ9haWbvIVyt7FqC/xdfjW6n50wiRWyfXW3bqOnIjIgljAAAAAAAAAAAAAAAABActnzMlw+wB/2zHgLQIBIAkKAgEgHyACAUgLDAIBIA8QAhGx/PbPNs8bGGA3DQIRslZ2zzbPGxhgNw4ASI0IYAQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRAACJQIBSBESAgEgFRYCEa447Z5tnjYwwDcTAhGuQ22ebZ42MMA3FAECiDoADIISW2bTQAIBIBcYAhGzVjbPNs8bGGA3HgIRr7ztnm2eNjDANxkCAW4aGwACIQIPo/Ns82zxsYY3HAIPoUds82zxsYY3HQAEgwgAAiIAGou0hlbGxvIHdvcmxkgCASAhIgIBICYnAgEgIyQAubd6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4TsunLVmnZbmdB0s2yjN0UkAIVsoP2zxVBds8bGGA3OAIRsX22zzbPGxhgNyUAAiMCASAoKQIBIDEyAgFIKisCASAuLwAQqr7tRNDSAAECEKpP2zzbPGxhNywBAogtAB4AAAAASGVsbG8gd29ybGQCEa6z7Z5tnjYwwDcwAHWs3caGrS4MzmdF5eotrGjmLMwrLa8uDoipDMpmjm9GjCxtLUyO5mhtT0aNZmoNzc9Myo4KTMxMaItQQABEgvC5TSe5k00+CKUuUtfafav6xITv43pTgO6QiPes4u/N6QIBIDM0AhWyujbPFUF2zxsYYDc4AhGsle2ebZ42MMA3NQIRrWTtnm2eNjDANzYAAiQAAiABtO1E0NQB+GPSAAGOP4EBAdcA1AHQAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB1IEBAdcA1AHQgQEB1wAwFhUUQzBsFuAw+CjXCwqDCbry4InbPDkABPkCAbiCEltm00CLtIZWxsbyB3b3JsZIjQhgBB7+qpcxuU2jl+XmRiL15jNIuBKsW0djqT8N0gHQeY1EiIMIgvC5TSe5k00+CKUuUtfafav6xITv43pTgO6QiPes4u/N6ToAGEhlbGxvIHdvcmxkIQ=='); - const __system = Cell.fromBase64('te6cckECPQEABFsAAQHAAQEFoOvtAgEU/wD0pBP0vPLICwMCAWI1BAIBIB4FAgEgFwYCASAOBwIBIAkIAhWyujbPFUF2zxsYYDodAgEgDAoCEa1k7Z5tnjYwwDoLAAIgAhGsle2ebZ42MMA6DQACJAIBIBMPAgEgERAAdazdxoatLgzOZ0Xl6i2saOYszCstry4OiKkMymaOb0aMLG0tTI7maG1PRo1mag3Nz0zKjgpMzExoi1BAAhGus+2ebZ42MMA6EgBEgvC5TSe5k00+CKUuUtfafav6xITv43pTgO6QiPes4u/N6QIBSBYUAhCqT9s82zxsYToVAQKIOQAQqr7tRNDSAAECASAZGAC5t3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAgEgHBoCEbF9ts82zxsYYDobAAIjAhWyg/bPFUF2zxsYYDodAAT5AgIBIDAfAgEgKyACASAjIQIRs1Y2zzbPGxhgOiIAGou0hlbGxvIHdvcmxkgCASApJAIBbiclAg+hR2zzbPGxhjomAAIiAg+j82zzbPGxhjooAASDCAIRr7ztnm2eNjDAOioAAiECAUguLAIRrkNtnm2eNjDAOi0ADIISW2bTQAIRrjjtnm2eNjDAOi8BAog8AgFIMzECEbJWds82zxsYYDoyAAIlAhGx/PbPNs8bGGA6NABIjQhgBB7+qpcxuU2jl+XmRiL15jNIuBKsW0djqT8N0gHQeY1EA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVFds88uCCOjc2AJrI+EMBzH8BygBVUFBWgQEBzwDIUATPFslQA8wBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WzIEBAc8AAciBAQHPAMkBzMntVAE67aLt+wGSMH/gcCHXScIflTAg1wsf3sAAkTDjDXA4Adz5ASCC8IXSiDhMAENFiwKAPLIgWfaIA8VTw2VjRDRkaNrJYfJGupQwf9sx4ILwUeoOxakCmfYWlm7yFcrexagv8XX41up+dMIkVsn11t26jpyIyIJYwAAAAAAAAAAAAAAAAQHLZ8zJcPsAf9sx4DkAHgAAAABIZWxsbyB3b3JsZAG07UTQ1AH4Y9IAAY4/gQEB1wDUAdAB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHUgQEB1wDUAdCBAQHXADAWFRRDMGwW4DD4KNcLCoMJuvLgids8OwG4ghJbZtNAi7SGVsbG8gd29ybGSI0IYAQe/qqXMblNo5fl5kYi9eYzSLgSrFtHY6k/DdIB0HmNRIiDCILwuU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek8ABhIZWxsbyB3b3JsZCGSrrvk'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initIntrinsicsTester_init_args({ $$type: 'IntrinsicsTester_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const IntrinsicsTester_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const IntrinsicsTester_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, -] - -const IntrinsicsTester_getters: ABIGetter[] = [ - {"name":"getTons","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getTons2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getString","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"getString2","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"getAddress","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}, - {"name":"getAddress2","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}, - {"name":"getCell","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}}, - {"name":"getCell2","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}}, - {"name":"getPow","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getPow2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getComment","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}}, - {"name":"getHash","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getHash2","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getHash3","arguments":[{"name":"src","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getHash4","arguments":[{"name":"src","type":{"kind":"simple","type":"string","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const IntrinsicsTester_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Deploy"}}, - {"receiver":"internal","message":{"kind":"text","text":"emit_1"}}, -] - -export class IntrinsicsTester implements Contract { - - static async init() { - return await IntrinsicsTester_init(); - } - - static async fromInit() { - const init = await IntrinsicsTester_init(); - const address = contractAddress(0, init); - return new IntrinsicsTester(address, init); - } - - static fromAddress(address: Address) { - return new IntrinsicsTester(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: IntrinsicsTester_types, - getters: IntrinsicsTester_getters, - receivers: IntrinsicsTester_receivers, - errors: IntrinsicsTester_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Deploy' | 'emit_1') { - - let body: Cell | null = null; - if (message === 'Deploy') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message === 'emit_1') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getGetTons(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getTons', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetTons2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getTons2', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetString(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getString', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getGetString2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getString2', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getGetAddress(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getAddress', builder.build())).stack; - let result = source.readAddress(); - return result; - } - - async getGetAddress2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getAddress2', builder.build())).stack; - let result = source.readAddress(); - return result; - } - - async getGetCell(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getCell', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getGetCell2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getCell2', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getGetPow(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getPow', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetPow2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getPow2', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetComment(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getComment', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getGetHash(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getHash', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetHash2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getHash2', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetHash3(provider: ContractProvider, src: Cell) { - let builder = new TupleBuilder(); - builder.writeSlice(src); - let source = (await provider.get('getHash3', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetHash4(provider: ContractProvider, src: string) { - let builder = new TupleBuilder(); - builder.writeString(src); - let source = (await provider.get('getHash4', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/maps_MapTestContract.abi b/src/test/features/output/maps_MapTestContract.abi deleted file mode 100644 index 72d51a449..000000000 --- a/src/test/features/output/maps_MapTestContract.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"MapTestContract","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"SetIntMap1","header":1510253336,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]},{"name":"SetIntMap2","header":1629867766,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"bool","optional":true}}]},{"name":"SetIntMap3","header":3613954633,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"SetIntMap4","header":383013829,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"SomeStruct","optional":true}}]},{"name":"SetIntMap5","header":2809746751,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"SetIntMap6","header":1258686922,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]},{"name":"SetUIntMap7","header":3563204871,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]},{"name":"SetIntMap8","header":1910615278,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]},{"name":"SetUIntMap9","header":1765685895,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]},{"name":"SetAddrMap1","header":1749966413,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]},{"name":"SetAddrMap2","header":624157584,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"bool","optional":true}}]},{"name":"SetAddrMap3","header":4276365062,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"SetAddrMap4","header":1683777913,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"SomeStruct","optional":true}}]},{"name":"SetAddrMap5","header":1741376771,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"address","optional":true}}]},{"name":"SetAddrMap6","header":1742733058,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]},{"name":"SetAddrMap7","header":2054067599,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]},{"name":"SomeStruct","header":null,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}},{"receiver":"internal","message":{"kind":"typed","type":"SetIntMap1"}},{"receiver":"internal","message":{"kind":"typed","type":"SetIntMap2"}},{"receiver":"internal","message":{"kind":"typed","type":"SetIntMap3"}},{"receiver":"internal","message":{"kind":"typed","type":"SetIntMap4"}},{"receiver":"internal","message":{"kind":"typed","type":"SetIntMap5"}},{"receiver":"internal","message":{"kind":"typed","type":"SetIntMap6"}},{"receiver":"internal","message":{"kind":"typed","type":"SetUIntMap7"}},{"receiver":"internal","message":{"kind":"typed","type":"SetIntMap8"}},{"receiver":"internal","message":{"kind":"typed","type":"SetUIntMap9"}},{"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap1"}},{"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap2"}},{"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap3"}},{"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap4"}},{"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap5"}},{"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap6"}},{"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap7"}},{"receiver":"internal","message":{"kind":"text","text":"reset"}}],"getters":[{"name":"intMap1","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int"}},{"name":"intMap1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap2","arguments":[],"returnType":{"kind":"dict","key":"int","value":"bool"}},{"name":"intMap2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":true}},{"name":"intMap3","arguments":[],"returnType":{"kind":"dict","key":"int","value":"cell","valueFormat":"ref"}},{"name":"intMap3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"cell","optional":true}},{"name":"intMap4","arguments":[],"returnType":{"kind":"dict","key":"int","value":"SomeStruct","valueFormat":"ref"}},{"name":"intMap4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"SomeStruct","optional":true}},{"name":"intMap5","arguments":[],"returnType":{"kind":"dict","key":"int","value":"address"}},{"name":"intMap5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"address","optional":true}},{"name":"intMap6_1","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":8,"value":"int"}},{"name":"intMap6_1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap6_2","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":16,"value":"int"}},{"name":"intMap6_2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap6_3","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":32,"value":"int"}},{"name":"intMap6_3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap6_4","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":64,"value":"int"}},{"name":"intMap6_4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap6_5","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":128,"value":"int"}},{"name":"intMap6_5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap6_6","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":256,"value":"int"}},{"name":"intMap6_6Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap6_7","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":257,"value":"int"}},{"name":"intMap6_7Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap7_1","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":8,"value":"int"}},{"name":"intMap7_1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap7_2","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":16,"value":"int"}},{"name":"intMap7_2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap7_3","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":32,"value":"int"}},{"name":"intMap7_3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap7_4","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":64,"value":"int"}},{"name":"intMap7_4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap7_5","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":128,"value":"int"}},{"name":"intMap7_5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap7_6","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":256,"value":"int"}},{"name":"intMap7_6Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap8_1","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":8}},{"name":"intMap8_1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap8_2","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":16}},{"name":"intMap8_2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap8_3","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":32}},{"name":"intMap8_3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap8_4","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":64}},{"name":"intMap8_4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap8_5","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":128}},{"name":"intMap8_5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap8_6","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":256}},{"name":"intMap8_6Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap8_7","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":257}},{"name":"intMap8_7Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap9_1","arguments":[],"returnType":{"kind":"dict","key":"int","value":"uint","valueFormat":8}},{"name":"intMap9_1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap9_2","arguments":[],"returnType":{"kind":"dict","key":"int","value":"uint","valueFormat":16}},{"name":"intMap9_2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap9_3","arguments":[],"returnType":{"kind":"dict","key":"int","value":"uint","valueFormat":32}},{"name":"intMap9_3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap9_4","arguments":[],"returnType":{"kind":"dict","key":"int","value":"uint","valueFormat":64}},{"name":"intMap9_4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap9_5","arguments":[],"returnType":{"kind":"dict","key":"int","value":"uint","valueFormat":128}},{"name":"intMap9_5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap9_6","arguments":[],"returnType":{"kind":"dict","key":"int","value":"uint","valueFormat":256}},{"name":"intMap9_6Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"intMap10Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"intMap11Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"intMap12Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"intMap13Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"addrMap1","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int"}},{"name":"addrMap1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap2","arguments":[],"returnType":{"kind":"dict","key":"address","value":"bool"}},{"name":"addrMap2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":true}},{"name":"addrMap3","arguments":[],"returnType":{"kind":"dict","key":"address","value":"cell","valueFormat":"ref"}},{"name":"addrMap3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"cell","optional":true}},{"name":"addrMap4","arguments":[],"returnType":{"kind":"dict","key":"address","value":"SomeStruct","valueFormat":"ref"}},{"name":"addrMap4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"SomeStruct","optional":true}},{"name":"addrMap5","arguments":[],"returnType":{"kind":"dict","key":"address","value":"address"}},{"name":"addrMap5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"address","optional":true}},{"name":"addrMap6_1","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":8}},{"name":"addrMap6_1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap6_2","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":16}},{"name":"addrMap6_2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap6_3","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":32}},{"name":"addrMap6_3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap6_4","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":64}},{"name":"addrMap6_4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap6_5","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":128}},{"name":"addrMap6_5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap6_6","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":256}},{"name":"addrMap6_6Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap6_7","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":257}},{"name":"addrMap6_7Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap7_1","arguments":[],"returnType":{"kind":"dict","key":"address","value":"uint","valueFormat":8}},{"name":"addrMap7_1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap7_2","arguments":[],"returnType":{"kind":"dict","key":"address","value":"uint","valueFormat":16}},{"name":"addrMap7_2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap7_3","arguments":[],"returnType":{"kind":"dict","key":"address","value":"uint","valueFormat":32}},{"name":"addrMap7_3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap7_4","arguments":[],"returnType":{"kind":"dict","key":"address","value":"uint","valueFormat":64}},{"name":"addrMap7_4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap7_5","arguments":[],"returnType":{"kind":"dict","key":"address","value":"uint","valueFormat":128}},{"name":"addrMap7_5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"addrMap7_6","arguments":[],"returnType":{"kind":"dict","key":"address","value":"uint","valueFormat":256}},{"name":"addrMap7_6Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"mapAsCell","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":true}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/maps_MapTestContract.code.boc b/src/test/features/output/maps_MapTestContract.code.boc deleted file mode 100644 index c238c787f..000000000 Binary files a/src/test/features/output/maps_MapTestContract.code.boc and /dev/null differ diff --git a/src/test/features/output/maps_MapTestContract.code.boc.html b/src/test/features/output/maps_MapTestContract.code.boc.html deleted file mode 100644 index 27b3dd2f2..000000000 --- a/src/test/features/output/maps_MapTestContract.code.boc.html +++ /dev/null @@ -1,10229 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_67207;
-            ..DECLPROC ?fun_68436;
-            ..DECLPROC ?fun_71844;
-            ..DECLPROC ?fun_72517;
-            ..DECLPROC ?fun_73188;
-            ..DECLPROC ?fun_73623;
-            ..DECLPROC ?fun_75461;
-            ..DECLPROC ?fun_76090;
-            ..DECLPROC ?fun_76617;
-            ..DECLPROC ?fun_77285;
-            ..DECLPROC ?fun_77288;
-            ..DECLPROC ?fun_77723;
-            ..DECLPROC ?fun_79588;
-            ..DECLPROC ?fun_80057;
-            ..DECLPROC ?fun_80586;
-            ..DECLPROC ?fun_81003;
-            ..DECLPROC ?fun_81348;
-            ..DECLPROC ?fun_83459;
-            ..DECLPROC ?fun_85283;
-            ..DECLPROC ?fun_85748;
-            ..DECLPROC ?fun_86606;
-            ..DECLPROC ?fun_87586;
-            ..DECLPROC ?fun_88132;
-            ..DECLPROC ?fun_88631;
-            ..DECLPROC ?fun_89238;
-            ..DECLPROC ?fun_89346;
-            ..DECLPROC ?fun_89348;
-            ..DECLPROC ?fun_92731;
-            ..DECLPROC ?fun_93338;
-            ..DECLPROC ?fun_93537;
-            ..DECLPROC ?fun_93929;
-            ..DECLPROC ?fun_97208;
-            ..DECLPROC ?fun_97561;
-            ..DECLPROC ?fun_98154;
-            ..DECLPROC ?fun_98590;
-            ..DECLPROC ?fun_99917;
-            ..DECLPROC ?fun_100021;
-            ..DECLPROC ?fun_100926;
-            ..DECLPROC ?fun_101282;
-            ..DECLPROC ?fun_101617;
-            ..DECLPROC ?fun_101741;
-            ..DECLPROC ?fun_102405;
-            ..DECLPROC ?fun_102719;
-            ..DECLPROC ?fun_103030;
-            ..DECLPROC ?fun_103396;
-            ..DECLPROC ?fun_103639;
-            ..DECLPROC ?fun_103749;
-            ..DECLPROC ?fun_104044;
-            ..DECLPROC ?fun_104991;
-            ..DECLPROC ?fun_105680;
-            ..DECLPROC ?fun_105804;
-            ..DECLPROC ?fun_107130;
-            ..DECLPROC ?fun_107739;
-            ..DECLPROC ?fun_108047;
-            ..DECLPROC ?fun_108200;
-            ..DECLPROC ?fun_109180;
-            ..DECLPROC ?fun_109536;
-            ..DECLPROC ?fun_109871;
-            ..DECLPROC ?fun_110973;
-            ..DECLPROC ?fun_110986;
-            ..DECLPROC ?fun_111609;
-            ..DECLPROC ?fun_111960;
-            ..DECLPROC ?fun_112174;
-            ..DECLPROC ?fun_112427;
-            ..DECLPROC ?fun_113601;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC ?fun_113810;
-            ..DECLPROC ?fun_113934;
-            ..DECLPROC ?fun_115098;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC ?fun_115477;
-            ..DECLPROC ?fun_116148;
-            ..DECLPROC ?fun_116425;
-            ..DECLPROC ?fun_117542;
-            ..DECLPROC ?fun_117877;
-            ..DECLPROC ?fun_118249;
-            ..DECLPROC ?fun_119013;
-            ..DECLPROC ?fun_119159;
-            ..DECLPROC ?fun_119556;
-            ..DECLPROC ?fun_120229;
-            ..DECLPROC ?fun_120552;
-            ..DECLPROC ?fun_120790;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_121499;
-            ..DECLPROC ?fun_121607;
-            ..DECLPROC ?fun_121940;
-            ..DECLPROC ?fun_122312;
-            ..DECLPROC ?fun_123259;
-            ..DECLPROC ?fun_123352;
-            ..DECLPROC ?fun_123656;
-            ..DECLPROC ?fun_124329;
-            ..DECLPROC ?fun_125688;
-            ..DECLPROC ?fun_126007;
-            ..DECLPROC ?fun_126379;
-            ..DECLPROC ?fun_127224;
-            ..DECLPROC ?fun_127481;
-            ..DECLPROC ?fun_127627;
-            ..DECLPROC ?fun_128042;
-            ..DECLPROC ?fun_128682;
-            ..DECLPROC ?fun_129753;
-            ..DECLPROC ?fun_129861;
-            ..DECLPROC ?fun_130070;
-            ..DECLPROC ?fun_ref_0005adadd8194c57;
-            ..DECLPROC ?fun_ref_03062178563fb360;
-            ..DECLPROC ?fun_ref_03bb8213691adaa0;
-            ..DECLPROC ?fun_ref_0a1ef94ebe2d59f7;
-            ..DECLPROC ?fun_ref_0bae1aa3a16fbb81;
-            ..DECLPROC ?fun_ref_0f16ab2829ba1850;
-            ..DECLPROC ?fun_ref_0fa9c09d04498d9f;
-            ..DECLPROC ?fun_ref_1050883863155503;
-            ..DECLPROC ?fun_ref_10885cfbf0f5b847;
-            ..DECLPROC ?fun_ref_10c319ce0484d846;
-            ..DECLPROC ?fun_ref_10f4ff3ec86e295e;
-            ..DECLPROC ?fun_ref_11fd78e99eaf4781;
-            ..DECLPROC ?fun_ref_14ed3c63006254a4;
-            ..DECLPROC ?fun_ref_1685e1efa5d650ea;
-            ..DECLPROC ?fun_ref_17775a33ee1e8fcf;
-            ..DECLPROC ?fun_ref_19f361cc6bc7a4d1;
-            ..DECLPROC ?fun_ref_1c16204d98b0bbbe;
-            ..DECLPROC ?fun_ref_1e8d3bea85f5828b;
-            ..DECLPROC ?fun_ref_1f4489eb501e6d0d;
-            ..DECLPROC ?fun_ref_208ed0acd0cabf8e;
-            ..DECLPROC ?fun_ref_211087ca8f8d3d59;
-            ..DECLPROC ?fun_ref_2152dfab6624fcdd;
-            ..DECLPROC ?fun_ref_2730af090faf7a9d;
-            ..DECLPROC ?fun_ref_27593f6c871f97ee;
-            ..DECLPROC ?fun_ref_2aa060670312cf2a;
-            ..DECLPROC ?fun_ref_2ad313daa524c36f;
-            ..DECLPROC ?fun_ref_2b09043f94540409;
-            ..DECLPROC ?fun_ref_2c1988d0c53291ad;
-            ..DECLPROC ?fun_ref_2f0501324a7b3bcb;
-            ..DECLPROC ?fun_ref_2f66a11096cb9487;
-            ..DECLPROC ?fun_ref_3462f6793cb649b2;
-            ..DECLPROC ?fun_ref_361649b8d18a1978;
-            ..DECLPROC ?fun_ref_3dcd865b091a97a2;
-            ..DECLPROC ?fun_ref_3e1ee3b82aad61e4;
-            ..DECLPROC ?fun_ref_3e87dbe93e7ecd42;
-            ..DECLPROC ?fun_ref_40d98146a47dbe3b;
-            ..DECLPROC ?fun_ref_41ad10ffaaa6714e;
-            ..DECLPROC ?fun_ref_42b40ef11f56babb;
-            ..DECLPROC ?fun_ref_42c4e2bb0c477123;
-            ..DECLPROC ?fun_ref_44086a5ce86162fe;
-            ..DECLPROC ?fun_ref_4600b8e5e3d88e87;
-            ..DECLPROC ?fun_ref_46a2c6276829e0b0;
-            ..DECLPROC ?fun_ref_4783943b29f5affb;
-            ..DECLPROC ?fun_ref_48265d365e53ad80;
-            ..DECLPROC ?fun_ref_4dc44e558a17d58b;
-            ..DECLPROC ?fun_ref_4ee8888d01627a5b;
-            ..DECLPROC ?fun_ref_4f83e4053dda7bb9;
-            ..DECLPROC ?fun_ref_4fb05b81f7c68af8;
-            ..DECLPROC ?fun_ref_535dce4774a0586e;
-            ..DECLPROC ?fun_ref_5ae69f560ee7dab7;
-            ..DECLPROC ?fun_ref_5cf33b450293f97d;
-            ..DECLPROC ?fun_ref_5fee1b3a83f641e0;
-            ..DECLPROC ?fun_ref_6276ba6618a5dfa8;
-            ..DECLPROC ?fun_ref_6326faa87beffd08;
-            ..DECLPROC ?fun_ref_6c7e480b090fad20;
-            ..DECLPROC ?fun_ref_6e10c7ae825f83ca;
-            ..DECLPROC ?fun_ref_716066674fbb13ff;
-            ..DECLPROC ?fun_ref_748a957f4777dd9f;
-            ..DECLPROC ?fun_ref_74e85ecd13d2849e;
-            ..DECLPROC ?fun_ref_750b5e2df7ffc4f5;
-            ..DECLPROC ?fun_ref_82b2475d81740ed4;
-            ..DECLPROC ?fun_ref_8893dea8dd8a770c;
-            ..DECLPROC ?fun_ref_8893e4efb4fcb5fd;
-            ..DECLPROC ?fun_ref_8d8c37d12682d7d7;
-            ..DECLPROC ?fun_ref_94675458c3c718f5;
-            ..DECLPROC ?fun_ref_96b51136bd53ab0e;
-            ..DECLPROC ?fun_ref_96defa64c514f80e;
-            ..DECLPROC ?fun_ref_9a0afd3466dc3d99;
-            ..DECLPROC ?fun_ref_a090c1aee7367fab;
-            ..DECLPROC ?fun_ref_a708053de499b31b;
-            ..DECLPROC ?fun_ref_ab9cd184c88e7d61;
-            ..DECLPROC ?fun_ref_ad961e5c0697dcd8;
-            ..DECLPROC ?fun_ref_b0a5ab0ac20548bb;
-            ..DECLPROC ?fun_ref_b2f99ae1a1dd4dfb;
-            ..DECLPROC ?fun_ref_b347d9c3ebd197d4;
-            ..DECLPROC ?fun_ref_b69e4ba6ab46d84a;
-            ..DECLPROC ?fun_ref_b87aaf1455a99180;
-            ..DECLPROC ?fun_ref_b897730d607fe442;
-            ..DECLPROC ?fun_ref_b9f0fe63c44a7965;
-            ..DECLPROC ?fun_ref_c0af0b77ca54cb78;
-            ..DECLPROC ?fun_ref_c227cf8ce099fb69;
-            ..DECLPROC ?fun_ref_c4c939ff1989bb9c;
-            ..DECLPROC ?fun_ref_c4ca5aaca4e629d3;
-            ..DECLPROC ?fun_ref_ca63fe857bb922e4;
-            ..DECLPROC ?fun_ref_cc0db71ff6d8ae92;
-            ..DECLPROC ?fun_ref_cf0a971bd3908d8a;
-            ..DECLPROC ?fun_ref_d4607ca3cd379298;
-            ..DECLPROC ?fun_ref_d60a1cce39e33186;
-            ..DECLPROC ?fun_ref_d783084a6741fd77;
-            ..DECLPROC ?fun_ref_d9e1b9d1e5ec3b45;
-            ..DECLPROC ?fun_ref_db786e1b029df550;
-            ..DECLPROC ?fun_ref_dca8502388807006;
-            ..DECLPROC ?fun_ref_de37e48f178d8028;
-            ..DECLPROC ?fun_ref_e09e63913e622f86;
-            ..DECLPROC ?fun_ref_e09f8504bf357f6c;
-            ..DECLPROC ?fun_ref_e5b0e0843d6a7de1;
-            ..DECLPROC ?fun_ref_eb1f6c88057f1f7e;
-            ..DECLPROC ?fun_ref_ede2fd08a3ac8f05;
-            ..DECLPROC ?fun_ref_f1ac611f4336d1e1;
-            ..DECLPROC ?fun_ref_f36a6d8837e60632;
-            ..DECLPROC ?fun_ref_f452d767478a13e2;
-            ..DECLPROC ?fun_ref_f986fd0ccb97c7e2;
-            ..DECLPROC ?fun_ref_f9cfc308b40bc929;
-            ..DECLPROC ?fun_ref_fafb972e908fca85;
-            ..DECLPROC ?fun_ref_faff694f2f05574e;
-            ..DECLPROC ?fun_ref_fc9271f0b8137277;
-            ..DECLPROC ?fun_ref_fd1c377b2cf82958;
-            ..DECLPROC ?fun_ref_fe5574715d35e625;
-            ..DECLPROC ?fun_ref_febca6c4d71293f1;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s50 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s49 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s48 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s47 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s46 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s45 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s44 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s43 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s42 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s41 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s40 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s39 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s38 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s37 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s36 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s35 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s34 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s33 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s32 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s31 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s30 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s29 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s28 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s27 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s26 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s25 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s24 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s23 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s22 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s21 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s20 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s19 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s18 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s17 XCHG
-            ....s0 s15 XCHG
-            ....s0 s14 XCHG
-            ....s0 s16 XCHG
-            ....s0 s14 XCHG
-            ....s13 s15 XCHG
-            ....2 13 BLKSWAP
-            ....?fun_ref_b0a5ab0ac20548bb INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....15 1 BLKSWAP
-            ....?fun_ref_14ed3c63006254a4 INLINECALLDICT
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..?fun_67207 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_dca8502388807006 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_68436 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_c4ca5aaca4e629d3 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_71844 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_f986fd0ccb97c7e2 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_72517 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_8893dea8dd8a770c INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_73188 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_d4607ca3cd379298 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_73623 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_faff694f2f05574e INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_75461 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_96defa64c514f80e INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_76090 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_6e10c7ae825f83ca INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_76617 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_e5b0e0843d6a7de1 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_77285 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_c227cf8ce099fb69 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_77288 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_0f16ab2829ba1850 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_77723 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_fe5574715d35e625 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_79588 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_f1ac611f4336d1e1 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_80057 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_cc0db71ff6d8ae92 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_80586 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_5cf33b450293f97d INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_81003 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_de37e48f178d8028 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_81348 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_f452d767478a13e2 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_83459 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_2152dfab6624fcdd INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_85283 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_2c1988d0c53291ad INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_85748 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_42c4e2bb0c477123 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_86606 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_40d98146a47dbe3b INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_87586 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_41ad10ffaaa6714e INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_88132 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_96b51136bd53ab0e INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_88631 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_3462f6793cb649b2 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_89238 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_8d8c37d12682d7d7 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_89346 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_0a1ef94ebe2d59f7 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_89348 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_48265d365e53ad80 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_92731 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_b9f0fe63c44a7965 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_93338 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_4dc44e558a17d58b INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_93537 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_361649b8d18a1978 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_93929 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_b69e4ba6ab46d84a INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_97208 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_10885cfbf0f5b847 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_97561 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_ca63fe857bb922e4 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_98154 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_11fd78e99eaf4781 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_98590 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_27593f6c871f97ee INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_99917 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_e09f8504bf357f6c INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_100021 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_4600b8e5e3d88e87 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......1 UNTUPLE
-            ......1 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IF
-            ..}>
-            ..?fun_100926 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_5ae69f560ee7dab7 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_101282 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_6326faa87beffd08 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_101617 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_f36a6d8837e60632 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_101741 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_0fa9c09d04498d9f INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_102405 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_208ed0acd0cabf8e INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_102719 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_fc9271f0b8137277 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_103030 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_ede2fd08a3ac8f05 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_103396 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_10f4ff3ec86e295e INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_103639 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_82b2475d81740ed4 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_103749 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_1c16204d98b0bbbe INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_104044 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_17775a33ee1e8fcf INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_104991 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_ab9cd184c88e7d61 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_105680 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_2730af090faf7a9d INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_105804 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_46a2c6276829e0b0 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_107130 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_4fb05b81f7c68af8 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_107739 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_a090c1aee7367fab INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_108047 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_e09e63913e622f86 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_108200 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_74e85ecd13d2849e INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_109180 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_c4c939ff1989bb9c INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_109536 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_10c319ce0484d846 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_109871 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_fafb972e908fca85 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_110973 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_1f4489eb501e6d0d INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_110986 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_1685e1efa5d650ea INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_111609 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_d783084a6741fd77 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_111960 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_cf0a971bd3908d8a INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_112174 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_d60a1cce39e33186 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_112427 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_db786e1b029df550 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_113601 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_b347d9c3ebd197d4 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..?fun_113810 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_4ee8888d01627a5b INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_113934 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_6c7e480b090fad20 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_115098 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_94675458c3c718f5 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..?fun_115477 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_a708053de499b31b INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_116148 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_5fee1b3a83f641e0 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_116425 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_2ad313daa524c36f INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_117542 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_44086a5ce86162fe INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_117877 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_1e8d3bea85f5828b INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_118249 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_c0af0b77ca54cb78 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_119013 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_fd1c377b2cf82958 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......1 UNTUPLE
-            ......1 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IF
-            ..}>
-            ..?fun_119159 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_3e1ee3b82aad61e4 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_119556 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_2aa060670312cf2a INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_120229 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_8893e4efb4fcb5fd INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_120552 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_eb1f6c88057f1f7e INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_120790 PROC:<{
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_3dcd865b091a97a2 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D6562704D4B6D6F44654E6E56377762754531684C6B69426A4B42753159424E746E7A46486A537144724E347A82_} PUSHSLICE
-            ..}>
-            ..?fun_121499 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_19f361cc6bc7a4d1 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_121607 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_121940 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_750b5e2df7ffc4f5 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_122312 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_2b09043f94540409 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_123259 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_716066674fbb13ff INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_123352 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_2f0501324a7b3bcb INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_123656 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_f9cfc308b40bc929 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_124329 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_03bb8213691adaa0 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_125688 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_0005adadd8194c57 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_126007 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_d9e1b9d1e5ec3b45 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_126379 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_b897730d607fe442 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_127224 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_03062178563fb360 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_127481 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_42b40ef11f56babb INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_127627 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_b87aaf1455a99180 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_128042 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....s0 s48 XCHG
-            ....s0 s49 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s47 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s46 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s45 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s44 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s37 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s31 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s24 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s18 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s17 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....s0 s16 XCHG
-            ....s0 s15 XCHG
-            ....1 15 BLKSWAP
-            ....?fun_ref_211087ca8f8d3d59 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_128682 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_3e87dbe93e7ecd42 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_129753 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_4783943b29f5affb INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_129861 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_40d98146a47dbe3b INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_130070 PROC:<{
-            ....?fun_ref_ad961e5c0697dcd8 INLINECALLDICT
-            ....?fun_ref_febca6c4d71293f1 INLINECALLDICT
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s16 POP
-            ....15 BLKDROP
-            ....s1 POP
-            ..}>
-            ..?fun_ref_0005adadd8194c57 PROCREF:<{
-            ....s22 PUSH
-            ..}>
-            ..?fun_ref_03062178563fb360 PROCREF:<{
-            ....257 PUSHINT
-            ....s23 PUSH
-            ....s0 s2 XCHG
-            ....32 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_03bb8213691adaa0 PROCREF:<{
-            ....8 PUSHINT
-            ....s38 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTUGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_0a1ef94ebe2d59f7 PROCREF:<{
-            ....s16 PUSH
-            ..}>
-            ..?fun_ref_0bae1aa3a16fbb81 PROCREF:<{
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ....NULL
-            ..}>
-            ..?fun_ref_0f16ab2829ba1850 PROCREF:<{
-            ....8 PUSHPOW2
-            ....s33 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTUGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_0fa9c09d04498d9f PROCREF:<{
-            ....s24 PUSH
-            ..}>
-            ..?fun_ref_1050883863155503 PROCREF:<{
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 s1 XCHG
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....LDDICT
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....LDDICT
-            ....LDDICT
-            ....s0 POP
-            ....s0 s47 XCHG
-            ....s0 s49 XCHG
-            ....s0 s47 XCHG
-            ....s0 s47 XCHG
-            ....s0 s48 XCHG
-            ....s0 s47 XCHG
-            ..}>
-            ..?fun_ref_10885cfbf0f5b847 PROCREF:<{
-            ....257 PUSHINT
-            ....s25 PUSH
-            ....s0 s2 XCHG
-            ....8 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            x2..?fun_ref_10c319ce0484d846 PROCREF:<{
-            18x2....s3 PUSH
-            x2..}>
-            ..?fun_ref_10f4ff3ec86e295e PROCREF:<{
-            ....257 PUSHINT
-            ....s0 PUSH
-            ....s51 PUSH
-            ....s3 s3 XCHG2
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_11fd78e99eaf4781 PROCREF:<{
-            ....257 PUSHINT
-            ....s29 PUSH
-            ....s0 s2 XCHG
-            ....64 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_14ed3c63006254a4 PROCREF:<{
-            ....s0 s1 XCHG
-            ....s0 s48 XCHG
-            ....s0 s1 XCHG
-            ....s0 s49 XCHG
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s46 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s44 XCHG
-            ....NEWC
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s43 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s41 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s39 XCHG
-            ....NEWC
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s38 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s36 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s34 XCHG
-            ....NEWC
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s33 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s31 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s29 XCHG
-            ....NEWC
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s28 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s26 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s24 XCHG
-            ....NEWC
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s23 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s21 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s19 XCHG
-            ....NEWC
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s18 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s16 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s14 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s13 XCHG
-            ....STDICT
-            ....s1 s11 XCHG
-            ....STDICT
-            ....s0 s9 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s8 XCHG
-            ....STDICT
-            ....s1 s6 XCHG
-            ....STDICT
-            ....s0 s4 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s3 XCHG
-            ....STDICT
-            ....STDICT
-            ....s0 s1 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s3 XCHG
-            ....STDICT
-            ....s1 s3 XCHG
-            ....STDICT
-            ....s0 s4 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s5 XCHG
-            ....STDICT
-            ....s1 s6 XCHG
-            ....STDICT
-            ....s0 s6 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s8 XCHG
-            ....STDICT
-            ....s1 s8 XCHG
-            ....STDICT
-            ....s0 s9 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s10 XCHG
-            ....STDICT
-            ....s1 s11 XCHG
-            ....STDICT
-            ....s0 s11 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s13 XCHG
-            ....STDICT
-            ....s1 s13 XCHG
-            ....STDICT
-            ....s0 s14 XCHG
-            ....NEWC
-            ....STDICT
-            ....s1 s15 XCHG
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s16 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....s0 s16 XCHG
-            ....NEWC
-            ....STDICT
-            ....s0 s1 XCHG
-            ....s0 s17 XCHG
-            ....s0 s1 XCHG
-            ....STDICT
-            ....ENDC
-            ....s0 s15 XCHG2
-            ....STREF
-            ....ENDC
-            ....s0 s10 XCHG2
-            ....STREF
-            ....ENDC
-            ....s0 s4 XCHG2
-            ....STREF
-            ....ENDC
-            ....s0 s8 XCHG2
-            ....STREF
-            ....ENDC
-            ....s0 s5 XCHG2
-            ....STREF
-            ....ENDC
-            ....s0 s11 XCHG2
-            ....STREF
-            ....ENDC
-            ....s0 s10 XCHG2
-            ....STREF
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ....ENDC
-            ....s0 s6 XCHG2
-            ....STREF
-            ....ENDC
-            ....s0 s5 XCHG2
-            ....STREF
-            ....ENDC
-            ....ROT
-            ....STREF
-            ....ENDC
-            ....s0 s4 XCHG2
-            ....STREF
-            ....ENDC
-            ....s0 s3 XCHG2
-            ....STREF
-            ....ENDC
-            ....s0 s3 XCHG2
-            ....STREF
-            ....ENDC
-            ....ROT
-            ....STREF
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ..}>
-            ..?fun_ref_1685e1efa5d650ea PROCREF:<{
-            ....257 PUSHINT
-            ....s0 PUSH
-            ....s27 PUSH
-            ....s3 s3 XCHG2
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_17775a33ee1e8fcf PROCREF:<{
-            ....s37 PUSH
-            ..}>
-            ..?fun_ref_19f361cc6bc7a4d1 PROCREF:<{
-            ....s23 PUSH
-            ..}>
-            ..?fun_ref_1c16204d98b0bbbe PROCREF:<{
-            ....257 PUSHINT
-            ....s46 PUSH
-            ....s0 s2 XCHG
-            ....ROTREV
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ..}>
-            x1..?fun_ref_1e8d3bea85f5828b PROCREF:<{
-            18x1....s7 PUSH
-            x1..}>
-            ..?fun_ref_1f4489eb501e6d0d PROCREF:<{
-            ....s31 PUSH
-            ..}>
-            ..?fun_ref_208ed0acd0cabf8e PROCREF:<{
-            ....267 PUSHINT
-            ....s5 PUSH
-            ....s0 s2 XCHG
-            ....32 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_211087ca8f8d3d59 PROCREF:<{
-            ....257 PUSHINT
-            ....s27 PUSH
-            ....s0 s2 XCHG
-            ....8 PUSHPOW2
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_2152dfab6624fcdd PROCREF:<{
-            ....s44 PUSH
-            ..}>
-            ..?fun_ref_2730af090faf7a9d PROCREF:<{
-            ....s10 PUSH
-            ..}>
-            ..?fun_ref_27593f6c871f97ee PROCREF:<{
-            ....s32 PUSH
-            ..}>
-            ..?fun_ref_2aa060670312cf2a PROCREF:<{
-            ....267 PUSHINT
-            ....s2 PUSH
-            ....s0 s2 XCHG
-            ....8 PUSHPOW2
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_2ad313daa524c36f PROCREF:<{
-            ....s42 PUSH
-            ..}>
-            ..?fun_ref_2b09043f94540409 PROCREF:<{
-            ....s29 PUSH
-            ..}>
-            ..?fun_ref_2c1988d0c53291ad PROCREF:<{
-            ....s15 PUSH
-            ..}>
-            ..?fun_ref_2f0501324a7b3bcb PROCREF:<{
-            ....s34 PUSH
-            ..}>
-            ..?fun_ref_2f66a11096cb9487 PROCREF:<{
-            ....s0 s7 XCHG
-            ....267 PUSHINT
-            ....s2 s8 PUSH2
-            ....8 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STUX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s6 XCHG
-            ....267 PUSHINT
-            ....s2 s8 PUSH2
-            ....16 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STUX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s5 XCHG
-            ....267 PUSHINT
-            ....s2 s8 PUSH2
-            ....32 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STUX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s4 XCHG
-            ....267 PUSHINT
-            ....s2 s8 PUSH2
-            ....64 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STUX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s3 XCHG
-            ....267 PUSHINT
-            ....s2 s8 PUSH2
-            ....7 PUSHPOW2
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STUX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....267 PUSHINT
-            ....s0 s0 s8 XCHG3
-            ....8 PUSHPOW2
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STUX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s4 s5 XCHG
-            ....s3 s4 XCHG
-            ....s1 s3 s0 XCHG3
-            ..}>
-            ..?fun_ref_3462f6793cb649b2 PROCREF:<{
-            ....267 PUSHINT
-            ....s10 PUSH
-            ....s0 s2 XCHG
-            ....7 PUSHPOW2
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_361649b8d18a1978 PROCREF:<{
-            ....s17 PUSH
-            ..}>
-            ..?fun_ref_3dcd865b091a97a2 PROCREF:<{
-            ....267 PUSHINT
-            ....s12 PUSH
-            ....s0 s2 XCHG
-            ....32 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_3e1ee3b82aad61e4 PROCREF:<{
-            ....267 PUSHINT
-            ....s8 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_3e87dbe93e7ecd42 PROCREF:<{
-            ....s43 PUSH
-            ..}>
-            x7..?fun_ref_40d98146a47dbe3b PROCREF:<{
-            18x7....s0 PUSH
-            x7..}>
-            ..?fun_ref_41ad10ffaaa6714e PROCREF:<{
-            ....s45 PUSH
-            ..}>
-            ..?fun_ref_42b40ef11f56babb PROCREF:<{
-            ....s35 PUSH
-            ..}>
-            ..?fun_ref_42c4e2bb0c477123 PROCREF:<{
-            ....267 PUSHINT
-            ....s17 PUSH
-            ....s0 s2 XCHG
-            ....ROTREV
-            ....DICTGETREF
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ..}>
-            x5..?fun_ref_44086a5ce86162fe PROCREF:<{
-            18x5....s1 PUSH
-            x5..}>
-            ..?fun_ref_4600b8e5e3d88e87 PROCREF:<{
-            ....267 PUSHINT
-            ....s16 PUSH
-            ....s0 s2 XCHG
-            ....ROTREV
-            ....DICTGETREF
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......CTOS
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......1 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_46a2c6276829e0b0 PROCREF:<{
-            ....s25 PUSH
-            ..}>
-            ..?fun_ref_4783943b29f5affb PROCREF:<{
-            ....s21 PUSH
-            ..}>
-            ..?fun_ref_48265d365e53ad80 PROCREF:<{
-            ....257 PUSHINT
-            ....s49 PUSH
-            ....s0 s2 XCHG
-            ....1 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_4dc44e558a17d58b PROCREF:<{
-            ....16 PUSHINT
-            ....s44 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_4ee8888d01627a5b PROCREF:<{
-            ....s12 PUSH
-            ..}>
-            ..?fun_ref_4f83e4053dda7bb9 PROCREF:<{
-            ....s0 s25 XCHG
-            ....257 PUSHINT
-            ....s2 PUSH
-            ....s27 PUSH
-            ....8 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STUX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s24 XCHG
-            ....257 PUSHINT
-            ....s2 PUSH
-            ....s27 PUSH
-            ....16 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STUX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s23 XCHG
-            ....257 PUSHINT
-            ....s2 PUSH
-            ....s27 PUSH
-            ....32 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STUX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s22 XCHG
-            ....257 PUSHINT
-            ....s2 PUSH
-            ....s27 PUSH
-            ....64 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STUX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s21 XCHG
-            ....257 PUSHINT
-            ....s2 PUSH
-            ....s27 PUSH
-            ....7 PUSHPOW2
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STUX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s2 XCHG
-            ....s0 s20 XCHG
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....ROTREV
-            ....s0 s26 XCHG
-            ....8 PUSHPOW2
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STUX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s22 XCHG
-            ....s0 s23 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s22 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s21 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s20 XCHG
-            ....s0 s19 XCHG
-            ....s0 s18 XCHG
-            ..}>
-            ..?fun_ref_4fb05b81f7c68af8 PROCREF:<{
-            ....8 PUSHINT
-            ....s45 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_535dce4774a0586e PROCREF:<{
-            ....s0 s32 XCHG
-            ....257 PUSHINT
-            ....s2 PUSH
-            ....s34 PUSH
-            ....8 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s31 XCHG
-            ....257 PUSHINT
-            ....s2 PUSH
-            ....s34 PUSH
-            ....16 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s30 XCHG
-            ....257 PUSHINT
-            ....s2 PUSH
-            ....s34 PUSH
-            ....32 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s29 XCHG
-            ....257 PUSHINT
-            ....s2 PUSH
-            ....s34 PUSH
-            ....64 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s28 XCHG
-            ....257 PUSHINT
-            ....s2 PUSH
-            ....s34 PUSH
-            ....7 PUSHPOW2
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s27 XCHG
-            ....257 PUSHINT
-            ....s2 PUSH
-            ....s34 PUSH
-            ....8 PUSHPOW2
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....257 PUSHINT
-            ....s0 PUSH
-            ....s0 s4 XCHG
-            ....s0 s28 XCHG
-            ....s0 s4 XCHG
-            ....s3 s3 s0 XCHG3
-            ....s0 s1 XCHG
-            ....s0 s34 XCHG
-            ....s0 s1 XCHG
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s29 XCHG
-            ....s0 s30 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s29 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s28 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s27 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s26 XCHG
-            ....s0 s25 XCHG
-            ....s0 s24 XCHG
-            ..}>
-            ..?fun_ref_5ae69f560ee7dab7 PROCREF:<{
-            ....s20 PUSH
-            ..}>
-            ..?fun_ref_5cf33b450293f97d PROCREF:<{
-            ....257 PUSHINT
-            ....s28 PUSH
-            ....s0 s2 XCHG
-            ....7 PUSHPOW2
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_5fee1b3a83f641e0 PROCREF:<{
-            ....267 PUSHINT
-            ....s19 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_6276ba6618a5dfa8 PROCREF:<{
-            ....s0 s45 XCHG
-            ....8 PUSHINT
-            ....s2 PUSH
-            ....s47 PUSH
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s44 XCHG
-            ....16 PUSHINT
-            ....s2 PUSH
-            ....s47 PUSH
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s43 XCHG
-            ....32 PUSHINT
-            ....s2 PUSH
-            ....s47 PUSH
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s42 XCHG
-            ....64 PUSHINT
-            ....s2 PUSH
-            ....s47 PUSH
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s41 XCHG
-            ....7 PUSHPOW2
-            ....s2 PUSH
-            ....s47 PUSH
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s40 XCHG
-            ....8 PUSHPOW2
-            ....s2 PUSH
-            ....s47 PUSH
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....257 PUSHINT
-            ....s0 PUSH
-            ....s0 s4 XCHG
-            ....s0 s41 XCHG
-            ....s0 s4 XCHG
-            ....s3 s3 s0 XCHG3
-            ....s0 s1 XCHG
-            ....s0 s47 XCHG
-            ....s0 s1 XCHG
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTIDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTISETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s42 XCHG
-            ....s0 s43 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s42 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s41 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s40 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s39 XCHG
-            ....s0 s38 XCHG
-            ....s0 s37 XCHG
-            ..}>
-            x2..?fun_ref_6326faa87beffd08 PROCREF:<{
-            18x2....s5 PUSH
-            x2..}>
-            ..?fun_ref_6c7e480b090fad20 PROCREF:<{
-            ....s27 PUSH
-            ..}>
-            ..?fun_ref_6e10c7ae825f83ca PROCREF:<{
-            ....32 PUSHINT
-            ....s43 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_716066674fbb13ff PROCREF:<{
-            ....64 PUSHINT
-            ....s42 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_748a957f4777dd9f PROCREF:<{
-            ....s0 s38 XCHG
-            ....8 PUSHINT
-            ....s2 PUSH
-            ....s40 PUSH
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTUDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTUSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s37 XCHG
-            ....16 PUSHINT
-            ....s2 PUSH
-            ....s40 PUSH
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTUDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTUSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s36 XCHG
-            ....32 PUSHINT
-            ....s2 PUSH
-            ....s40 PUSH
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTUDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTUSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s35 XCHG
-            ....64 PUSHINT
-            ....s2 PUSH
-            ....s40 PUSH
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTUDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTUSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s34 XCHG
-            ....7 PUSHPOW2
-            ....s2 PUSH
-            ....s40 PUSH
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTUDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTUSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s2 XCHG
-            ....s0 s33 XCHG
-            ....s0 s2 XCHG
-            ....8 PUSHPOW2
-            ....ROTREV
-            ....s0 s39 XCHG
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTUDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTUSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s35 XCHG
-            ....s0 s36 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s35 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s34 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s33 XCHG
-            ....s0 s32 XCHG
-            ....s0 s31 XCHG
-            ..}>
-            ..?fun_ref_74e85ecd13d2849e PROCREF:<{
-            ....64 PUSHINT
-            ....s35 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTUGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            x1..?fun_ref_750b5e2df7ffc4f5 PROCREF:<{
-            18x1....s6 PUSH
-            x1..}>
-            ..?fun_ref_82b2475d81740ed4 PROCREF:<{
-            ....267 PUSHINT
-            ....s9 PUSH
-            ....s0 s2 XCHG
-            ....8 PUSHPOW2
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_8893dea8dd8a770c PROCREF:<{
-            ....267 PUSHINT
-            ....s7 PUSH
-            ....s0 s2 XCHG
-            ....8 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_8893e4efb4fcb5fd PROCREF:<{
-            ....267 PUSHINT
-            ....s6 PUSH
-            ....s0 s2 XCHG
-            ....16 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_8d8c37d12682d7d7 PROCREF:<{
-            ....267 PUSHINT
-            ....s14 PUSH
-            ....s0 s2 XCHG
-            ....8 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_94675458c3c718f5 PROCREF:<{
-            ....s36 PUSH
-            ..}>
-            ..?fun_ref_96b51136bd53ab0e PROCREF:<{
-            ....267 PUSHINT
-            ....s4 PUSH
-            ....s0 s2 XCHG
-            ....64 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_96defa64c514f80e PROCREF:<{
-            ....s46 PUSH
-            ..}>
-            ..?fun_ref_9a0afd3466dc3d99 PROCREF:<{
-            ....s0 s14 XCHG
-            ....267 PUSHINT
-            ....s2 s15 PUSH2
-            ....8 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s13 XCHG
-            ....267 PUSHINT
-            ....s2 s15 PUSH2
-            ....16 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s12 XCHG
-            ....267 PUSHINT
-            ....s2 s15 PUSH2
-            ....32 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s11 XCHG
-            ....267 PUSHINT
-            ....s2 s15 PUSH2
-            ....64 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s10 XCHG
-            ....267 PUSHINT
-            ....s2 s15 PUSH2
-            ....7 PUSHPOW2
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s9 XCHG
-            ....267 PUSHINT
-            ....s2 s15 PUSH2
-            ....8 PUSHPOW2
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s2 s8 XCHG
-            ....267 PUSHINT
-            ....s0 s0 s15 XCHG3
-            ....257 PUSHINT
-            ....s1 PUSH
-            ....ISNULL
-            ....<{
-            ......DROP2
-            ......ROTREV
-            ......DICTDEL
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......NEWC
-            ......s0 s1 XCHG
-            ......STIX
-            ......s1 s3 s3 XCHG3
-            ......DICTSETB
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s11 s12 XCHG
-            ....s10 s11 XCHG
-            ....s9 s10 XCHG
-            ....s8 s9 XCHG
-            ....s7 s8 XCHG
-            ....s0 s6 XCHG
-            ..}>
-            ..?fun_ref_a090c1aee7367fab PROCREF:<{
-            ....7 PUSHPOW2
-            ....s41 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_a708053de499b31b PROCREF:<{
-            ....267 PUSHINT
-            ....s15 PUSH
-            ....s0 s2 XCHG
-            ....ROTREV
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ..}>
-            ..?fun_ref_ab9cd184c88e7d61 PROCREF:<{
-            ....s19 PUSH
-            ..}>
-            ..?fun_ref_ad961e5c0697dcd8 PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......?fun_ref_1050883863155503 INLINECALLDICT
-            ......s49 POP
-            ......s0 s47 XCHG
-            ......s0 s48 XCHG
-            ......s0 s47 XCHG
-            ......s0 s46 XCHG
-            ......s0 s47 XCHG
-            ......s0 s46 XCHG
-            ......s0 s45 XCHG
-            ......s0 s46 XCHG
-            ......s0 s45 XCHG
-            ......s0 s44 XCHG
-            ......s0 s45 XCHG
-            ......s0 s44 XCHG
-            ......s0 s43 XCHG
-            ......s0 s44 XCHG
-            ......s0 s43 XCHG
-            ......s0 s42 XCHG
-            ......s0 s43 XCHG
-            ......s0 s42 XCHG
-            ......s0 s41 XCHG
-            ......s0 s42 XCHG
-            ......s0 s41 XCHG
-            ......s0 s40 XCHG
-            ......s0 s41 XCHG
-            ......s0 s40 XCHG
-            ......s0 s39 XCHG
-            ......s0 s40 XCHG
-            ......s0 s39 XCHG
-            ......s0 s38 XCHG
-            ......s0 s39 XCHG
-            ......s0 s38 XCHG
-            ......s0 s37 XCHG
-            ......s0 s38 XCHG
-            ......s0 s37 XCHG
-            ......s0 s36 XCHG
-            ......s0 s37 XCHG
-            ......s0 s36 XCHG
-            ......s0 s35 XCHG
-            ......s0 s36 XCHG
-            ......s0 s35 XCHG
-            ......s0 s34 XCHG
-            ......s0 s35 XCHG
-            ......s0 s34 XCHG
-            ......s0 s33 XCHG
-            ......s0 s34 XCHG
-            ......s0 s33 XCHG
-            ......s0 s32 XCHG
-            ......s0 s33 XCHG
-            ......s0 s32 XCHG
-            ......s0 s31 XCHG
-            ......s0 s32 XCHG
-            ......s0 s31 XCHG
-            ......s0 s30 XCHG
-            ......s0 s31 XCHG
-            ......s0 s30 XCHG
-            ......s0 s29 XCHG
-            ......s0 s30 XCHG
-            ......s0 s29 XCHG
-            ......s0 s28 XCHG
-            ......s0 s29 XCHG
-            ......s0 s28 XCHG
-            ......s0 s27 XCHG
-            ......s0 s28 XCHG
-            ......s0 s27 XCHG
-            ......s0 s26 XCHG
-            ......s0 s27 XCHG
-            ......s0 s26 XCHG
-            ......s0 s25 XCHG
-            ......s0 s26 XCHG
-            ......s0 s25 XCHG
-            ......s0 s24 XCHG
-            ......s0 s25 XCHG
-            ......s0 s24 XCHG
-            ......s0 s23 XCHG
-            ......s0 s24 XCHG
-            ......s0 s23 XCHG
-            ......s0 s22 XCHG
-            ......s0 s23 XCHG
-            ......s0 s22 XCHG
-            ......s0 s21 XCHG
-            ......s0 s22 XCHG
-            ......s0 s21 XCHG
-            ......s0 s20 XCHG
-            ......s0 s21 XCHG
-            ......s0 s20 XCHG
-            ......s0 s19 XCHG
-            ......s0 s20 XCHG
-            ......s0 s19 XCHG
-            ......s0 s18 XCHG
-            ......s0 s19 XCHG
-            ......s0 s18 XCHG
-            ......s0 s17 XCHG
-            ......s0 s18 XCHG
-            ......s0 s17 XCHG
-            ......s0 s16 XCHG
-            ......s0 s17 XCHG
-            ......s0 s16 XCHG
-            ......s0 s15 XCHG
-            ......s0 s16 XCHG
-            ......s0 s15 XCHG
-            ......1 15 BLKSWAP
-            ....}> IFJMPREF
-            ....s0 POP
-            ....MYADDR
-            ....11 PLDU
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....137 THROWIFNOT
-            ....?fun_ref_0bae1aa3a16fbb81 INLINECALLDICT
-            ..}>
-            ..?fun_ref_b0a5ab0ac20548bb PROCREF:<{
-            ....2 SAVE
-            ....SAMEALTSAVE
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....s0 PUSH
-            ....0 EQINT
-            ....s2 PUSH
-            ....SBITS
-            ....33 LESSINT
-            ....AND
-            ....<{
-            ......DROP2
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....1510253336 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1510253336 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......257 PUSHINT
-            ......s0 PUSH
-            ......s0 s4 XCHG
-            ......s0 s52 XCHG
-            ......s0 s4 XCHG
-            ......s3 s3 s0 XCHG3
-            ......s1 PUSH
-            ......ISNULL
-            ......<{
-            ........DROP2
-            ........ROTREV
-            ........DICTIDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........NEWC
-            ........s0 s1 XCHG
-            ........STIX
-            ........s1 s3 s3 XCHG3
-            ........DICTISETB
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s48 XCHG
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....1629867766 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1629867766 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........1 LDI
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......s0 s2 XCHG
-            ......s0 s49 XCHG
-            ......s0 s2 XCHG
-            ......257 PUSHINT
-            ......ROTREV
-            ......1 PUSHINT
-            ......s1 PUSH
-            ......ISNULL
-            ......<{
-            ........DROP2
-            ........ROTREV
-            ........DICTIDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........NEWC
-            ........s0 s1 XCHG
-            ........STIX
-            ........s1 s3 s3 XCHG3
-            ........DICTISETB
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s47 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....3613954633 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......3613954633 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........LDREF
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......s0 s2 XCHG
-            ......s0 s48 XCHG
-            ......s0 s2 XCHG
-            ......257 PUSHINT
-            ......ROTREV
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........ROTREV
-            ........DICTIDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........s1 s3 s3 XCHG3
-            ........DICTISETREF
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s46 XCHG
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....383013829 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......383013829 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ........s0 s1 XCHG
-            ........1 TUPLE
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s1 s2 XCHG
-            ......1 2 BLKDROP2
-            ......257 PUSHINT
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......<{
-            ........s0 PUSH
-            ........ISNULL
-            ........128 THROWIF
-            ........1 UNTUPLE
-            ........NEWC
-            ........s0 s1 XCHG
-            ........s0 s1 XCHG
-            ........257 PUSHINT
-            ........STIX
-            ........ENDC
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s3 XCHG
-            ......s0 s48 XCHG
-            ......s0 s3 XCHG
-            ......s1 s2 XCHG
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........ROTREV
-            ........DICTIDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........s1 s3 s3 XCHG3
-            ........DICTISETREF
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s45 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....2809746751 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2809746751 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......LDMSGADDR
-            ......s1 PUSH
-            ......2 PLDU
-            ......0 NEQINT
-            ......<{
-            ........s0 s1 XCHG
-            ........s0 PUSH
-            ........SBITS
-            ........267 PUSHINT
-            ........EQUAL
-            ........136 THROWIFNOT
-            ........s0 PUSH
-            ........11 PLDU
-            ........s0 PUSH
-            ........1279 PUSHINT
-            ........EQUAL
-            ........137 THROWIF
-            ........10 PUSHPOW2
-            ........EQUAL
-            ........136 THROWIFNOT
-            ......}> PUSHCONT
-            ......<{
-            ........s1 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s1 s2 XCHG
-            ......1 2 BLKDROP2
-            ......s0 s2 XCHG
-            ......s0 s46 XCHG
-            ......s0 s2 XCHG
-            ......257 PUSHINT
-            ......ROTREV
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........ROTREV
-            ........DICTIDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........s1 s3 s3 XCHG3
-            ........DICTISET
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s44 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....1258686922 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1258686922 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......?fun_ref_6276ba6618a5dfa8 INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....3563204871 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......3563204871 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......?fun_ref_748a957f4777dd9f INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....1910615278 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1910615278 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......?fun_ref_535dce4774a0586e INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....1765685895 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1765685895 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......?fun_ref_4f83e4053dda7bb9 INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....1749966413 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1749966413 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......s0 s2 XCHG
-            ......s0 s19 XCHG
-            ......s0 s2 XCHG
-            ......267 PUSHINT
-            ......ROTREV
-            ......257 PUSHINT
-            ......s1 PUSH
-            ......ISNULL
-            ......<{
-            ........DROP2
-            ........ROTREV
-            ........DICTDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........NEWC
-            ........s0 s1 XCHG
-            ........STIX
-            ........s1 s3 s3 XCHG3
-            ........DICTSETB
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s17 XCHG
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....624157584 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......624157584 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........1 LDI
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......s0 s2 XCHG
-            ......s0 s18 XCHG
-            ......s0 s2 XCHG
-            ......267 PUSHINT
-            ......ROTREV
-            ......1 PUSHINT
-            ......s1 PUSH
-            ......ISNULL
-            ......<{
-            ........DROP2
-            ........ROTREV
-            ........DICTDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........NEWC
-            ........s0 s1 XCHG
-            ........STIX
-            ........s1 s3 s3 XCHG3
-            ........DICTSETB
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s16 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....4276365062 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......4276365062 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........LDREF
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......s0 s2 XCHG
-            ......s0 s17 XCHG
-            ......s0 s2 XCHG
-            ......267 PUSHINT
-            ......ROTREV
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........ROTREV
-            ........DICTDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........s1 s3 s3 XCHG3
-            ........DICTSETREF
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s15 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....1683777913 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1683777913 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ........s0 s1 XCHG
-            ........1 TUPLE
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s1 s2 XCHG
-            ......1 2 BLKDROP2
-            ......267 PUSHINT
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......<{
-            ........s0 PUSH
-            ........ISNULL
-            ........128 THROWIF
-            ........1 UNTUPLE
-            ........NEWC
-            ........s0 s1 XCHG
-            ........s0 s1 XCHG
-            ........257 PUSHINT
-            ........STIX
-            ........ENDC
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s3 XCHG
-            ......s0 s17 XCHG
-            ......s0 s3 XCHG
-            ......s1 s2 XCHG
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........ROTREV
-            ........DICTDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........s1 s3 s3 XCHG3
-            ........DICTSETREF
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s14 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....1741376771 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1741376771 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......LDMSGADDR
-            ......s1 PUSH
-            ......2 PLDU
-            ......0 NEQINT
-            ......<{
-            ........s0 s1 XCHG
-            ........s0 PUSH
-            ........SBITS
-            ........267 PUSHINT
-            ........EQUAL
-            ........136 THROWIFNOT
-            ........s0 PUSH
-            ........11 PLDU
-            ........s0 PUSH
-            ........1279 PUSHINT
-            ........EQUAL
-            ........137 THROWIF
-            ........10 PUSHPOW2
-            ........EQUAL
-            ........136 THROWIFNOT
-            ......}> PUSHCONT
-            ......<{
-            ........s1 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s1 s2 XCHG
-            ......1 2 BLKDROP2
-            ......s2 s15 XCHG
-            ......267 PUSHINT
-            ......ROTREV
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........ROTREV
-            ........DICTDEL
-            ........s0 POP
-            ......}> PUSHCONT
-            ......<{
-            ........NEWC
-            ........s0 s1 XCHG
-            ........STSLICER
-            ........s1 s3 s3 XCHG3
-            ........DICTSETB
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s13 XCHG
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 PUSH
-            ....1742733058 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......1742733058 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......?fun_ref_9a0afd3466dc3d99 INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....2054067599 PUSHINT
-            ....EQUAL
-            ....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2054067599 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ......?fun_ref_2f66a11096cb9487 INLINECALLDICT
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....0 EQINT
-            ....<{
-            ......HASHSU
-            ......33891181464710156031034046061755617033497409731940287186959295655538839105307 PUSHINT
-            ......EQUAL
-            ......<{
-            ........s13 POP
-            ........s13 POP
-            ........s13 POP
-            ........s13 POP
-            ........s13 POP
-            ........s39 POP
-            ........s39 POP
-            ........s39 POP
-            ........s39 POP
-            ........s39 POP
-            ........NULL
-            ........NULL
-            ........NULL
-            ........NULL
-            ........NULL
-            ........NULL
-            ........s0 s44 XCHG
-            ........NULL
-            ........s0 s44 XCHG
-            ........NULL
-            ........s0 s44 XCHG
-            ........NULL
-            ........s0 s44 XCHG
-            ........NULL
-            ........s0 s44 XCHG
-            ........s0 s9 XCHG
-            ........s0 s17 XCHG
-            ........s0 s9 XCHG
-            ........s0 s8 XCHG
-            ........s0 s16 XCHG
-            ........s0 s8 XCHG
-            ........s7 s15 XCHG
-            ........s6 s14 XCHG
-            ........s5 s13 XCHG
-            ........5 5 BLKSWAP
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ....}> PUSHCONT
-            ....<{
-            ......s0 POP
-            ....}> PUSHCONT
-            ....IFELSE
-            ....0 PUSHINT
-            ..}>
-            x7..?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{
-            18x7....s2 PUSH
-            x7..}>
-            x3..?fun_ref_b347d9c3ebd197d4 PROCREF:<{
-            18x3....s4 PUSH
-            x3..}>
-            ..?fun_ref_b69e4ba6ab46d84a PROCREF:<{
-            ....32 PUSHINT
-            ....s36 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTUGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_b87aaf1455a99180 PROCREF:<{
-            ....257 PUSHINT
-            ....s31 PUSH
-            ....s0 s2 XCHG
-            ....16 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_b897730d607fe442 PROCREF:<{
-            ....s30 PUSH
-            ..}>
-            ..?fun_ref_b9f0fe63c44a7965 PROCREF:<{
-            ....8 PUSHPOW2
-            ....s40 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_c0af0b77ca54cb78 PROCREF:<{
-            ....s28 PUSH
-            ..}>
-            ..?fun_ref_c227cf8ce099fb69 PROCREF:<{
-            ....s13 PUSH
-            ..}>
-            ..?fun_ref_c4c939ff1989bb9c PROCREF:<{
-            ....s18 PUSH
-            ..}>
-            ..?fun_ref_c4ca5aaca4e629d3 PROCREF:<{
-            ....267 PUSHINT
-            ....s18 PUSH
-            ....s0 s2 XCHG
-            ....1 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_ca63fe857bb922e4 PROCREF:<{
-            ....257 PUSHINT
-            ....s21 PUSH
-            ....s0 s2 XCHG
-            ....7 PUSHPOW2
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_cc0db71ff6d8ae92 PROCREF:<{
-            ....257 PUSHINT
-            ....s22 PUSH
-            ....s0 s2 XCHG
-            ....64 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_cf0a971bd3908d8a PROCREF:<{
-            ....257 PUSHINT
-            ....s24 PUSH
-            ....s0 s2 XCHG
-            ....16 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_d4607ca3cd379298 PROCREF:<{
-            ....267 PUSHINT
-            ....s3 PUSH
-            ....s0 s2 XCHG
-            ....7 PUSHPOW2
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_d60a1cce39e33186 PROCREF:<{
-            ....s39 PUSH
-            ..}>
-            ..?fun_ref_d783084a6741fd77 PROCREF:<{
-            ....257 PUSHINT
-            ....s20 PUSH
-            ....s0 s2 XCHG
-            ....8 PUSHPOW2
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDUX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_d9e1b9d1e5ec3b45 PROCREF:<{
-            ....s9 PUSH
-            ..}>
-            ..?fun_ref_db786e1b029df550 PROCREF:<{
-            ....257 PUSHINT
-            ....s30 PUSH
-            ....s0 s2 XCHG
-            ....32 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_dca8502388807006 PROCREF:<{
-            ....s48 PUSH
-            ..}>
-            ..?fun_ref_de37e48f178d8028 PROCREF:<{
-            ....257 PUSHINT
-            ....s32 PUSH
-            ....s0 s2 XCHG
-            ....8 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_e09e63913e622f86 PROCREF:<{
-            ....s40 PUSH
-            ..}>
-            ..?fun_ref_e09f8504bf357f6c PROCREF:<{
-            ....s38 PUSH
-            ..}>
-            ..?fun_ref_e5b0e0843d6a7de1 PROCREF:<{
-            ....16 PUSHINT
-            ....s37 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTUGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_eb1f6c88057f1f7e PROCREF:<{
-            ....s41 PUSH
-            ..}>
-            ..?fun_ref_ede2fd08a3ac8f05 PROCREF:<{
-            ....267 PUSHINT
-            ....s13 PUSH
-            ....s0 s2 XCHG
-            ....16 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_f1ac611f4336d1e1 PROCREF:<{
-            ....s47 PUSH
-            ..}>
-            ..?fun_ref_f36a6d8837e60632 PROCREF:<{
-            ....s11 PUSH
-            ..}>
-            ..?fun_ref_f452d767478a13e2 PROCREF:<{
-            ....s14 PUSH
-            ..}>
-            ..?fun_ref_f986fd0ccb97c7e2 PROCREF:<{
-            ....257 PUSHINT
-            ....s48 PUSH
-            ....s0 s2 XCHG
-            ....ROTREV
-            ....DICTIGETREF
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ..}>
-            ..?fun_ref_f9cfc308b40bc929 PROCREF:<{
-            ....7 PUSHPOW2
-            ....s34 PUSH
-            ....s0 s2 XCHG
-            ....257 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTUGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_fafb972e908fca85 PROCREF:<{
-            ....s26 PUSH
-            ..}>
-            ..?fun_ref_faff694f2f05574e PROCREF:<{
-            ....267 PUSHINT
-            ....s11 PUSH
-            ....s0 s2 XCHG
-            ....64 PUSHINT
-            ....s1 s3 s3 XCHG3
-            ....DICTGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_fc9271f0b8137277 PROCREF:<{
-            ....s33 PUSH
-            ..}>
-            ..?fun_ref_fd1c377b2cf82958 PROCREF:<{
-            ....257 PUSHINT
-            ....s47 PUSH
-            ....s0 s2 XCHG
-            ....ROTREV
-            ....DICTIGETREF
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFNOT
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......CTOS
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 s1 XCHG
-            ......s1 POP
-            ......1 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            ..?fun_ref_fe5574715d35e625 PROCREF:<{
-            ....257 PUSHINT
-            ....s0 PUSH
-            ....s40 PUSH
-            ....s3 s3 XCHG2
-            ....s1 s3 s3 XCHG3
-            ....DICTIGET
-            ....NULLSWAPIFNOT
-            ....<{
-            ......s0 s1 XCHG
-            ......LDIX
-            ......s0 POP
-            ....}> PUSHCONT
-            ....<{
-            ......DROP2
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ..}>
-            x1..?fun_ref_febca6c4d71293f1 PROCREF:<{
-            18x1....s8 PUSH
-            x1..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/maps_MapTestContract.code.fc b/src/test/features/output/maps_MapTestContract.code.fc deleted file mode 100644 index 795d140d9..000000000 --- a/src/test/features/output/maps_MapTestContract.code.fc +++ /dev/null @@ -1,1649 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "maps_MapTestContract.headers.fc"; -#include "maps_MapTestContract.stdlib.fc"; -#include "maps_MapTestContract.storage.fc"; - -;; -;; Contract MapTestContract functions -;; - -(cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $MapTestContract$_contract_init() impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = (null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null(), null()); - return ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap1); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap1, 257, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap2); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap2, 257, $key, 1)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap3); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_cell($self'intMap3, 257, $key)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap4); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), tuple) $MapTestContract$_fun_intMap4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $SomeStruct$_load_opt(__tact_dict_get_int_cell($self'intMap4, 257, $key))); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap5); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), slice) $MapTestContract$_fun_intMap5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_slice($self'intMap5, 257, $key)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap6_1); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap6_1, 8, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap6_2); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap6_2, 16, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap6_3); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap6_3, 32, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap6_4); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap6_4, 64, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap6_5); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap6_5, 128, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap6_6); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_6Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap6_6, 256, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_7((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap6_7); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_7Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap6_7, 257, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap7_1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap7_1); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap7_1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_uint_int($self'intMap7_1, 8, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap7_2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap7_2); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap7_2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_uint_int($self'intMap7_2, 16, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap7_3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap7_3); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap7_3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_uint_int($self'intMap7_3, 32, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap7_4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap7_4); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap7_4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_uint_int($self'intMap7_4, 64, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap7_5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap7_5); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap7_5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_uint_int($self'intMap7_5, 128, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap7_6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap7_6); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap7_6Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_uint_int($self'intMap7_6, 256, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap8_1); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap8_1, 257, $key, 8)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap8_2); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap8_2, 257, $key, 16)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap8_3); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap8_3, 257, $key, 32)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap8_4); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap8_4, 257, $key, 64)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap8_5); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap8_5, 257, $key, 128)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap8_6); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_6Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap8_6, 257, $key, 256)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_7((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap8_7); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_7Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_int($self'intMap8_7, 257, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap9_1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap9_1); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap9_1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_uint($self'intMap9_1, 257, $key, 8)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap9_2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap9_2); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap9_2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_uint($self'intMap9_2, 257, $key, 16)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap9_3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap9_3); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap9_3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_uint($self'intMap9_3, 257, $key, 32)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap9_4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap9_4); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap9_4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_uint($self'intMap9_4, 257, $key, 64)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap9_5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap9_5); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap9_5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_uint($self'intMap9_5, 257, $key, 128)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap9_6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'intMap9_6); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap9_6Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_int_uint($self'intMap9_6, 257, $key, 256)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap10Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key, int $value) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - cell $map1 = null(); - cell $map2 = null(); - cell $map3 = null(); - cell $map4 = null(); - cell $map5 = null(); - cell $map6 = null(); - cell $map7 = null(); - $map1~__tact_dict_set_int_int(8, $key, $value, 257); - $map2~__tact_dict_set_int_int(16, $key, $value, 257); - $map3~__tact_dict_set_int_int(32, $key, $value, 257); - $map4~__tact_dict_set_int_int(64, $key, $value, 257); - $map5~__tact_dict_set_int_int(128, $key, $value, 257); - $map6~__tact_dict_set_int_int(256, $key, $value, 257); - $map7~__tact_dict_set_int_int(257, $key, $value, 257); - int $value1 = __tact_not_null(__tact_dict_get_int_int($map1, 8, $key, 257)); - int $value2 = __tact_not_null(__tact_dict_get_int_int($map2, 16, $key, 257)); - int $value3 = __tact_not_null(__tact_dict_get_int_int($map3, 32, $key, 257)); - int $value4 = __tact_not_null(__tact_dict_get_int_int($map4, 64, $key, 257)); - int $value5 = __tact_not_null(__tact_dict_get_int_int($map5, 128, $key, 257)); - int $value6 = __tact_not_null(__tact_dict_get_int_int($map6, 256, $key, 257)); - int $value7 = __tact_not_null(__tact_dict_get_int_int($map7, 257, $key, 257)); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), (((((($value1 + $value2) + $value3) + $value4) + $value5) + $value6) + $value7)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap11Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key, int $value) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - cell $map1 = null(); - cell $map2 = null(); - cell $map3 = null(); - cell $map4 = null(); - cell $map5 = null(); - cell $map6 = null(); - $map1~__tact_dict_set_uint_int(8, $key, $value, 257); - $map2~__tact_dict_set_uint_int(16, $key, $value, 257); - $map3~__tact_dict_set_uint_int(32, $key, $value, 257); - $map4~__tact_dict_set_uint_int(64, $key, $value, 257); - $map5~__tact_dict_set_uint_int(128, $key, $value, 257); - $map6~__tact_dict_set_uint_int(256, $key, $value, 257); - int $value1 = __tact_not_null(__tact_dict_get_uint_int($map1, 8, $key, 257)); - int $value2 = __tact_not_null(__tact_dict_get_uint_int($map2, 16, $key, 257)); - int $value3 = __tact_not_null(__tact_dict_get_uint_int($map3, 32, $key, 257)); - int $value4 = __tact_not_null(__tact_dict_get_uint_int($map4, 64, $key, 257)); - int $value5 = __tact_not_null(__tact_dict_get_uint_int($map5, 128, $key, 257)); - int $value6 = __tact_not_null(__tact_dict_get_uint_int($map6, 256, $key, 257)); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ((((($value1 + $value2) + $value3) + $value4) + $value5) + $value6)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap12Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key, int $value) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - cell $map1 = null(); - cell $map2 = null(); - cell $map3 = null(); - cell $map4 = null(); - cell $map5 = null(); - cell $map6 = null(); - cell $map7 = null(); - $map1~__tact_dict_set_int_int(257, $key, $value, 8); - $map2~__tact_dict_set_int_int(257, $key, $value, 16); - $map3~__tact_dict_set_int_int(257, $key, $value, 32); - $map4~__tact_dict_set_int_int(257, $key, $value, 64); - $map5~__tact_dict_set_int_int(257, $key, $value, 128); - $map6~__tact_dict_set_int_int(257, $key, $value, 256); - $map7~__tact_dict_set_int_int(257, $key, $value, 257); - int $value1 = __tact_not_null(__tact_dict_get_int_int($map1, 257, $key, 8)); - int $value2 = __tact_not_null(__tact_dict_get_int_int($map2, 257, $key, 16)); - int $value3 = __tact_not_null(__tact_dict_get_int_int($map3, 257, $key, 32)); - int $value4 = __tact_not_null(__tact_dict_get_int_int($map4, 257, $key, 64)); - int $value5 = __tact_not_null(__tact_dict_get_int_int($map5, 257, $key, 128)); - int $value6 = __tact_not_null(__tact_dict_get_int_int($map6, 257, $key, 256)); - int $value7 = __tact_not_null(__tact_dict_get_int_int($map7, 257, $key, 257)); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), (((((($value1 + $value2) + $value3) + $value4) + $value5) + $value6) + $value7)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap13Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key, int $value) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - cell $map1 = null(); - cell $map2 = null(); - cell $map3 = null(); - cell $map4 = null(); - cell $map5 = null(); - cell $map6 = null(); - cell $map7 = null(); - $map1~__tact_dict_set_int_uint(257, $key, $value, 8); - $map2~__tact_dict_set_int_uint(257, $key, $value, 16); - $map3~__tact_dict_set_int_uint(257, $key, $value, 32); - $map4~__tact_dict_set_int_uint(257, $key, $value, 64); - $map5~__tact_dict_set_int_uint(257, $key, $value, 128); - $map6~__tact_dict_set_int_uint(257, $key, $value, 256); - $map7~__tact_dict_set_int_int(257, $key, $value, 257); - int $value1 = __tact_not_null(__tact_dict_get_int_uint($map1, 257, $key, 8)); - int $value2 = __tact_not_null(__tact_dict_get_int_uint($map2, 257, $key, 16)); - int $value3 = __tact_not_null(__tact_dict_get_int_uint($map3, 257, $key, 32)); - int $value4 = __tact_not_null(__tact_dict_get_int_uint($map4, 257, $key, 64)); - int $value5 = __tact_not_null(__tact_dict_get_int_uint($map5, 257, $key, 128)); - int $value6 = __tact_not_null(__tact_dict_get_int_uint($map6, 257, $key, 256)); - int $value7 = __tact_not_null(__tact_dict_get_int_int($map7, 257, $key, 257)); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), (((((($value1 + $value2) + $value3) + $value4) + $value5) + $value6) + $value7)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap1); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_int($self'addrMap1, 267, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap2); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_int($self'addrMap2, 267, $key, 1)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap3); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_cell($self'addrMap3, 267, $key)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap4); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), tuple) $MapTestContract$_fun_addrMap4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $SomeStruct$_load_opt(__tact_dict_get_slice_cell($self'addrMap4, 267, $key))); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap5); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), slice) $MapTestContract$_fun_addrMap5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_slice($self'addrMap5, 267, $key)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap6_1); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_int($self'addrMap6_1, 267, $key, 8)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap6_2); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_int($self'addrMap6_2, 267, $key, 16)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap6_3); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_int($self'addrMap6_3, 267, $key, 32)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap6_4); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_int($self'addrMap6_4, 267, $key, 64)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap6_5); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_int($self'addrMap6_5, 267, $key, 128)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap6_6); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_6Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_int($self'addrMap6_6, 267, $key, 256)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_7((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap6_7); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_7Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_int($self'addrMap6_7, 267, $key, 257)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap7_1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap7_1); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap7_1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_uint($self'addrMap7_1, 267, $key, 8)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap7_2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap7_2); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap7_2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_uint($self'addrMap7_2, 267, $key, 16)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap7_3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap7_3); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap7_3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_uint($self'addrMap7_3, 267, $key, 32)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap7_4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap7_4); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap7_4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_uint($self'addrMap7_4, 267, $key, 64)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap7_5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap7_5); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap7_5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_uint($self'addrMap7_5, 267, $key, 128)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap7_6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap7_6); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap7_6Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), __tact_dict_get_slice_uint($self'addrMap7_6, 267, $key, 256)); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_mapAsCell((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref { - var (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6)) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), $self'addrMap7_6); -} - -;; -;; Receivers of a Contract MapTestContract -;; - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) %$MapTestContract$_internal_empty((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetIntMap1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap1~__tact_dict_set_int_int(257, $msg'key, $msg'value, 257); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetIntMap2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap2~__tact_dict_set_int_int(257, $msg'key, $msg'value, 1); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetIntMap3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, cell) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap3~__tact_dict_set_int_cell(257, $msg'key, $msg'value); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetIntMap4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, tuple) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap4~__tact_dict_set_int_cell(257, $msg'key, $SomeStruct$_store_opt($msg'value)); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetIntMap5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, slice) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap5~__tact_dict_set_int_slice(257, $msg'key, $msg'value); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetIntMap6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap6_1~__tact_dict_set_int_int(8, $msg'key, $msg'value, 257); - $self'intMap6_2~__tact_dict_set_int_int(16, $msg'key, $msg'value, 257); - $self'intMap6_3~__tact_dict_set_int_int(32, $msg'key, $msg'value, 257); - $self'intMap6_4~__tact_dict_set_int_int(64, $msg'key, $msg'value, 257); - $self'intMap6_5~__tact_dict_set_int_int(128, $msg'key, $msg'value, 257); - $self'intMap6_6~__tact_dict_set_int_int(256, $msg'key, $msg'value, 257); - $self'intMap6_7~__tact_dict_set_int_int(257, $msg'key, $msg'value, 257); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetUIntMap7((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap7_1~__tact_dict_set_uint_int(8, $msg'key, $msg'value, 257); - $self'intMap7_2~__tact_dict_set_uint_int(16, $msg'key, $msg'value, 257); - $self'intMap7_3~__tact_dict_set_uint_int(32, $msg'key, $msg'value, 257); - $self'intMap7_4~__tact_dict_set_uint_int(64, $msg'key, $msg'value, 257); - $self'intMap7_5~__tact_dict_set_uint_int(128, $msg'key, $msg'value, 257); - $self'intMap7_6~__tact_dict_set_uint_int(256, $msg'key, $msg'value, 257); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetIntMap8((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap8_1~__tact_dict_set_int_int(257, $msg'key, $msg'value, 8); - $self'intMap8_2~__tact_dict_set_int_int(257, $msg'key, $msg'value, 16); - $self'intMap8_3~__tact_dict_set_int_int(257, $msg'key, $msg'value, 32); - $self'intMap8_4~__tact_dict_set_int_int(257, $msg'key, $msg'value, 64); - $self'intMap8_5~__tact_dict_set_int_int(257, $msg'key, $msg'value, 128); - $self'intMap8_6~__tact_dict_set_int_int(257, $msg'key, $msg'value, 256); - $self'intMap8_7~__tact_dict_set_int_int(257, $msg'key, $msg'value, 257); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetUIntMap9((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (int, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'intMap9_1~__tact_dict_set_int_uint(257, $msg'key, $msg'value, 8); - $self'intMap9_2~__tact_dict_set_int_uint(257, $msg'key, $msg'value, 16); - $self'intMap9_3~__tact_dict_set_int_uint(257, $msg'key, $msg'value, 32); - $self'intMap9_4~__tact_dict_set_int_uint(257, $msg'key, $msg'value, 64); - $self'intMap9_5~__tact_dict_set_int_uint(257, $msg'key, $msg'value, 128); - $self'intMap9_6~__tact_dict_set_int_uint(257, $msg'key, $msg'value, 256); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetAddrMap1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (slice, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'addrMap1~__tact_dict_set_slice_int(267, $msg'key, $msg'value, 257); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetAddrMap2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (slice, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'addrMap2~__tact_dict_set_slice_int(267, $msg'key, $msg'value, 1); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetAddrMap3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (slice, cell) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'addrMap3~__tact_dict_set_slice_cell(267, $msg'key, $msg'value); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetAddrMap4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (slice, tuple) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'addrMap4~__tact_dict_set_slice_cell(267, $msg'key, $SomeStruct$_store_opt($msg'value)); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetAddrMap5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (slice, slice) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'addrMap5~__tact_dict_set_slice_slice(267, $msg'key, $msg'value); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetAddrMap6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (slice, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'addrMap6_1~__tact_dict_set_slice_int(267, $msg'key, $msg'value, 8); - $self'addrMap6_2~__tact_dict_set_slice_int(267, $msg'key, $msg'value, 16); - $self'addrMap6_3~__tact_dict_set_slice_int(267, $msg'key, $msg'value, 32); - $self'addrMap6_4~__tact_dict_set_slice_int(267, $msg'key, $msg'value, 64); - $self'addrMap6_5~__tact_dict_set_slice_int(267, $msg'key, $msg'value, 128); - $self'addrMap6_6~__tact_dict_set_slice_int(267, $msg'key, $msg'value, 256); - $self'addrMap6_7~__tact_dict_set_slice_int(267, $msg'key, $msg'value, 257); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -(((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell)), ()) $MapTestContract$_internal_binary_SetAddrMap7((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, (slice, int) $msg) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - var ($msg'key, $msg'value) = $msg; - $self'addrMap7_1~__tact_dict_set_slice_uint(267, $msg'key, $msg'value, 8); - $self'addrMap7_2~__tact_dict_set_slice_uint(267, $msg'key, $msg'value, 16); - $self'addrMap7_3~__tact_dict_set_slice_uint(267, $msg'key, $msg'value, 32); - $self'addrMap7_4~__tact_dict_set_slice_uint(267, $msg'key, $msg'value, 64); - $self'addrMap7_5~__tact_dict_set_slice_uint(267, $msg'key, $msg'value, 128); - $self'addrMap7_6~__tact_dict_set_slice_uint(267, $msg'key, $msg'value, 256); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), ()) $MapTestContract$_internal_text_4aedba9b6dfe7cb8e0f95d1230cb0ac70b4bbbe6a3e991ae767cd363573daf1b((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline { - var ($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6) = $self; - $self'addrMap1 = null(); - $self'addrMap2 = null(); - $self'addrMap3 = null(); - $self'addrMap4 = null(); - $self'addrMap5 = null(); - $self'intMap1 = null(); - $self'intMap2 = null(); - $self'intMap3 = null(); - $self'intMap4 = null(); - $self'intMap5 = null(); - return (($self'intMap1, $self'intMap2, $self'intMap3, $self'intMap4, $self'intMap5, $self'intMap6_1, $self'intMap6_2, $self'intMap6_3, $self'intMap6_4, $self'intMap6_5, $self'intMap6_6, $self'intMap6_7, $self'intMap7_1, $self'intMap7_2, $self'intMap7_3, $self'intMap7_4, $self'intMap7_5, $self'intMap7_6, $self'intMap8_1, $self'intMap8_2, $self'intMap8_3, $self'intMap8_4, $self'intMap8_5, $self'intMap8_6, $self'intMap8_7, $self'intMap9_1, $self'intMap9_2, $self'intMap9_3, $self'intMap9_4, $self'intMap9_5, $self'intMap9_6, $self'addrMap1, $self'addrMap2, $self'addrMap3, $self'addrMap4, $self'addrMap5, $self'addrMap6_1, $self'addrMap6_2, $self'addrMap6_3, $self'addrMap6_4, $self'addrMap6_5, $self'addrMap6_6, $self'addrMap6_7, $self'addrMap7_1, $self'addrMap7_2, $self'addrMap7_3, $self'addrMap7_4, $self'addrMap7_5, $self'addrMap7_6), ()); -} - -;; -;; Get methods of a Contract MapTestContract -;; - -_ %intMap1() method_id(67207) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap1(); - return res; -} - -_ %intMap1Value(int $$key) method_id(103396) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap1Value($key); - return res; -} - -_ %intMap2() method_id(79588) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap2(); - return res; -} - -_ %intMap2Value(int $$key) method_id(89348) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap2Value($key); - return res; -} - -_ %intMap3() method_id(75461) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap3(); - return res; -} - -_ %intMap3Value(int $$key) method_id(71844) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap3Value($key); - return res; -} - -_ %intMap4() method_id(87586) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap4(); - return res; -} - -_ %intMap4Value(int $$key) method_id(119013) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap4Value($key); - return $SomeStruct$_to_opt_external(res); -} - -_ %intMap5() method_id(83459) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap5(); - return res; -} - -_ %intMap5Value(int $$key) method_id(103749) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap5Value($key); - return res; -} - -_ %intMap6_1() method_id(128682) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_1(); - return res; -} - -_ %intMap6_1Value(int $$key) method_id(107130) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_1Value($key); - return res; -} - -_ %intMap6_2() method_id(116425) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_2(); - return res; -} - -_ %intMap6_2Value(int $$key) method_id(93338) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_2Value($key); - return res; -} - -_ %intMap6_3() method_id(120552) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_3(); - return res; -} - -_ %intMap6_3Value(int $$key) method_id(76090) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_3Value($key); - return res; -} - -_ %intMap6_4() method_id(108047) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_4(); - return res; -} - -_ %intMap6_4Value(int $$key) method_id(123259) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_4Value($key); - return res; -} - -_ %intMap6_5() method_id(112174) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_5(); - return res; -} - -_ %intMap6_5Value(int $$key) method_id(107739) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_5Value($key); - return res; -} - -_ %intMap6_6() method_id(99917) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_6(); - return res; -} - -_ %intMap6_6Value(int $$key) method_id(92731) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_6Value($key); - return res; -} - -_ %intMap6_7() method_id(104044) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_7(); - return res; -} - -_ %intMap6_7Value(int $$key) method_id(77723) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap6_7Value($key); - return res; -} - -_ %intMap7_1() method_id(115098) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap7_1(); - return res; -} - -_ %intMap7_1Value(int $$key) method_id(124329) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap7_1Value($key); - return res; -} - -_ %intMap7_2() method_id(127481) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap7_2(); - return res; -} - -_ %intMap7_2Value(int $$key) method_id(76617) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap7_2Value($key); - return res; -} - -_ %intMap7_3() method_id(123352) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap7_3(); - return res; -} - -_ %intMap7_3Value(int $$key) method_id(93929) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap7_3Value($key); - return res; -} - -_ %intMap7_4() method_id(102719) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap7_4(); - return res; -} - -_ %intMap7_4Value(int $$key) method_id(108200) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap7_4Value($key); - return res; -} - -_ %intMap7_5() method_id(98590) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap7_5(); - return res; -} - -_ %intMap7_5Value(int $$key) method_id(123656) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap7_5Value($key); - return res; -} - -_ %intMap7_6() method_id(110973) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap7_6(); - return res; -} - -_ %intMap7_6Value(int $$key) method_id(77288) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap7_6Value($key); - return res; -} - -_ %intMap8_1() method_id(126379) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_1(); - return res; -} - -_ %intMap8_1Value(int $$key) method_id(81003) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_1Value($key); - return res; -} - -_ %intMap8_2() method_id(122312) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_2(); - return res; -} - -_ %intMap8_2Value(int $$key) method_id(127627) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_2Value($key); - return res; -} - -_ %intMap8_3() method_id(118249) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_3(); - return res; -} - -_ %intMap8_3Value(int $$key) method_id(112427) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_3Value($key); - return res; -} - -_ %intMap8_4() method_id(113934) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_4(); - return res; -} - -_ %intMap8_4Value(int $$key) method_id(98154) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_4Value($key); - return res; -} - -_ %intMap8_5() method_id(109871) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_5(); - return res; -} - -_ %intMap8_5Value(int $$key) method_id(80586) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_5Value($key); - return res; -} - -_ %intMap8_6() method_id(105804) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_6(); - return res; -} - -_ %intMap8_6Value(int $$key) method_id(128042) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_6Value($key); - return res; -} - -_ %intMap8_7() method_id(101741) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_7(); - return res; -} - -_ %intMap8_7Value(int $$key) method_id(110986) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap8_7Value($key); - return res; -} - -_ %intMap9_1() method_id(121499) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap9_1(); - return res; -} - -_ %intMap9_1Value(int $$key) method_id(97208) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap9_1Value($key); - return res; -} - -_ %intMap9_2() method_id(125688) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap9_2(); - return res; -} - -_ %intMap9_2Value(int $$key) method_id(111960) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap9_2Value($key); - return res; -} - -_ %intMap9_3() method_id(129753) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap9_3(); - return res; -} - -_ %intMap9_3Value(int $$key) method_id(127224) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap9_3Value($key); - return res; -} - -_ %intMap9_4() method_id(100926) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap9_4(); - return res; -} - -_ %intMap9_4Value(int $$key) method_id(80057) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap9_4Value($key); - return res; -} - -_ %intMap9_5() method_id(104991) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap9_5(); - return res; -} - -_ %intMap9_5Value(int $$key) method_id(97561) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap9_5Value($key); - return res; -} - -_ %intMap9_6() method_id(109180) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap9_6(); - return res; -} - -_ %intMap9_6Value(int $$key) method_id(111609) { - int $key = $$key; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap9_6Value($key); - return res; -} - -_ %intMap10Value(int $$key, int $$value) method_id(79133) { - int $key = $$key; - int $value = $$value; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap10Value($key, $value); - return res; -} - -_ %intMap11Value(int $$key, int $$value) method_id(94397) { - int $key = $$key; - int $value = $$value; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap11Value($key, $value); - return res; -} - -_ %intMap12Value(int $$key, int $$value) method_id(114269) { - int $key = $$key; - int $value = $$value; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap12Value($key, $value); - return res; -} - -_ %intMap13Value(int $$key, int $$value) method_id(130045) { - int $key = $$key; - int $value = $$value; - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_intMap13Value($key, $value); - return res; -} - -_ %addrMap1() method_id(93537) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap1(); - return res; -} - -_ %addrMap1Value(slice $$key) method_id(116148) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap1Value($key); - return res; -} - -_ %addrMap2() method_id(89346) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap2(); - return res; -} - -_ %addrMap2Value(slice $$key) method_id(68436) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap2Value($key); - return res; -} - -_ %addrMap3() method_id(85283) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap3(); - return res; -} - -_ %addrMap3Value(slice $$key) method_id(85748) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap3Value($key); - return res; -} - -_ %addrMap4() method_id(81348) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap4(); - return res; -} - -_ %addrMap4Value(slice $$key) method_id(100021) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap4Value($key); - return $SomeStruct$_to_opt_external(res); -} - -_ %addrMap5() method_id(77285) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap5(); - return res; -} - -_ %addrMap5Value(slice $$key) method_id(115477) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap5Value($key); - return res; -} - -_ %addrMap6_1() method_id(113810) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_1(); - return res; -} - -_ %addrMap6_1Value(slice $$key) method_id(89238) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_1Value($key); - return res; -} - -_ %addrMap6_2() method_id(101617) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_2(); - return res; -} - -_ %addrMap6_2Value(slice $$key) method_id(103030) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_2Value($key); - return res; -} - -_ %addrMap6_3() method_id(105680) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_3(); - return res; -} - -_ %addrMap6_3Value(slice $$key) method_id(120790) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_3Value($key); - return res; -} - -_ %addrMap6_4() method_id(126007) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_4(); - return res; -} - -_ %addrMap6_4Value(slice $$key) method_id(73623) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_4Value($key); - return res; -} - -_ %addrMap6_5() method_id(130070) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_5(); - return res; -} - -_ %addrMap6_5Value(slice $$key) method_id(88631) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_5Value($key); - return res; -} - -_ %addrMap6_6() method_id(117877) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_6(); - return res; -} - -_ %addrMap6_6Value(slice $$key) method_id(103639) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_6Value($key); - return res; -} - -_ %addrMap6_7() method_id(121940) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_7(); - return res; -} - -_ %addrMap6_7Value(slice $$key) method_id(119159) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap6_7Value($key); - return res; -} - -_ %addrMap7_1() method_id(101282) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap7_1(); - return res; -} - -_ %addrMap7_1Value(slice $$key) method_id(72517) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap7_1Value($key); - return res; -} - -_ %addrMap7_2() method_id(113601) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap7_2(); - return res; -} - -_ %addrMap7_2Value(slice $$key) method_id(120229) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap7_2Value($key); - return res; -} - -_ %addrMap7_3() method_id(109536) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap7_3(); - return res; -} - -_ %addrMap7_3Value(slice $$key) method_id(102405) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap7_3Value($key); - return res; -} - -_ %addrMap7_4() method_id(121607) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap7_4(); - return res; -} - -_ %addrMap7_4Value(slice $$key) method_id(88132) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap7_4Value($key); - return res; -} - -_ %addrMap7_5() method_id(117542) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap7_5(); - return res; -} - -_ %addrMap7_5Value(slice $$key) method_id(73188) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap7_5Value($key); - return res; -} - -_ %addrMap7_6() method_id(129861) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap7_6(); - return res; -} - -_ %addrMap7_6Value(slice $$key) method_id(119556) { - slice $key = __tact_verify_address($$key); - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_addrMap7_6Value($key); - return res; -} - -_ %mapAsCell() method_id(86606) { - var self = $MapTestContract$_contract_load(); - var res = self~$MapTestContract$_fun_mapAsCell(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://Qma3aYbp2TAnwXPJW1WgvDg4bq74TLH5NamtKr2BoevhAn"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract MapTestContract -;; - -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_contract_router_internal((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$MapTestContract$_internal_empty(); - return (self, true); - } - - ;; Receive SetIntMap1 message - if (op == 1510253336) { - var msg = in_msg~$SetIntMap1$_load(); - self~$MapTestContract$_internal_binary_SetIntMap1(msg); - return (self, true); - } - - ;; Receive SetIntMap2 message - if (op == 1629867766) { - var msg = in_msg~$SetIntMap2$_load(); - self~$MapTestContract$_internal_binary_SetIntMap2(msg); - return (self, true); - } - - ;; Receive SetIntMap3 message - if (op == 3613954633) { - var msg = in_msg~$SetIntMap3$_load(); - self~$MapTestContract$_internal_binary_SetIntMap3(msg); - return (self, true); - } - - ;; Receive SetIntMap4 message - if (op == 383013829) { - var msg = in_msg~$SetIntMap4$_load(); - self~$MapTestContract$_internal_binary_SetIntMap4(msg); - return (self, true); - } - - ;; Receive SetIntMap5 message - if (op == 2809746751) { - var msg = in_msg~$SetIntMap5$_load(); - self~$MapTestContract$_internal_binary_SetIntMap5(msg); - return (self, true); - } - - ;; Receive SetIntMap6 message - if (op == 1258686922) { - var msg = in_msg~$SetIntMap6$_load(); - self~$MapTestContract$_internal_binary_SetIntMap6(msg); - return (self, true); - } - - ;; Receive SetUIntMap7 message - if (op == 3563204871) { - var msg = in_msg~$SetUIntMap7$_load(); - self~$MapTestContract$_internal_binary_SetUIntMap7(msg); - return (self, true); - } - - ;; Receive SetIntMap8 message - if (op == 1910615278) { - var msg = in_msg~$SetIntMap8$_load(); - self~$MapTestContract$_internal_binary_SetIntMap8(msg); - return (self, true); - } - - ;; Receive SetUIntMap9 message - if (op == 1765685895) { - var msg = in_msg~$SetUIntMap9$_load(); - self~$MapTestContract$_internal_binary_SetUIntMap9(msg); - return (self, true); - } - - ;; Receive SetAddrMap1 message - if (op == 1749966413) { - var msg = in_msg~$SetAddrMap1$_load(); - self~$MapTestContract$_internal_binary_SetAddrMap1(msg); - return (self, true); - } - - ;; Receive SetAddrMap2 message - if (op == 624157584) { - var msg = in_msg~$SetAddrMap2$_load(); - self~$MapTestContract$_internal_binary_SetAddrMap2(msg); - return (self, true); - } - - ;; Receive SetAddrMap3 message - if (op == 4276365062) { - var msg = in_msg~$SetAddrMap3$_load(); - self~$MapTestContract$_internal_binary_SetAddrMap3(msg); - return (self, true); - } - - ;; Receive SetAddrMap4 message - if (op == 1683777913) { - var msg = in_msg~$SetAddrMap4$_load(); - self~$MapTestContract$_internal_binary_SetAddrMap4(msg); - return (self, true); - } - - ;; Receive SetAddrMap5 message - if (op == 1741376771) { - var msg = in_msg~$SetAddrMap5$_load(); - self~$MapTestContract$_internal_binary_SetAddrMap5(msg); - return (self, true); - } - - ;; Receive SetAddrMap6 message - if (op == 1742733058) { - var msg = in_msg~$SetAddrMap6$_load(); - self~$MapTestContract$_internal_binary_SetAddrMap6(msg); - return (self, true); - } - - ;; Receive SetAddrMap7 message - if (op == 2054067599) { - var msg = in_msg~$SetAddrMap7$_load(); - self~$MapTestContract$_internal_binary_SetAddrMap7(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "reset" message - if (text_op == 0x4aedba9b6dfe7cb8e0f95d1230cb0ac70b4bbbe6a3e991ae767cd363573daf1b) { - self~$MapTestContract$_internal_text_4aedba9b6dfe7cb8e0f95d1230cb0ac70b4bbbe6a3e991ae767cd363573daf1b(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $MapTestContract$_contract_load(); - - ;; Handle operation - int handled = self~$MapTestContract$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $MapTestContract$_contract_store(self); -} diff --git a/src/test/features/output/maps_MapTestContract.code.fif b/src/test/features/output/maps_MapTestContract.code.fif deleted file mode 100644 index 745b0d834..000000000 --- a/src/test/features/output/maps_MapTestContract.code.fif +++ /dev/null @@ -1,5880 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_load_address_opt - DECLPROC __tact_not_null - DECLPROC __tact_dict_set_int_int - DECLPROC __tact_dict_get_int_int - DECLPROC __tact_dict_set_int_uint - DECLPROC __tact_dict_get_int_uint - DECLPROC __tact_dict_set_uint_int - DECLPROC __tact_dict_get_uint_int - DECLPROC __tact_dict_set_int_cell - DECLPROC __tact_dict_get_int_cell - DECLPROC __tact_dict_set_int_slice - DECLPROC __tact_dict_get_int_slice - DECLPROC __tact_dict_set_slice_int - DECLPROC __tact_dict_get_slice_int - DECLPROC __tact_dict_set_slice_uint - DECLPROC __tact_dict_get_slice_uint - DECLPROC __tact_dict_set_slice_cell - DECLPROC __tact_dict_get_slice_cell - DECLPROC __tact_dict_set_slice_slice - DECLPROC __tact_dict_get_slice_slice - DECLPROC $SetIntMap1$_load - DECLPROC $SetIntMap2$_load - DECLPROC $SetIntMap3$_load - DECLPROC $SomeStruct$_store - DECLPROC $SomeStruct$_store_cell - DECLPROC $SomeStruct$_not_null - DECLPROC $SomeStruct$_store_opt - DECLPROC $SomeStruct$_load - DECLPROC $SomeStruct$_as_optional - DECLPROC $SomeStruct$_load_opt - DECLPROC $SetIntMap4$_load - DECLPROC $SetIntMap5$_load - DECLPROC $SetIntMap6$_load - DECLPROC $SetUIntMap7$_load - DECLPROC $SetIntMap8$_load - DECLPROC $SetUIntMap9$_load - DECLPROC $SetAddrMap1$_load - DECLPROC $SetAddrMap2$_load - DECLPROC $SetAddrMap3$_load - DECLPROC $SetAddrMap4$_load - DECLPROC $SetAddrMap5$_load - DECLPROC $SetAddrMap6$_load - DECLPROC $SetAddrMap7$_load - DECLPROC $MapTestContract$_store - DECLPROC $MapTestContract$_load - DECLPROC $SomeStruct$_to_tuple - DECLPROC $SomeStruct$_to_opt_tuple - DECLPROC $SomeStruct$_to_opt_external - DECLPROC $MapTestContract$_contract_init - DECLPROC $MapTestContract$_contract_load - DECLPROC $MapTestContract$_contract_store - DECLPROC $MapTestContract$_fun_intMap1 - DECLPROC $MapTestContract$_fun_intMap1Value - DECLPROC $MapTestContract$_fun_intMap2 - DECLPROC $MapTestContract$_fun_intMap2Value - DECLPROC $MapTestContract$_fun_intMap3 - DECLPROC $MapTestContract$_fun_intMap3Value - DECLPROC $MapTestContract$_fun_intMap4 - DECLPROC $MapTestContract$_fun_intMap4Value - DECLPROC $MapTestContract$_fun_intMap5 - DECLPROC $MapTestContract$_fun_intMap5Value - DECLPROC $MapTestContract$_fun_intMap6_1 - DECLPROC $MapTestContract$_fun_intMap6_1Value - DECLPROC $MapTestContract$_fun_intMap6_2 - DECLPROC $MapTestContract$_fun_intMap6_2Value - DECLPROC $MapTestContract$_fun_intMap6_3 - DECLPROC $MapTestContract$_fun_intMap6_3Value - DECLPROC $MapTestContract$_fun_intMap6_4 - DECLPROC $MapTestContract$_fun_intMap6_4Value - DECLPROC $MapTestContract$_fun_intMap6_5 - DECLPROC $MapTestContract$_fun_intMap6_5Value - DECLPROC $MapTestContract$_fun_intMap6_6 - DECLPROC $MapTestContract$_fun_intMap6_6Value - DECLPROC $MapTestContract$_fun_intMap6_7 - DECLPROC $MapTestContract$_fun_intMap6_7Value - DECLPROC $MapTestContract$_fun_intMap7_1 - DECLPROC $MapTestContract$_fun_intMap7_1Value - DECLPROC $MapTestContract$_fun_intMap7_2 - DECLPROC $MapTestContract$_fun_intMap7_2Value - DECLPROC $MapTestContract$_fun_intMap7_3 - DECLPROC $MapTestContract$_fun_intMap7_3Value - DECLPROC $MapTestContract$_fun_intMap7_4 - DECLPROC $MapTestContract$_fun_intMap7_4Value - DECLPROC $MapTestContract$_fun_intMap7_5 - DECLPROC $MapTestContract$_fun_intMap7_5Value - DECLPROC $MapTestContract$_fun_intMap7_6 - DECLPROC $MapTestContract$_fun_intMap7_6Value - DECLPROC $MapTestContract$_fun_intMap8_1 - DECLPROC $MapTestContract$_fun_intMap8_1Value - DECLPROC $MapTestContract$_fun_intMap8_2 - DECLPROC $MapTestContract$_fun_intMap8_2Value - DECLPROC $MapTestContract$_fun_intMap8_3 - DECLPROC $MapTestContract$_fun_intMap8_3Value - DECLPROC $MapTestContract$_fun_intMap8_4 - DECLPROC $MapTestContract$_fun_intMap8_4Value - DECLPROC $MapTestContract$_fun_intMap8_5 - DECLPROC $MapTestContract$_fun_intMap8_5Value - DECLPROC $MapTestContract$_fun_intMap8_6 - DECLPROC $MapTestContract$_fun_intMap8_6Value - DECLPROC $MapTestContract$_fun_intMap8_7 - DECLPROC $MapTestContract$_fun_intMap8_7Value - DECLPROC $MapTestContract$_fun_intMap9_1 - DECLPROC $MapTestContract$_fun_intMap9_1Value - DECLPROC $MapTestContract$_fun_intMap9_2 - DECLPROC $MapTestContract$_fun_intMap9_2Value - DECLPROC $MapTestContract$_fun_intMap9_3 - DECLPROC $MapTestContract$_fun_intMap9_3Value - DECLPROC $MapTestContract$_fun_intMap9_4 - DECLPROC $MapTestContract$_fun_intMap9_4Value - DECLPROC $MapTestContract$_fun_intMap9_5 - DECLPROC $MapTestContract$_fun_intMap9_5Value - DECLPROC $MapTestContract$_fun_intMap9_6 - DECLPROC $MapTestContract$_fun_intMap9_6Value - DECLPROC $MapTestContract$_fun_intMap10Value - DECLPROC $MapTestContract$_fun_intMap11Value - DECLPROC $MapTestContract$_fun_intMap12Value - DECLPROC $MapTestContract$_fun_intMap13Value - DECLPROC $MapTestContract$_fun_addrMap1 - DECLPROC $MapTestContract$_fun_addrMap1Value - DECLPROC $MapTestContract$_fun_addrMap2 - DECLPROC $MapTestContract$_fun_addrMap2Value - DECLPROC $MapTestContract$_fun_addrMap3 - DECLPROC $MapTestContract$_fun_addrMap3Value - DECLPROC $MapTestContract$_fun_addrMap4 - DECLPROC $MapTestContract$_fun_addrMap4Value - DECLPROC $MapTestContract$_fun_addrMap5 - DECLPROC $MapTestContract$_fun_addrMap5Value - DECLPROC $MapTestContract$_fun_addrMap6_1 - DECLPROC $MapTestContract$_fun_addrMap6_1Value - DECLPROC $MapTestContract$_fun_addrMap6_2 - DECLPROC $MapTestContract$_fun_addrMap6_2Value - DECLPROC $MapTestContract$_fun_addrMap6_3 - DECLPROC $MapTestContract$_fun_addrMap6_3Value - DECLPROC $MapTestContract$_fun_addrMap6_4 - DECLPROC $MapTestContract$_fun_addrMap6_4Value - DECLPROC $MapTestContract$_fun_addrMap6_5 - DECLPROC $MapTestContract$_fun_addrMap6_5Value - DECLPROC $MapTestContract$_fun_addrMap6_6 - DECLPROC $MapTestContract$_fun_addrMap6_6Value - DECLPROC $MapTestContract$_fun_addrMap6_7 - DECLPROC $MapTestContract$_fun_addrMap6_7Value - DECLPROC $MapTestContract$_fun_addrMap7_1 - DECLPROC $MapTestContract$_fun_addrMap7_1Value - DECLPROC $MapTestContract$_fun_addrMap7_2 - DECLPROC $MapTestContract$_fun_addrMap7_2Value - DECLPROC $MapTestContract$_fun_addrMap7_3 - DECLPROC $MapTestContract$_fun_addrMap7_3Value - DECLPROC $MapTestContract$_fun_addrMap7_4 - DECLPROC $MapTestContract$_fun_addrMap7_4Value - DECLPROC $MapTestContract$_fun_addrMap7_5 - DECLPROC $MapTestContract$_fun_addrMap7_5Value - DECLPROC $MapTestContract$_fun_addrMap7_6 - DECLPROC $MapTestContract$_fun_addrMap7_6Value - DECLPROC $MapTestContract$_fun_mapAsCell - DECLPROC %$MapTestContract$_internal_empty - DECLPROC $MapTestContract$_internal_binary_SetIntMap1 - DECLPROC $MapTestContract$_internal_binary_SetIntMap2 - DECLPROC $MapTestContract$_internal_binary_SetIntMap3 - DECLPROC $MapTestContract$_internal_binary_SetIntMap4 - DECLPROC $MapTestContract$_internal_binary_SetIntMap5 - DECLPROC $MapTestContract$_internal_binary_SetIntMap6 - DECLPROC $MapTestContract$_internal_binary_SetUIntMap7 - DECLPROC $MapTestContract$_internal_binary_SetIntMap8 - DECLPROC $MapTestContract$_internal_binary_SetUIntMap9 - DECLPROC $MapTestContract$_internal_binary_SetAddrMap1 - DECLPROC $MapTestContract$_internal_binary_SetAddrMap2 - DECLPROC $MapTestContract$_internal_binary_SetAddrMap3 - DECLPROC $MapTestContract$_internal_binary_SetAddrMap4 - DECLPROC $MapTestContract$_internal_binary_SetAddrMap5 - DECLPROC $MapTestContract$_internal_binary_SetAddrMap6 - DECLPROC $MapTestContract$_internal_binary_SetAddrMap7 - DECLPROC $MapTestContract$_internal_text_4aedba9b6dfe7cb8e0f95d1230cb0ac70b4bbbe6a3e991ae767cd363573daf1b - 67207 DECLMETHOD %intMap1 - 103396 DECLMETHOD %intMap1Value - 79588 DECLMETHOD %intMap2 - 89348 DECLMETHOD %intMap2Value - 75461 DECLMETHOD %intMap3 - 71844 DECLMETHOD %intMap3Value - 87586 DECLMETHOD %intMap4 - 119013 DECLMETHOD %intMap4Value - 83459 DECLMETHOD %intMap5 - 103749 DECLMETHOD %intMap5Value - 128682 DECLMETHOD %intMap6_1 - 107130 DECLMETHOD %intMap6_1Value - 116425 DECLMETHOD %intMap6_2 - 93338 DECLMETHOD %intMap6_2Value - 120552 DECLMETHOD %intMap6_3 - 76090 DECLMETHOD %intMap6_3Value - 108047 DECLMETHOD %intMap6_4 - 123259 DECLMETHOD %intMap6_4Value - 112174 DECLMETHOD %intMap6_5 - 107739 DECLMETHOD %intMap6_5Value - 99917 DECLMETHOD %intMap6_6 - 92731 DECLMETHOD %intMap6_6Value - 104044 DECLMETHOD %intMap6_7 - 77723 DECLMETHOD %intMap6_7Value - 115098 DECLMETHOD %intMap7_1 - 124329 DECLMETHOD %intMap7_1Value - 127481 DECLMETHOD %intMap7_2 - 76617 DECLMETHOD %intMap7_2Value - 123352 DECLMETHOD %intMap7_3 - 93929 DECLMETHOD %intMap7_3Value - 102719 DECLMETHOD %intMap7_4 - 108200 DECLMETHOD %intMap7_4Value - 98590 DECLMETHOD %intMap7_5 - 123656 DECLMETHOD %intMap7_5Value - 110973 DECLMETHOD %intMap7_6 - 77288 DECLMETHOD %intMap7_6Value - 126379 DECLMETHOD %intMap8_1 - 81003 DECLMETHOD %intMap8_1Value - 122312 DECLMETHOD %intMap8_2 - 127627 DECLMETHOD %intMap8_2Value - 118249 DECLMETHOD %intMap8_3 - 112427 DECLMETHOD %intMap8_3Value - 113934 DECLMETHOD %intMap8_4 - 98154 DECLMETHOD %intMap8_4Value - 109871 DECLMETHOD %intMap8_5 - 80586 DECLMETHOD %intMap8_5Value - 105804 DECLMETHOD %intMap8_6 - 128042 DECLMETHOD %intMap8_6Value - 101741 DECLMETHOD %intMap8_7 - 110986 DECLMETHOD %intMap8_7Value - 121499 DECLMETHOD %intMap9_1 - 97208 DECLMETHOD %intMap9_1Value - 125688 DECLMETHOD %intMap9_2 - 111960 DECLMETHOD %intMap9_2Value - 129753 DECLMETHOD %intMap9_3 - 127224 DECLMETHOD %intMap9_3Value - 100926 DECLMETHOD %intMap9_4 - 80057 DECLMETHOD %intMap9_4Value - 104991 DECLMETHOD %intMap9_5 - 97561 DECLMETHOD %intMap9_5Value - 109180 DECLMETHOD %intMap9_6 - 111609 DECLMETHOD %intMap9_6Value - 79133 DECLMETHOD %intMap10Value - 94397 DECLMETHOD %intMap11Value - 114269 DECLMETHOD %intMap12Value - 130045 DECLMETHOD %intMap13Value - 93537 DECLMETHOD %addrMap1 - 116148 DECLMETHOD %addrMap1Value - 89346 DECLMETHOD %addrMap2 - 68436 DECLMETHOD %addrMap2Value - 85283 DECLMETHOD %addrMap3 - 85748 DECLMETHOD %addrMap3Value - 81348 DECLMETHOD %addrMap4 - 100021 DECLMETHOD %addrMap4Value - 77285 DECLMETHOD %addrMap5 - 115477 DECLMETHOD %addrMap5Value - 113810 DECLMETHOD %addrMap6_1 - 89238 DECLMETHOD %addrMap6_1Value - 101617 DECLMETHOD %addrMap6_2 - 103030 DECLMETHOD %addrMap6_2Value - 105680 DECLMETHOD %addrMap6_3 - 120790 DECLMETHOD %addrMap6_3Value - 126007 DECLMETHOD %addrMap6_4 - 73623 DECLMETHOD %addrMap6_4Value - 130070 DECLMETHOD %addrMap6_5 - 88631 DECLMETHOD %addrMap6_5Value - 117877 DECLMETHOD %addrMap6_6 - 103639 DECLMETHOD %addrMap6_6Value - 121940 DECLMETHOD %addrMap6_7 - 119159 DECLMETHOD %addrMap6_7Value - 101282 DECLMETHOD %addrMap7_1 - 72517 DECLMETHOD %addrMap7_1Value - 113601 DECLMETHOD %addrMap7_2 - 120229 DECLMETHOD %addrMap7_2Value - 109536 DECLMETHOD %addrMap7_3 - 102405 DECLMETHOD %addrMap7_3Value - 121607 DECLMETHOD %addrMap7_4 - 88132 DECLMETHOD %addrMap7_4Value - 117542 DECLMETHOD %addrMap7_5 - 73188 DECLMETHOD %addrMap7_5Value - 129861 DECLMETHOD %addrMap7_6 - 119556 DECLMETHOD %addrMap7_6Value - 86606 DECLMETHOD %mapAsCell - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $MapTestContract$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_load_address_opt PROCINLINE:<{ - LDMSGADDR - OVER - 2 PLDU - 0 NEQINT - IF:<{ - SWAP - __tact_verify_address INLINECALLDICT - }>ELSE<{ - NIP - PUSHNULL - }> - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_dict_set_int_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> - }> - __tact_dict_get_int_int PROCINLINE:<{ - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - IF:<{ - SWAP - LDIX - DROP - }>ELSE<{ - 2DROP - PUSHNULL - }> - }> - __tact_dict_set_int_uint PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - NEWC - SWAP - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> - }> - __tact_dict_get_int_uint PROCINLINE:<{ - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - IF:<{ - SWAP - LDUX - DROP - }>ELSE<{ - 2DROP - PUSHNULL - }> - }> - __tact_dict_set_uint_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTUDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> - }> - __tact_dict_get_uint_int PROCINLINE:<{ - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - IF:<{ - SWAP - LDIX - DROP - }>ELSE<{ - 2DROP - PUSHNULL - }> - }> - __tact_dict_set_int_cell PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTISETREF - }> - }> - __tact_dict_get_int_cell PROCINLINE:<{ - -ROT - DICTIGETREF - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> - }> - __tact_dict_set_int_slice PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTIDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTISET - }> - }> - __tact_dict_get_int_slice PROCINLINE:<{ - -ROT - DICTIGET - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> - }> - __tact_dict_set_slice_int PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - NEWC - SWAP - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> - }> - __tact_dict_get_slice_int PROCINLINE:<{ - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - IF:<{ - SWAP - LDIX - DROP - }>ELSE<{ - 2DROP - PUSHNULL - }> - }> - __tact_dict_set_slice_uint PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - NEWC - SWAP - STUX - s1 s3 s3 XCHG3 - DICTSETB - }> - }> - __tact_dict_get_slice_uint PROCINLINE:<{ - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - IF:<{ - SWAP - LDUX - DROP - }>ELSE<{ - 2DROP - PUSHNULL - }> - }> - __tact_dict_set_slice_cell PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - s1 s3 s3 XCHG3 - DICTSETREF - }> - }> - __tact_dict_get_slice_cell PROCINLINE:<{ - -ROT - DICTGETREF - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> - }> - __tact_dict_set_slice_slice PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - -ROT - DICTDEL - DROP - }>ELSE<{ - NEWC - SWAP - STSLICER - s1 s3 s3 XCHG3 - DICTSETB - }> - }> - __tact_dict_get_slice_slice PROCINLINE:<{ - -ROT - DICTGET - NULLSWAPIFNOT - IF:<{ - }>ELSE<{ - DROP - PUSHNULL - }> - }> - $SetIntMap1$_load PROCINLINE:<{ - 32 LDU - SWAP - 1510253336 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetIntMap2$_load PROCINLINE:<{ - 32 LDU - SWAP - 1629867766 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - 1 LDI - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetIntMap3$_load PROCINLINE:<{ - 32 LDU - SWAP - 3613954633 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SomeStruct$_store PROCINLINE:<{ - SWAP - 257 PUSHINT - STIX - }> - $SomeStruct$_store_cell PROCINLINE:<{ - NEWC - SWAP - $SomeStruct$_store INLINECALLDICT - ENDC - }> - $SomeStruct$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 1 UNTUPLE - }> - $SomeStruct$_store_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $SomeStruct$_not_null INLINECALLDICT - $SomeStruct$_store_cell INLINECALLDICT - }> - }> - $SomeStruct$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - SWAP - }> - $SomeStruct$_as_optional PROCINLINE:<{ - 1 TUPLE - }> - $SomeStruct$_load_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - CTOS - $SomeStruct$_load INLINECALLDICT - NIP - $SomeStruct$_as_optional INLINECALLDICT - }> - }> - $SetIntMap4$_load PROCINLINE:<{ - 32 LDU - SWAP - 383013829 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - $SomeStruct$_load INLINECALLDICT - $SomeStruct$_as_optional INLINECALLDICT - }>ELSE<{ - PUSHNULL - }> - s1 s2 XCHG - }> - $SetIntMap5$_load PROCINLINE:<{ - 32 LDU - SWAP - 2809746751 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - __tact_load_address_opt INLINECALLDICT - s1 s2 XCHG - }> - $SetIntMap6$_load PROCINLINE:<{ - 32 LDU - SWAP - 1258686922 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetUIntMap7$_load PROCINLINE:<{ - 32 LDU - SWAP - 3563204871 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetIntMap8$_load PROCINLINE:<{ - 32 LDU - SWAP - 1910615278 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetUIntMap9$_load PROCINLINE:<{ - 32 LDU - SWAP - 1765685895 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetAddrMap1$_load PROCINLINE:<{ - 32 LDU - SWAP - 1749966413 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetAddrMap2$_load PROCINLINE:<{ - 32 LDU - SWAP - 624157584 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - SWAP - IF:<{ - 1 LDI - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetAddrMap3$_load PROCINLINE:<{ - 32 LDU - SWAP - 4276365062 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetAddrMap4$_load PROCINLINE:<{ - 32 LDU - SWAP - 1683777913 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - SWAP - IF:<{ - $SomeStruct$_load INLINECALLDICT - $SomeStruct$_as_optional INLINECALLDICT - }>ELSE<{ - PUSHNULL - }> - s1 s2 XCHG - }> - $SetAddrMap5$_load PROCINLINE:<{ - 32 LDU - SWAP - 1741376771 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address_opt INLINECALLDICT - s1 s2 XCHG - }> - $SetAddrMap6$_load PROCINLINE:<{ - 32 LDU - SWAP - 1742733058 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $SetAddrMap7$_load PROCINLINE:<{ - 32 LDU - SWAP - 2054067599 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - -ROT - }> - $MapTestContract$_store PROCINLINE:<{ - s1 48 s() XCHG - s0 49 s() XCHG - STDICT - s1 46 s() XCHG - STDICT - s0 44 s() XCHG - NEWC - STDICT - s1 43 s() XCHG - STDICT - s1 41 s() XCHG - STDICT - s0 39 s() XCHG - NEWC - STDICT - s1 38 s() XCHG - STDICT - s1 36 s() XCHG - STDICT - s0 34 s() XCHG - NEWC - STDICT - s1 33 s() XCHG - STDICT - s1 31 s() XCHG - STDICT - s0 29 s() XCHG - NEWC - STDICT - s1 28 s() XCHG - STDICT - s1 26 s() XCHG - STDICT - s0 24 s() XCHG - NEWC - STDICT - s1 23 s() XCHG - STDICT - s1 21 s() XCHG - STDICT - s0 19 s() XCHG - NEWC - STDICT - s1 18 s() XCHG - STDICT - s1 16 s() XCHG - STDICT - s0 s14 XCHG - NEWC - STDICT - s1 s13 XCHG - STDICT - s1 s11 XCHG - STDICT - s0 s9 XCHG - NEWC - STDICT - s1 s8 XCHG - STDICT - s1 s6 XCHG - STDICT - s0 s4 XCHG - NEWC - STDICT - s1 s3 XCHG - STDICT - STDICT - SWAP - NEWC - STDICT - s1 s3 XCHG - STDICT - s1 s3 XCHG - STDICT - s0 s4 XCHG - NEWC - STDICT - s1 s5 XCHG - STDICT - s1 s6 XCHG - STDICT - s0 s6 XCHG - NEWC - STDICT - s1 s8 XCHG - STDICT - s1 s8 XCHG - STDICT - s0 s9 XCHG - NEWC - STDICT - s1 s10 XCHG - STDICT - s1 s11 XCHG - STDICT - s0 s11 XCHG - NEWC - STDICT - s1 s13 XCHG - STDICT - s1 s13 XCHG - STDICT - s0 s14 XCHG - NEWC - STDICT - s1 s15 XCHG - STDICT - s1 16 s() XCHG - STDICT - s0 16 s() XCHG - NEWC - STDICT - s1 17 s() XCHG - STDICT - ENDC - s0 s15 XCHG2 - STREF - ENDC - s0 s10 XCHG2 - STREF - ENDC - s0 s4 XCHG2 - STREF - ENDC - s0 s8 XCHG2 - STREF - ENDC - s0 s5 XCHG2 - STREF - ENDC - s0 s11 XCHG2 - STREF - ENDC - s0 s10 XCHG2 - STREF - ENDC - SWAP - STREF - ENDC - s0 s6 XCHG2 - STREF - ENDC - s0 s5 XCHG2 - STREF - ENDC - ROT - STREF - ENDC - s0 s4 XCHG2 - STREF - ENDC - s0 s3 XCHG2 - STREF - ENDC - s0 s3 XCHG2 - STREF - ENDC - ROT - STREF - ENDC - SWAP - STREF - }> - $MapTestContract$_load PROCINLINE:<{ - LDDICT - LDDICT - LDREF - SWAP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - DROP - CTOS - LDDICT - LDDICT - DROP - 47 s() 49 s() XCHG - 47 s() 48 s() XCHG - }> - $SomeStruct$_to_tuple PROCINLINE:<{ - 1 TUPLE - }> - $SomeStruct$_to_opt_tuple PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $SomeStruct$_not_null INLINECALLDICT - $SomeStruct$_to_tuple INLINECALLDICT - }> - }> - $SomeStruct$_to_opt_external PROCINLINE:<{ - $SomeStruct$_to_opt_tuple INLINECALLDICT - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - }> - }> - $MapTestContract$_contract_init PROCREF:<{ - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - }> - $MapTestContract$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $MapTestContract$_load INLINECALLDICT - 49 s() POP - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - }> - DROP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $MapTestContract$_contract_init INLINECALLDICT - }> - $MapTestContract$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - s0 49 s() XCHG - s0 48 s() XCHG - s0 47 s() XCHG - s0 46 s() XCHG - s0 45 s() XCHG - s0 44 s() XCHG - s0 43 s() XCHG - s0 42 s() XCHG - s0 41 s() XCHG - s0 40 s() XCHG - s0 39 s() XCHG - s0 38 s() XCHG - s0 37 s() XCHG - s0 36 s() XCHG - s0 35 s() XCHG - s0 34 s() XCHG - s0 33 s() XCHG - s0 32 s() XCHG - s0 31 s() XCHG - s0 30 s() XCHG - s0 29 s() XCHG - s0 28 s() XCHG - s0 27 s() XCHG - s0 26 s() XCHG - s0 25 s() XCHG - s0 24 s() XCHG - s0 23 s() XCHG - s0 22 s() XCHG - s0 21 s() XCHG - s0 20 s() XCHG - s0 19 s() XCHG - s0 18 s() XCHG - s0 17 s() XCHG - s0 16 s() XCHG - 15 -ROLL - $MapTestContract$_store INLINECALLDICT - ENDC - c4 POP - }> - $MapTestContract$_fun_intMap1 PROCREF:<{ - 48 s() PUSH - }> - $MapTestContract$_fun_intMap1Value PROCREF:<{ - 257 PUSHINT - DUP - 51 s() PUSH - s3 s3 XCHG2 - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap2 PROCREF:<{ - 47 s() PUSH - }> - $MapTestContract$_fun_intMap2Value PROCREF:<{ - 257 PUSHINT - 49 s() PUSH - s0 s2 XCHG - 1 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap3 PROCREF:<{ - 46 s() PUSH - }> - $MapTestContract$_fun_intMap3Value PROCREF:<{ - 257 PUSHINT - 48 s() PUSH - s0 s2 XCHG - __tact_dict_get_int_cell INLINECALLDICT - }> - $MapTestContract$_fun_intMap4 PROCREF:<{ - 45 s() PUSH - }> - $MapTestContract$_fun_intMap4Value PROCREF:<{ - 257 PUSHINT - 47 s() PUSH - s0 s2 XCHG - __tact_dict_get_int_cell INLINECALLDICT - $SomeStruct$_load_opt INLINECALLDICT - }> - $MapTestContract$_fun_intMap5 PROCREF:<{ - 44 s() PUSH - }> - $MapTestContract$_fun_intMap5Value PROCREF:<{ - 257 PUSHINT - 46 s() PUSH - s0 s2 XCHG - __tact_dict_get_int_slice INLINECALLDICT - }> - $MapTestContract$_fun_intMap6_1 PROCREF:<{ - 43 s() PUSH - }> - $MapTestContract$_fun_intMap6_1Value PROCREF:<{ - 8 PUSHINT - 45 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap6_2 PROCREF:<{ - 42 s() PUSH - }> - $MapTestContract$_fun_intMap6_2Value PROCREF:<{ - 16 PUSHINT - 44 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap6_3 PROCREF:<{ - 41 s() PUSH - }> - $MapTestContract$_fun_intMap6_3Value PROCREF:<{ - 32 PUSHINT - 43 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap6_4 PROCREF:<{ - 40 s() PUSH - }> - $MapTestContract$_fun_intMap6_4Value PROCREF:<{ - 64 PUSHINT - 42 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap6_5 PROCREF:<{ - 39 s() PUSH - }> - $MapTestContract$_fun_intMap6_5Value PROCREF:<{ - 7 PUSHPOW2 - 41 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap6_6 PROCREF:<{ - 38 s() PUSH - }> - $MapTestContract$_fun_intMap6_6Value PROCREF:<{ - 8 PUSHPOW2 - 40 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap6_7 PROCREF:<{ - 37 s() PUSH - }> - $MapTestContract$_fun_intMap6_7Value PROCREF:<{ - 257 PUSHINT - DUP - 40 s() PUSH - s3 s3 XCHG2 - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap7_1 PROCREF:<{ - 36 s() PUSH - }> - $MapTestContract$_fun_intMap7_1Value PROCREF:<{ - 8 PUSHINT - 38 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_uint_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap7_2 PROCREF:<{ - 35 s() PUSH - }> - $MapTestContract$_fun_intMap7_2Value PROCREF:<{ - 16 PUSHINT - 37 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_uint_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap7_3 PROCREF:<{ - 34 s() PUSH - }> - $MapTestContract$_fun_intMap7_3Value PROCREF:<{ - 32 PUSHINT - 36 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_uint_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap7_4 PROCREF:<{ - 33 s() PUSH - }> - $MapTestContract$_fun_intMap7_4Value PROCREF:<{ - 64 PUSHINT - 35 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_uint_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap7_5 PROCREF:<{ - 32 s() PUSH - }> - $MapTestContract$_fun_intMap7_5Value PROCREF:<{ - 7 PUSHPOW2 - 34 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_uint_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap7_6 PROCREF:<{ - 31 s() PUSH - }> - $MapTestContract$_fun_intMap7_6Value PROCREF:<{ - 8 PUSHPOW2 - 33 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_uint_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap8_1 PROCREF:<{ - 30 s() PUSH - }> - $MapTestContract$_fun_intMap8_1Value PROCREF:<{ - 257 PUSHINT - 32 s() PUSH - s0 s2 XCHG - 8 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap8_2 PROCREF:<{ - 29 s() PUSH - }> - $MapTestContract$_fun_intMap8_2Value PROCREF:<{ - 257 PUSHINT - 31 s() PUSH - s0 s2 XCHG - 16 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap8_3 PROCREF:<{ - 28 s() PUSH - }> - $MapTestContract$_fun_intMap8_3Value PROCREF:<{ - 257 PUSHINT - 30 s() PUSH - s0 s2 XCHG - 32 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap8_4 PROCREF:<{ - 27 s() PUSH - }> - $MapTestContract$_fun_intMap8_4Value PROCREF:<{ - 257 PUSHINT - 29 s() PUSH - s0 s2 XCHG - 64 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap8_5 PROCREF:<{ - 26 s() PUSH - }> - $MapTestContract$_fun_intMap8_5Value PROCREF:<{ - 257 PUSHINT - 28 s() PUSH - s0 s2 XCHG - 7 PUSHPOW2 - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap8_6 PROCREF:<{ - 25 s() PUSH - }> - $MapTestContract$_fun_intMap8_6Value PROCREF:<{ - 257 PUSHINT - 27 s() PUSH - s0 s2 XCHG - 8 PUSHPOW2 - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap8_7 PROCREF:<{ - 24 s() PUSH - }> - $MapTestContract$_fun_intMap8_7Value PROCREF:<{ - 257 PUSHINT - DUP - 27 s() PUSH - s3 s3 XCHG2 - __tact_dict_get_int_int INLINECALLDICT - }> - $MapTestContract$_fun_intMap9_1 PROCREF:<{ - 23 s() PUSH - }> - $MapTestContract$_fun_intMap9_1Value PROCREF:<{ - 257 PUSHINT - 25 s() PUSH - s0 s2 XCHG - 8 PUSHINT - __tact_dict_get_int_uint INLINECALLDICT - }> - $MapTestContract$_fun_intMap9_2 PROCREF:<{ - 22 s() PUSH - }> - $MapTestContract$_fun_intMap9_2Value PROCREF:<{ - 257 PUSHINT - 24 s() PUSH - s0 s2 XCHG - 16 PUSHINT - __tact_dict_get_int_uint INLINECALLDICT - }> - $MapTestContract$_fun_intMap9_3 PROCREF:<{ - 21 s() PUSH - }> - $MapTestContract$_fun_intMap9_3Value PROCREF:<{ - 257 PUSHINT - 23 s() PUSH - s0 s2 XCHG - 32 PUSHINT - __tact_dict_get_int_uint INLINECALLDICT - }> - $MapTestContract$_fun_intMap9_4 PROCREF:<{ - 20 s() PUSH - }> - $MapTestContract$_fun_intMap9_4Value PROCREF:<{ - 257 PUSHINT - 22 s() PUSH - s0 s2 XCHG - 64 PUSHINT - __tact_dict_get_int_uint INLINECALLDICT - }> - $MapTestContract$_fun_intMap9_5 PROCREF:<{ - 19 s() PUSH - }> - $MapTestContract$_fun_intMap9_5Value PROCREF:<{ - 257 PUSHINT - 21 s() PUSH - s0 s2 XCHG - 7 PUSHPOW2 - __tact_dict_get_int_uint INLINECALLDICT - }> - $MapTestContract$_fun_intMap9_6 PROCREF:<{ - 18 s() PUSH - }> - $MapTestContract$_fun_intMap9_6Value PROCREF:<{ - 257 PUSHINT - 20 s() PUSH - s0 s2 XCHG - 8 PUSHPOW2 - __tact_dict_get_int_uint INLINECALLDICT - }> - $MapTestContract$_fun_intMap10Value PROCREF:<{ - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - s0 s6 XCHG - 8 PUSHINT - s9 s8 PUSH2 - 257 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 s5 XCHG - 16 PUSHINT - s9 s8 PUSH2 - 257 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 s4 XCHG - 32 PUSHINT - s9 s8 PUSH2 - 257 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 s3 XCHG - 64 PUSHINT - s9 s8 PUSH2 - 257 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 s2 XCHG - 7 PUSHPOW2 - s9 s8 PUSH2 - 257 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - SWAP - 8 PUSHPOW2 - s9 s8 PUSH2 - 257 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - 257 PUSHINT - DUP - s3 s8 XCHG - s10 s0 s2 PUXC2 - s10 s10 XCHG2 - __tact_dict_set_int_int INLINECALLDICT - s0 s4 XCHG - 8 PUSHINT - s8 PUSH - 257 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s3 XCHG - 16 PUSHINT - s8 PUSH - 257 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s2 XCHG - 32 PUSHINT - s8 PUSH - 257 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - SWAP - 64 PUSHINT - s8 PUSH - 257 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s5 XCHG - 7 PUSHPOW2 - s8 PUSH - 257 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s6 XCHG - 8 PUSHPOW2 - s8 PUSH - 257 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - 257 PUSHINT - DUP - s3 s6 XCHG - s1 s9 s0 XCHG3 - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - -ROT - ADD - ROT - ADD - ROT - ADD - ROT - ADD - ROT - ADD - SWAP - ADD - }> - $MapTestContract$_fun_intMap11Value PROCREF:<{ - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - s0 s5 XCHG - 8 PUSHINT - s8 s7 PUSH2 - 257 PUSHINT - __tact_dict_set_uint_int INLINECALLDICT - s0 s4 XCHG - 16 PUSHINT - s8 s7 PUSH2 - 257 PUSHINT - __tact_dict_set_uint_int INLINECALLDICT - s0 s3 XCHG - 32 PUSHINT - s8 s7 PUSH2 - 257 PUSHINT - __tact_dict_set_uint_int INLINECALLDICT - s0 s2 XCHG - 64 PUSHINT - s8 s7 PUSH2 - 257 PUSHINT - __tact_dict_set_uint_int INLINECALLDICT - SWAP - 7 PUSHPOW2 - s8 s7 PUSH2 - 257 PUSHINT - __tact_dict_set_uint_int INLINECALLDICT - s1 s5 XCHG - 8 PUSHPOW2 - s0 s8 s7 XCPUXC - 257 PUSHINT - __tact_dict_set_uint_int INLINECALLDICT - s0 s3 XCHG - 8 PUSHINT - s7 PUSH - 257 PUSHINT - __tact_dict_get_uint_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s2 XCHG - 16 PUSHINT - s7 PUSH - 257 PUSHINT - __tact_dict_get_uint_int INLINECALLDICT - __tact_not_null INLINECALLDICT - SWAP - 32 PUSHINT - s7 PUSH - 257 PUSHINT - __tact_dict_get_uint_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s4 XCHG - 64 PUSHINT - s7 PUSH - 257 PUSHINT - __tact_dict_get_uint_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s5 XCHG - 7 PUSHPOW2 - s7 PUSH - 257 PUSHINT - __tact_dict_get_uint_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s1 s3 XCHG - 8 PUSHPOW2 - s0 s7 XCHG2 - 257 PUSHINT - __tact_dict_get_uint_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s2 XCHG - ADD - ROT - ADD - ROT - ADD - ROT - ADD - SWAP - ADD - }> - $MapTestContract$_fun_intMap12Value PROCREF:<{ - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - s0 s6 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 8 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 s5 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 16 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 s4 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 32 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 s3 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 64 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 s2 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 7 PUSHPOW2 - __tact_dict_set_int_int INLINECALLDICT - SWAP - 257 PUSHINT - s9 s8 PUSH2 - 8 PUSHPOW2 - __tact_dict_set_int_int INLINECALLDICT - 257 PUSHINT - DUP - s3 s8 XCHG - s10 s0 s2 PUXC2 - s10 s10 XCHG2 - __tact_dict_set_int_int INLINECALLDICT - s0 s4 XCHG - 257 PUSHINT - s8 PUSH - 8 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s3 XCHG - 257 PUSHINT - s8 PUSH - 16 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s2 XCHG - 257 PUSHINT - s8 PUSH - 32 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - SWAP - 257 PUSHINT - s8 PUSH - 64 PUSHINT - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s5 XCHG - 257 PUSHINT - s8 PUSH - 7 PUSHPOW2 - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s6 XCHG - 257 PUSHINT - s8 PUSH - 8 PUSHPOW2 - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - 257 PUSHINT - DUP - s3 s6 XCHG - s1 s9 s0 XCHG3 - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - -ROT - ADD - ROT - ADD - ROT - ADD - ROT - ADD - ROT - ADD - SWAP - ADD - }> - $MapTestContract$_fun_intMap13Value PROCREF:<{ - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - s0 s6 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 8 PUSHINT - __tact_dict_set_int_uint INLINECALLDICT - s0 s5 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 16 PUSHINT - __tact_dict_set_int_uint INLINECALLDICT - s0 s4 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 32 PUSHINT - __tact_dict_set_int_uint INLINECALLDICT - s0 s3 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 64 PUSHINT - __tact_dict_set_int_uint INLINECALLDICT - s0 s2 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 7 PUSHPOW2 - __tact_dict_set_int_uint INLINECALLDICT - SWAP - 257 PUSHINT - s9 s8 PUSH2 - 8 PUSHPOW2 - __tact_dict_set_int_uint INLINECALLDICT - 257 PUSHINT - DUP - s3 s8 XCHG - s10 s0 s2 PUXC2 - s10 s10 XCHG2 - __tact_dict_set_int_int INLINECALLDICT - s0 s4 XCHG - 257 PUSHINT - s8 PUSH - 8 PUSHINT - __tact_dict_get_int_uint INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s3 XCHG - 257 PUSHINT - s8 PUSH - 16 PUSHINT - __tact_dict_get_int_uint INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s2 XCHG - 257 PUSHINT - s8 PUSH - 32 PUSHINT - __tact_dict_get_int_uint INLINECALLDICT - __tact_not_null INLINECALLDICT - SWAP - 257 PUSHINT - s8 PUSH - 64 PUSHINT - __tact_dict_get_int_uint INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s5 XCHG - 257 PUSHINT - s8 PUSH - 7 PUSHPOW2 - __tact_dict_get_int_uint INLINECALLDICT - __tact_not_null INLINECALLDICT - s0 s6 XCHG - 257 PUSHINT - s8 PUSH - 8 PUSHPOW2 - __tact_dict_get_int_uint INLINECALLDICT - __tact_not_null INLINECALLDICT - 257 PUSHINT - DUP - s3 s6 XCHG - s1 s9 s0 XCHG3 - __tact_dict_get_int_int INLINECALLDICT - __tact_not_null INLINECALLDICT - -ROT - ADD - ROT - ADD - ROT - ADD - ROT - ADD - ROT - ADD - SWAP - ADD - }> - $MapTestContract$_fun_addrMap1 PROCREF:<{ - 17 s() PUSH - }> - $MapTestContract$_fun_addrMap1Value PROCREF:<{ - 267 PUSHINT - 19 s() PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_slice_int INLINECALLDICT - }> - $MapTestContract$_fun_addrMap2 PROCREF:<{ - 16 s() PUSH - }> - $MapTestContract$_fun_addrMap2Value PROCREF:<{ - 267 PUSHINT - 18 s() PUSH - s0 s2 XCHG - 1 PUSHINT - __tact_dict_get_slice_int INLINECALLDICT - }> - $MapTestContract$_fun_addrMap3 PROCREF:<{ - s15 PUSH - }> - $MapTestContract$_fun_addrMap3Value PROCREF:<{ - 267 PUSHINT - 17 s() PUSH - s0 s2 XCHG - __tact_dict_get_slice_cell INLINECALLDICT - }> - $MapTestContract$_fun_addrMap4 PROCREF:<{ - s14 PUSH - }> - $MapTestContract$_fun_addrMap4Value PROCREF:<{ - 267 PUSHINT - 16 s() PUSH - s0 s2 XCHG - __tact_dict_get_slice_cell INLINECALLDICT - $SomeStruct$_load_opt INLINECALLDICT - }> - $MapTestContract$_fun_addrMap5 PROCREF:<{ - s13 PUSH - }> - $MapTestContract$_fun_addrMap5Value PROCREF:<{ - 267 PUSHINT - s15 PUSH - s0 s2 XCHG - __tact_dict_get_slice_slice INLINECALLDICT - }> - $MapTestContract$_fun_addrMap6_1 PROCREF:<{ - s12 PUSH - }> - $MapTestContract$_fun_addrMap6_1Value PROCREF:<{ - 267 PUSHINT - s14 PUSH - s0 s2 XCHG - 8 PUSHINT - __tact_dict_get_slice_int INLINECALLDICT - }> - $MapTestContract$_fun_addrMap6_2 PROCREF:<{ - s11 PUSH - }> - $MapTestContract$_fun_addrMap6_2Value PROCREF:<{ - 267 PUSHINT - s13 PUSH - s0 s2 XCHG - 16 PUSHINT - __tact_dict_get_slice_int INLINECALLDICT - }> - $MapTestContract$_fun_addrMap6_3 PROCREF:<{ - s10 PUSH - }> - $MapTestContract$_fun_addrMap6_3Value PROCREF:<{ - 267 PUSHINT - s12 PUSH - s0 s2 XCHG - 32 PUSHINT - __tact_dict_get_slice_int INLINECALLDICT - }> - $MapTestContract$_fun_addrMap6_4 PROCREF:<{ - s9 PUSH - }> - $MapTestContract$_fun_addrMap6_4Value PROCREF:<{ - 267 PUSHINT - s11 PUSH - s0 s2 XCHG - 64 PUSHINT - __tact_dict_get_slice_int INLINECALLDICT - }> - $MapTestContract$_fun_addrMap6_5 PROCREF:<{ - s8 PUSH - }> - $MapTestContract$_fun_addrMap6_5Value PROCREF:<{ - 267 PUSHINT - s10 PUSH - s0 s2 XCHG - 7 PUSHPOW2 - __tact_dict_get_slice_int INLINECALLDICT - }> - $MapTestContract$_fun_addrMap6_6 PROCREF:<{ - s7 PUSH - }> - $MapTestContract$_fun_addrMap6_6Value PROCREF:<{ - 267 PUSHINT - s9 PUSH - s0 s2 XCHG - 8 PUSHPOW2 - __tact_dict_get_slice_int INLINECALLDICT - }> - $MapTestContract$_fun_addrMap6_7 PROCREF:<{ - s6 PUSH - }> - $MapTestContract$_fun_addrMap6_7Value PROCREF:<{ - 267 PUSHINT - s8 PUSH - s0 s2 XCHG - 257 PUSHINT - __tact_dict_get_slice_int INLINECALLDICT - }> - $MapTestContract$_fun_addrMap7_1 PROCREF:<{ - s5 PUSH - }> - $MapTestContract$_fun_addrMap7_1Value PROCREF:<{ - 267 PUSHINT - s7 PUSH - s0 s2 XCHG - 8 PUSHINT - __tact_dict_get_slice_uint INLINECALLDICT - }> - $MapTestContract$_fun_addrMap7_2 PROCREF:<{ - s4 PUSH - }> - $MapTestContract$_fun_addrMap7_2Value PROCREF:<{ - 267 PUSHINT - s6 PUSH - s0 s2 XCHG - 16 PUSHINT - __tact_dict_get_slice_uint INLINECALLDICT - }> - $MapTestContract$_fun_addrMap7_3 PROCREF:<{ - s3 PUSH - }> - $MapTestContract$_fun_addrMap7_3Value PROCREF:<{ - 267 PUSHINT - s5 PUSH - s0 s2 XCHG - 32 PUSHINT - __tact_dict_get_slice_uint INLINECALLDICT - }> - $MapTestContract$_fun_addrMap7_4 PROCREF:<{ - s2 PUSH - }> - $MapTestContract$_fun_addrMap7_4Value PROCREF:<{ - 267 PUSHINT - s4 PUSH - s0 s2 XCHG - 64 PUSHINT - __tact_dict_get_slice_uint INLINECALLDICT - }> - $MapTestContract$_fun_addrMap7_5 PROCREF:<{ - OVER - }> - $MapTestContract$_fun_addrMap7_5Value PROCREF:<{ - 267 PUSHINT - s3 PUSH - s0 s2 XCHG - 7 PUSHPOW2 - __tact_dict_get_slice_uint INLINECALLDICT - }> - $MapTestContract$_fun_addrMap7_6 PROCREF:<{ - DUP - }> - $MapTestContract$_fun_addrMap7_6Value PROCREF:<{ - 267 PUSHINT - s2 PUSH - s0 s2 XCHG - 8 PUSHPOW2 - __tact_dict_get_slice_uint INLINECALLDICT - }> - $MapTestContract$_fun_mapAsCell PROCREF:<{ - DUP - }> - %$MapTestContract$_internal_empty PROCINLINE:<{ - }> - $MapTestContract$_internal_binary_SetIntMap1 PROCINLINE:<{ - 257 PUSHINT - DUP - s4 52 s() XCHG - s3 s3 s0 XCHG3 - __tact_dict_set_int_int INLINECALLDICT - s0 48 s() XCHG - }> - $MapTestContract$_internal_binary_SetIntMap2 PROCINLINE:<{ - s2 49 s() XCHG - 257 PUSHINT - -ROT - 1 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 47 s() XCHG - }> - $MapTestContract$_internal_binary_SetIntMap3 PROCINLINE:<{ - s2 48 s() XCHG - 257 PUSHINT - -ROT - __tact_dict_set_int_cell INLINECALLDICT - s0 46 s() XCHG - }> - $MapTestContract$_internal_binary_SetIntMap4 PROCINLINE:<{ - 257 PUSHINT - SWAP - $SomeStruct$_store_opt INLINECALLDICT - s3 48 s() XCHG - s1 s2 XCHG - __tact_dict_set_int_cell INLINECALLDICT - s0 45 s() XCHG - }> - $MapTestContract$_internal_binary_SetIntMap5 PROCINLINE:<{ - s2 46 s() XCHG - 257 PUSHINT - -ROT - __tact_dict_set_int_slice INLINECALLDICT - s0 44 s() XCHG - }> - $MapTestContract$_internal_binary_SetIntMap6 PROCINLINE:<{ - s0 45 s() XCHG - 8 PUSHINT - s2 PUSH - 47 s() PUSH - 257 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 44 s() XCHG - 16 PUSHINT - s2 PUSH - 47 s() PUSH - 257 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 43 s() XCHG - 32 PUSHINT - s2 PUSH - 47 s() PUSH - 257 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 42 s() XCHG - 64 PUSHINT - s2 PUSH - 47 s() PUSH - 257 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 41 s() XCHG - 7 PUSHPOW2 - s2 PUSH - 47 s() PUSH - 257 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 40 s() XCHG - 8 PUSHPOW2 - s2 PUSH - 47 s() PUSH - 257 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - 257 PUSHINT - DUP - s4 41 s() XCHG - s3 s3 s0 XCHG3 - s1 47 s() XCHG - __tact_dict_set_int_int INLINECALLDICT - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - s0 37 s() XCHG - }> - $MapTestContract$_internal_binary_SetUIntMap7 PROCINLINE:<{ - s0 38 s() XCHG - 8 PUSHINT - s2 PUSH - 40 s() PUSH - 257 PUSHINT - __tact_dict_set_uint_int INLINECALLDICT - s0 37 s() XCHG - 16 PUSHINT - s2 PUSH - 40 s() PUSH - 257 PUSHINT - __tact_dict_set_uint_int INLINECALLDICT - s0 36 s() XCHG - 32 PUSHINT - s2 PUSH - 40 s() PUSH - 257 PUSHINT - __tact_dict_set_uint_int INLINECALLDICT - s0 35 s() XCHG - 64 PUSHINT - s2 PUSH - 40 s() PUSH - 257 PUSHINT - __tact_dict_set_uint_int INLINECALLDICT - s0 34 s() XCHG - 7 PUSHPOW2 - s2 PUSH - 40 s() PUSH - 257 PUSHINT - __tact_dict_set_uint_int INLINECALLDICT - s2 33 s() XCHG - 8 PUSHPOW2 - -ROT - s0 39 s() XCHG - 257 PUSHINT - __tact_dict_set_uint_int INLINECALLDICT - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - s0 31 s() XCHG - }> - $MapTestContract$_internal_binary_SetIntMap8 PROCINLINE:<{ - s0 32 s() XCHG - 257 PUSHINT - s2 PUSH - 34 s() PUSH - 8 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 31 s() XCHG - 257 PUSHINT - s2 PUSH - 34 s() PUSH - 16 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 30 s() XCHG - 257 PUSHINT - s2 PUSH - 34 s() PUSH - 32 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 29 s() XCHG - 257 PUSHINT - s2 PUSH - 34 s() PUSH - 64 PUSHINT - __tact_dict_set_int_int INLINECALLDICT - s0 28 s() XCHG - 257 PUSHINT - s2 PUSH - 34 s() PUSH - 7 PUSHPOW2 - __tact_dict_set_int_int INLINECALLDICT - s0 27 s() XCHG - 257 PUSHINT - s2 PUSH - 34 s() PUSH - 8 PUSHPOW2 - __tact_dict_set_int_int INLINECALLDICT - 257 PUSHINT - DUP - s4 28 s() XCHG - s3 s3 s0 XCHG3 - s1 34 s() XCHG - __tact_dict_set_int_int INLINECALLDICT - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - s0 24 s() XCHG - }> - $MapTestContract$_internal_binary_SetUIntMap9 PROCINLINE:<{ - s0 25 s() XCHG - 257 PUSHINT - s2 PUSH - 27 s() PUSH - 8 PUSHINT - __tact_dict_set_int_uint INLINECALLDICT - s0 24 s() XCHG - 257 PUSHINT - s2 PUSH - 27 s() PUSH - 16 PUSHINT - __tact_dict_set_int_uint INLINECALLDICT - s0 23 s() XCHG - 257 PUSHINT - s2 PUSH - 27 s() PUSH - 32 PUSHINT - __tact_dict_set_int_uint INLINECALLDICT - s0 22 s() XCHG - 257 PUSHINT - s2 PUSH - 27 s() PUSH - 64 PUSHINT - __tact_dict_set_int_uint INLINECALLDICT - s0 21 s() XCHG - 257 PUSHINT - s2 PUSH - 27 s() PUSH - 7 PUSHPOW2 - __tact_dict_set_int_uint INLINECALLDICT - s2 20 s() XCHG - 257 PUSHINT - -ROT - s0 26 s() XCHG - 8 PUSHPOW2 - __tact_dict_set_int_uint INLINECALLDICT - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - s0 18 s() XCHG - }> - $MapTestContract$_internal_binary_SetAddrMap1 PROCINLINE:<{ - s2 19 s() XCHG - 267 PUSHINT - -ROT - 257 PUSHINT - __tact_dict_set_slice_int INLINECALLDICT - s0 17 s() XCHG - }> - $MapTestContract$_internal_binary_SetAddrMap2 PROCINLINE:<{ - s2 18 s() XCHG - 267 PUSHINT - -ROT - 1 PUSHINT - __tact_dict_set_slice_int INLINECALLDICT - s0 16 s() XCHG - }> - $MapTestContract$_internal_binary_SetAddrMap3 PROCINLINE:<{ - s2 17 s() XCHG - 267 PUSHINT - -ROT - __tact_dict_set_slice_cell INLINECALLDICT - s0 s15 XCHG - }> - $MapTestContract$_internal_binary_SetAddrMap4 PROCINLINE:<{ - 267 PUSHINT - SWAP - $SomeStruct$_store_opt INLINECALLDICT - s3 17 s() XCHG - s1 s2 XCHG - __tact_dict_set_slice_cell INLINECALLDICT - s0 s14 XCHG - }> - $MapTestContract$_internal_binary_SetAddrMap5 PROCINLINE:<{ - s2 s15 XCHG - 267 PUSHINT - -ROT - __tact_dict_set_slice_slice INLINECALLDICT - s0 s13 XCHG - }> - $MapTestContract$_internal_binary_SetAddrMap6 PROCINLINE:<{ - s0 s14 XCHG - 267 PUSHINT - s2 s15 PUSH2 - 8 PUSHINT - __tact_dict_set_slice_int INLINECALLDICT - s0 s13 XCHG - 267 PUSHINT - s2 s15 PUSH2 - 16 PUSHINT - __tact_dict_set_slice_int INLINECALLDICT - s0 s12 XCHG - 267 PUSHINT - s2 s15 PUSH2 - 32 PUSHINT - __tact_dict_set_slice_int INLINECALLDICT - s0 s11 XCHG - 267 PUSHINT - s2 s15 PUSH2 - 64 PUSHINT - __tact_dict_set_slice_int INLINECALLDICT - s0 s10 XCHG - 267 PUSHINT - s2 s15 PUSH2 - 7 PUSHPOW2 - __tact_dict_set_slice_int INLINECALLDICT - s0 s9 XCHG - 267 PUSHINT - s2 s15 PUSH2 - 8 PUSHPOW2 - __tact_dict_set_slice_int INLINECALLDICT - s2 s8 XCHG - 267 PUSHINT - s0 s0 s15 XCHG3 - 257 PUSHINT - __tact_dict_set_slice_int INLINECALLDICT - s11 s12 XCHG - s10 s11 XCHG - s9 s10 XCHG - s8 s9 XCHG - s7 s8 XCHG - s0 s6 XCHG - }> - $MapTestContract$_internal_binary_SetAddrMap7 PROCINLINE:<{ - s0 s7 XCHG - 267 PUSHINT - s2 s8 PUSH2 - 8 PUSHINT - __tact_dict_set_slice_uint INLINECALLDICT - s0 s6 XCHG - 267 PUSHINT - s2 s8 PUSH2 - 16 PUSHINT - __tact_dict_set_slice_uint INLINECALLDICT - s0 s5 XCHG - 267 PUSHINT - s2 s8 PUSH2 - 32 PUSHINT - __tact_dict_set_slice_uint INLINECALLDICT - s0 s4 XCHG - 267 PUSHINT - s2 s8 PUSH2 - 64 PUSHINT - __tact_dict_set_slice_uint INLINECALLDICT - s0 s3 XCHG - 267 PUSHINT - s2 s8 PUSH2 - 7 PUSHPOW2 - __tact_dict_set_slice_uint INLINECALLDICT - 267 PUSHINT - s0 s0 s8 XCHG3 - 8 PUSHPOW2 - __tact_dict_set_slice_uint INLINECALLDICT - s4 s5 XCHG - s3 s4 XCHG - s1 s3 s0 XCHG3 - }> - $MapTestContract$_internal_text_4aedba9b6dfe7cb8e0f95d1230cb0ac70b4bbbe6a3e991ae767cd363573daf1b PROCINLINE:<{ - s13 POP - s13 POP - s13 POP - s13 POP - s13 POP - 39 s() POP - 39 s() POP - 39 s() POP - 39 s() POP - 39 s() POP - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - PUSHNULL - s0 44 s() XCHG - PUSHNULL - s0 44 s() XCHG - PUSHNULL - s0 44 s() XCHG - PUSHNULL - s0 44 s() XCHG - PUSHNULL - s0 44 s() XCHG - s9 17 s() XCHG - s8 16 s() XCHG - s7 s15 XCHG - s6 s14 XCHG - s5 s13 XCHG - 5 5 BLKSWAP - }> - %intMap1 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap1 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap1Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap1Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap2 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap2 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap2Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap2Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap3 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap3 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap3Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap3Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap4 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap4 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap4Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap4Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - $SomeStruct$_to_opt_external INLINECALLDICT - }> - %intMap5 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap5 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap5Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap5Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_1 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap6_1 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_1Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap6_1Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_2 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap6_2 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_2Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap6_2Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_3 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap6_3 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_3Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap6_3Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_4 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap6_4 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_4Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap6_4Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_5 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap6_5 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_5Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap6_5Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_6 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap6_6 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_6Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap6_6Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_7 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap6_7 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap6_7Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap6_7Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap7_1 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap7_1 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap7_1Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap7_1Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap7_2 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap7_2 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap7_2Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap7_2Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap7_3 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap7_3 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap7_3Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap7_3Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap7_4 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap7_4 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap7_4Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap7_4Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap7_5 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap7_5 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap7_5Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap7_5Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap7_6 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap7_6 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap7_6Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap7_6Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_1 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap8_1 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_1Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap8_1Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_2 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap8_2 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_2Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap8_2Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_3 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap8_3 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_3Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap8_3Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_4 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap8_4 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_4Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap8_4Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_5 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap8_5 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_5Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap8_5Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_6 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap8_6 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_6Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap8_6Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_7 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap8_7 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap8_7Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap8_7Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap9_1 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap9_1 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap9_1Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap9_1Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap9_2 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap9_2 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap9_2Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap9_2Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap9_3 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap9_3 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap9_3Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap9_3Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap9_4 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap9_4 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap9_4Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap9_4Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap9_5 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap9_5 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap9_5Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap9_5Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap9_6 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_intMap9_6 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap9_6Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_intMap9_6Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap10Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 50 s() XCHG - 47 s() 49 s() XCHG - 46 s() 48 s() XCHG - 45 s() 47 s() XCHG - 44 s() 46 s() XCHG - 43 s() 45 s() XCHG - 42 s() 44 s() XCHG - 41 s() 43 s() XCHG - 40 s() 42 s() XCHG - 39 s() 41 s() XCHG - 38 s() 40 s() XCHG - 37 s() 39 s() XCHG - 36 s() 38 s() XCHG - 35 s() 37 s() XCHG - 34 s() 36 s() XCHG - 33 s() 35 s() XCHG - 32 s() 34 s() XCHG - 31 s() 33 s() XCHG - 30 s() 32 s() XCHG - 29 s() 31 s() XCHG - 28 s() 30 s() XCHG - 27 s() 29 s() XCHG - 26 s() 28 s() XCHG - 25 s() 27 s() XCHG - 24 s() 26 s() XCHG - 23 s() 25 s() XCHG - 22 s() 24 s() XCHG - 21 s() 23 s() XCHG - 20 s() 22 s() XCHG - 19 s() 21 s() XCHG - 18 s() 20 s() XCHG - 17 s() 19 s() XCHG - 16 s() 18 s() XCHG - s15 17 s() XCHG - s14 16 s() XCHG - s13 s15 XCHG - 2 13 BLKSWAP - $MapTestContract$_fun_intMap10Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap11Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 50 s() XCHG - 47 s() 49 s() XCHG - 46 s() 48 s() XCHG - 45 s() 47 s() XCHG - 44 s() 46 s() XCHG - 43 s() 45 s() XCHG - 42 s() 44 s() XCHG - 41 s() 43 s() XCHG - 40 s() 42 s() XCHG - 39 s() 41 s() XCHG - 38 s() 40 s() XCHG - 37 s() 39 s() XCHG - 36 s() 38 s() XCHG - 35 s() 37 s() XCHG - 34 s() 36 s() XCHG - 33 s() 35 s() XCHG - 32 s() 34 s() XCHG - 31 s() 33 s() XCHG - 30 s() 32 s() XCHG - 29 s() 31 s() XCHG - 28 s() 30 s() XCHG - 27 s() 29 s() XCHG - 26 s() 28 s() XCHG - 25 s() 27 s() XCHG - 24 s() 26 s() XCHG - 23 s() 25 s() XCHG - 22 s() 24 s() XCHG - 21 s() 23 s() XCHG - 20 s() 22 s() XCHG - 19 s() 21 s() XCHG - 18 s() 20 s() XCHG - 17 s() 19 s() XCHG - 16 s() 18 s() XCHG - s15 17 s() XCHG - s14 16 s() XCHG - s13 s15 XCHG - 2 13 BLKSWAP - $MapTestContract$_fun_intMap11Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap12Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 50 s() XCHG - 47 s() 49 s() XCHG - 46 s() 48 s() XCHG - 45 s() 47 s() XCHG - 44 s() 46 s() XCHG - 43 s() 45 s() XCHG - 42 s() 44 s() XCHG - 41 s() 43 s() XCHG - 40 s() 42 s() XCHG - 39 s() 41 s() XCHG - 38 s() 40 s() XCHG - 37 s() 39 s() XCHG - 36 s() 38 s() XCHG - 35 s() 37 s() XCHG - 34 s() 36 s() XCHG - 33 s() 35 s() XCHG - 32 s() 34 s() XCHG - 31 s() 33 s() XCHG - 30 s() 32 s() XCHG - 29 s() 31 s() XCHG - 28 s() 30 s() XCHG - 27 s() 29 s() XCHG - 26 s() 28 s() XCHG - 25 s() 27 s() XCHG - 24 s() 26 s() XCHG - 23 s() 25 s() XCHG - 22 s() 24 s() XCHG - 21 s() 23 s() XCHG - 20 s() 22 s() XCHG - 19 s() 21 s() XCHG - 18 s() 20 s() XCHG - 17 s() 19 s() XCHG - 16 s() 18 s() XCHG - s15 17 s() XCHG - s14 16 s() XCHG - s13 s15 XCHG - 2 13 BLKSWAP - $MapTestContract$_fun_intMap12Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %intMap13Value PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 50 s() XCHG - 47 s() 49 s() XCHG - 46 s() 48 s() XCHG - 45 s() 47 s() XCHG - 44 s() 46 s() XCHG - 43 s() 45 s() XCHG - 42 s() 44 s() XCHG - 41 s() 43 s() XCHG - 40 s() 42 s() XCHG - 39 s() 41 s() XCHG - 38 s() 40 s() XCHG - 37 s() 39 s() XCHG - 36 s() 38 s() XCHG - 35 s() 37 s() XCHG - 34 s() 36 s() XCHG - 33 s() 35 s() XCHG - 32 s() 34 s() XCHG - 31 s() 33 s() XCHG - 30 s() 32 s() XCHG - 29 s() 31 s() XCHG - 28 s() 30 s() XCHG - 27 s() 29 s() XCHG - 26 s() 28 s() XCHG - 25 s() 27 s() XCHG - 24 s() 26 s() XCHG - 23 s() 25 s() XCHG - 22 s() 24 s() XCHG - 21 s() 23 s() XCHG - 20 s() 22 s() XCHG - 19 s() 21 s() XCHG - 18 s() 20 s() XCHG - 17 s() 19 s() XCHG - 16 s() 18 s() XCHG - s15 17 s() XCHG - s14 16 s() XCHG - s13 s15 XCHG - 2 13 BLKSWAP - $MapTestContract$_fun_intMap13Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap1 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap1 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap1Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap1Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap2 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap2 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap2Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap2Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap3 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap3 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap3Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap3Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap4 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap4 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap4Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap4Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - $SomeStruct$_to_opt_external INLINECALLDICT - }> - %addrMap5 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap5 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap5Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap5Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_1 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap6_1 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_1Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap6_1Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_2 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap6_2 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_2Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap6_2Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_3 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap6_3 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_3Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap6_3Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_4 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap6_4 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_4Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap6_4Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_5 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap6_5 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_5Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap6_5Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_6 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap6_6 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_6Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap6_6Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_7 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap6_7 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap6_7Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap6_7Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap7_1 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap7_1 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap7_1Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap7_1Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap7_2 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap7_2 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap7_2Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap7_2Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap7_3 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap7_3 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap7_3Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap7_3Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap7_4 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap7_4 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap7_4Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap7_4Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap7_5 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap7_5 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap7_5Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap7_5Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap7_6 PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_addrMap7_6 INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %addrMap7_6Value PROC:<{ - __tact_verify_address INLINECALLDICT - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 49 s() XCHG - 47 s() 48 s() XCHG - 46 s() 47 s() XCHG - 45 s() 46 s() XCHG - 44 s() 45 s() XCHG - 43 s() 44 s() XCHG - 42 s() 43 s() XCHG - 41 s() 42 s() XCHG - 40 s() 41 s() XCHG - 39 s() 40 s() XCHG - 38 s() 39 s() XCHG - 37 s() 38 s() XCHG - 36 s() 37 s() XCHG - 35 s() 36 s() XCHG - 34 s() 35 s() XCHG - 33 s() 34 s() XCHG - 32 s() 33 s() XCHG - 31 s() 32 s() XCHG - 30 s() 31 s() XCHG - 29 s() 30 s() XCHG - 28 s() 29 s() XCHG - 27 s() 28 s() XCHG - 26 s() 27 s() XCHG - 25 s() 26 s() XCHG - 24 s() 25 s() XCHG - 23 s() 24 s() XCHG - 22 s() 23 s() XCHG - 21 s() 22 s() XCHG - 20 s() 21 s() XCHG - 19 s() 20 s() XCHG - 18 s() 19 s() XCHG - 17 s() 18 s() XCHG - 16 s() 17 s() XCHG - s15 16 s() XCHG - 15 ROLL - $MapTestContract$_fun_addrMap7_6Value INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - %mapAsCell PROC:<{ - $MapTestContract$_contract_load INLINECALLDICT - $MapTestContract$_fun_mapAsCell INLINECALLDICT - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - 16 s() POP - 15 BLKDROP - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d6133615962703254416e7758504a573157677644673462713734544c48354e616d744b7232426f657668416e} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $MapTestContract$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - IFJMP:<{ - 2DROP - %$MapTestContract$_internal_empty INLINECALLDICT - TRUE - }> - DUP - 1510253336 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetIntMap1$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetIntMap1 INLINECALLDICT - TRUE - }> - DUP - 1629867766 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetIntMap2$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetIntMap2 INLINECALLDICT - TRUE - }> - DUP - 3613954633 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetIntMap3$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetIntMap3 INLINECALLDICT - TRUE - }> - DUP - 383013829 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetIntMap4$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetIntMap4 INLINECALLDICT - TRUE - }> - DUP - 2809746751 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetIntMap5$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetIntMap5 INLINECALLDICT - TRUE - }> - DUP - 1258686922 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetIntMap6$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetIntMap6 INLINECALLDICT - TRUE - }> - DUP - 3563204871 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetUIntMap7$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetUIntMap7 INLINECALLDICT - TRUE - }> - DUP - 1910615278 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetIntMap8$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetIntMap8 INLINECALLDICT - TRUE - }> - DUP - 1765685895 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetUIntMap9$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetUIntMap9 INLINECALLDICT - TRUE - }> - DUP - 1749966413 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetAddrMap1$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetAddrMap1 INLINECALLDICT - TRUE - }> - DUP - 624157584 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetAddrMap2$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetAddrMap2 INLINECALLDICT - TRUE - }> - DUP - 4276365062 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetAddrMap3$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetAddrMap3 INLINECALLDICT - TRUE - }> - DUP - 1683777913 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetAddrMap4$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetAddrMap4 INLINECALLDICT - TRUE - }> - DUP - 1741376771 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetAddrMap5$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetAddrMap5 INLINECALLDICT - TRUE - }> - DUP - 1742733058 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetAddrMap6$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetAddrMap6 INLINECALLDICT - TRUE - }> - DUP - 2054067599 PUSHINT - EQUAL - IFJMP:<{ - DROP - $SetAddrMap7$_load INLINECALLDICT - 1 2 BLKDROP2 - $MapTestContract$_internal_binary_SetAddrMap7 INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - 33891181464710156031034046061755617033497409731940287186959295655538839105307 PUSHINT - EQUAL - IFJMP:<{ - $MapTestContract$_internal_text_4aedba9b6dfe7cb8e0f95d1230cb0ac70b4bbbe6a3e991ae767cd363573daf1b INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $MapTestContract$_contract_load INLINECALLDICT - 48 s() 50 s() XCHG - 47 s() 49 s() XCHG - 46 s() 48 s() XCHG - 45 s() 47 s() XCHG - 44 s() 46 s() XCHG - 43 s() 45 s() XCHG - 42 s() 44 s() XCHG - 41 s() 43 s() XCHG - 40 s() 42 s() XCHG - 39 s() 41 s() XCHG - 38 s() 40 s() XCHG - 37 s() 39 s() XCHG - 36 s() 38 s() XCHG - 35 s() 37 s() XCHG - 34 s() 36 s() XCHG - 33 s() 35 s() XCHG - 32 s() 34 s() XCHG - 31 s() 33 s() XCHG - 30 s() 32 s() XCHG - 29 s() 31 s() XCHG - 28 s() 30 s() XCHG - 27 s() 29 s() XCHG - 26 s() 28 s() XCHG - 25 s() 27 s() XCHG - 24 s() 26 s() XCHG - 23 s() 25 s() XCHG - 22 s() 24 s() XCHG - 21 s() 23 s() XCHG - 20 s() 22 s() XCHG - 19 s() 21 s() XCHG - 18 s() 20 s() XCHG - 17 s() 19 s() XCHG - 16 s() 18 s() XCHG - s15 17 s() XCHG - s14 16 s() XCHG - s13 s15 XCHG - 2 13 BLKSWAP - $MapTestContract$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $MapTestContract$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/maps_MapTestContract.code.rev.fif b/src/test/features/output/maps_MapTestContract.code.rev.fif deleted file mode 100644 index 089d79210..000000000 --- a/src/test/features/output/maps_MapTestContract.code.rev.fif +++ /dev/null @@ -1,11837 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_67207; - DECLPROC ?fun_68436; - DECLPROC ?fun_71844; - DECLPROC ?fun_72517; - DECLPROC ?fun_73188; - DECLPROC ?fun_73623; - DECLPROC ?fun_75461; - DECLPROC ?fun_76090; - DECLPROC ?fun_76617; - DECLPROC ?fun_77285; - DECLPROC ?fun_77288; - DECLPROC ?fun_77723; - DECLPROC ?fun_79133; - DECLPROC ?fun_79588; - DECLPROC ?fun_80057; - DECLPROC ?fun_80586; - DECLPROC ?fun_81003; - DECLPROC ?fun_81348; - DECLPROC ?fun_83459; - DECLPROC ?fun_85283; - DECLPROC ?fun_85748; - DECLPROC ?fun_86606; - DECLPROC ?fun_87586; - DECLPROC ?fun_88132; - DECLPROC ?fun_88631; - DECLPROC ?fun_89238; - DECLPROC ?fun_89346; - DECLPROC ?fun_89348; - DECLPROC ?fun_92731; - DECLPROC ?fun_93338; - DECLPROC ?fun_93537; - DECLPROC ?fun_93929; - DECLPROC ?fun_94397; - DECLPROC ?fun_97208; - DECLPROC ?fun_97561; - DECLPROC ?fun_98154; - DECLPROC ?fun_98590; - DECLPROC ?fun_99917; - DECLPROC ?fun_100021; - DECLPROC ?fun_100926; - DECLPROC ?fun_101282; - DECLPROC ?fun_101617; - DECLPROC ?fun_101741; - DECLPROC ?fun_102405; - DECLPROC ?fun_102719; - DECLPROC ?fun_103030; - DECLPROC ?fun_103396; - DECLPROC ?fun_103639; - DECLPROC ?fun_103749; - DECLPROC ?fun_104044; - DECLPROC ?fun_104991; - DECLPROC ?fun_105680; - DECLPROC ?fun_105804; - DECLPROC ?fun_107130; - DECLPROC ?fun_107739; - DECLPROC ?fun_108047; - DECLPROC ?fun_108200; - DECLPROC ?fun_109180; - DECLPROC ?fun_109536; - DECLPROC ?fun_109871; - DECLPROC ?fun_110973; - DECLPROC ?fun_110986; - DECLPROC ?fun_111609; - DECLPROC ?fun_111960; - DECLPROC ?fun_112174; - DECLPROC ?fun_112427; - DECLPROC ?fun_113601; - DECLPROC supported_interfaces; - DECLPROC ?fun_113810; - DECLPROC ?fun_113934; - DECLPROC ?fun_114269; - DECLPROC ?fun_115098; - DECLPROC lazy_deployment_completed; - DECLPROC ?fun_115477; - DECLPROC ?fun_116148; - DECLPROC ?fun_116425; - DECLPROC ?fun_117542; - DECLPROC ?fun_117877; - DECLPROC ?fun_118249; - DECLPROC ?fun_119013; - DECLPROC ?fun_119159; - DECLPROC ?fun_119556; - DECLPROC ?fun_120229; - DECLPROC ?fun_120552; - DECLPROC ?fun_120790; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_121499; - DECLPROC ?fun_121607; - DECLPROC ?fun_121940; - DECLPROC ?fun_122312; - DECLPROC ?fun_123259; - DECLPROC ?fun_123352; - DECLPROC ?fun_123656; - DECLPROC ?fun_124329; - DECLPROC ?fun_125688; - DECLPROC ?fun_126007; - DECLPROC ?fun_126379; - DECLPROC ?fun_127224; - DECLPROC ?fun_127481; - DECLPROC ?fun_127627; - DECLPROC ?fun_128042; - DECLPROC ?fun_128682; - DECLPROC ?fun_129753; - DECLPROC ?fun_129861; - DECLPROC ?fun_130045; - DECLPROC ?fun_130070; - DECLPROC ?fun_ref_0005adadd8194c57; - DECLPROC ?fun_ref_03062178563fb360; - DECLPROC ?fun_ref_03bb8213691adaa0; - DECLPROC ?fun_ref_0a1ef94ebe2d59f7; - DECLPROC ?fun_ref_0bae1aa3a16fbb81; - DECLPROC ?fun_ref_0f16ab2829ba1850; - DECLPROC ?fun_ref_0fa9c09d04498d9f; - DECLPROC ?fun_ref_1050883863155503; - DECLPROC ?fun_ref_10885cfbf0f5b847; - DECLPROC ?fun_ref_10c319ce0484d846; - DECLPROC ?fun_ref_10f4ff3ec86e295e; - DECLPROC ?fun_ref_11fd78e99eaf4781; - DECLPROC ?fun_ref_14ed3c63006254a4; - DECLPROC ?fun_ref_1685e1efa5d650ea; - DECLPROC ?fun_ref_17775a33ee1e8fcf; - DECLPROC ?fun_ref_19f361cc6bc7a4d1; - DECLPROC ?fun_ref_1c16204d98b0bbbe; - DECLPROC ?fun_ref_1e8d3bea85f5828b; - DECLPROC ?fun_ref_1f4489eb501e6d0d; - DECLPROC ?fun_ref_208ed0acd0cabf8e; - DECLPROC ?fun_ref_211087ca8f8d3d59; - DECLPROC ?fun_ref_2152dfab6624fcdd; - DECLPROC ?fun_ref_2730af090faf7a9d; - DECLPROC ?fun_ref_27593f6c871f97ee; - DECLPROC ?fun_ref_2aa060670312cf2a; - DECLPROC ?fun_ref_2ad313daa524c36f; - DECLPROC ?fun_ref_2b09043f94540409; - DECLPROC ?fun_ref_2c1988d0c53291ad; - DECLPROC ?fun_ref_2f0501324a7b3bcb; - DECLPROC ?fun_ref_2f66a11096cb9487; - DECLPROC ?fun_ref_3462f6793cb649b2; - DECLPROC ?fun_ref_361649b8d18a1978; - DECLPROC ?fun_ref_3dcd865b091a97a2; - DECLPROC ?fun_ref_3e1ee3b82aad61e4; - DECLPROC ?fun_ref_3e87dbe93e7ecd42; - DECLPROC ?fun_ref_40d98146a47dbe3b; - DECLPROC ?fun_ref_41ad10ffaaa6714e; - DECLPROC ?fun_ref_42b40ef11f56babb; - DECLPROC ?fun_ref_42c4e2bb0c477123; - DECLPROC ?fun_ref_44086a5ce86162fe; - DECLPROC ?fun_ref_45057abf5898015d; - DECLPROC ?fun_ref_4600b8e5e3d88e87; - DECLPROC ?fun_ref_46a2c6276829e0b0; - DECLPROC ?fun_ref_4783943b29f5affb; - DECLPROC ?fun_ref_48265d365e53ad80; - DECLPROC ?fun_ref_4dc44e558a17d58b; - DECLPROC ?fun_ref_4ee8888d01627a5b; - DECLPROC ?fun_ref_4f83e4053dda7bb9; - DECLPROC ?fun_ref_4fb05b81f7c68af8; - DECLPROC ?fun_ref_535dce4774a0586e; - DECLPROC ?fun_ref_5ae69f560ee7dab7; - DECLPROC ?fun_ref_5cf33b450293f97d; - DECLPROC ?fun_ref_5fee1b3a83f641e0; - DECLPROC ?fun_ref_6276ba6618a5dfa8; - DECLPROC ?fun_ref_6326faa87beffd08; - DECLPROC ?fun_ref_6c7e480b090fad20; - DECLPROC ?fun_ref_6e10c7ae825f83ca; - DECLPROC ?fun_ref_716066674fbb13ff; - DECLPROC ?fun_ref_748a957f4777dd9f; - DECLPROC ?fun_ref_74e85ecd13d2849e; - DECLPROC ?fun_ref_750b5e2df7ffc4f5; - DECLPROC ?fun_ref_775db7c0525f4f82; - DECLPROC ?fun_ref_82b2475d81740ed4; - DECLPROC ?fun_ref_8893dea8dd8a770c; - DECLPROC ?fun_ref_8893e4efb4fcb5fd; - DECLPROC ?fun_ref_8d8c37d12682d7d7; - DECLPROC ?fun_ref_94675458c3c718f5; - DECLPROC ?fun_ref_96b51136bd53ab0e; - DECLPROC ?fun_ref_96defa64c514f80e; - DECLPROC ?fun_ref_9a0afd3466dc3d99; - DECLPROC ?fun_ref_a090c1aee7367fab; - DECLPROC ?fun_ref_a708053de499b31b; - DECLPROC ?fun_ref_ab9cd184c88e7d61; - DECLPROC ?fun_ref_ad2cdeeec62754ee; - DECLPROC ?fun_ref_ad961e5c0697dcd8; - DECLPROC ?fun_ref_b02a723cea9b78bc; - DECLPROC ?fun_ref_b0a5ab0ac20548bb; - DECLPROC ?fun_ref_b2f99ae1a1dd4dfb; - DECLPROC ?fun_ref_b347d9c3ebd197d4; - DECLPROC ?fun_ref_b69e4ba6ab46d84a; - DECLPROC ?fun_ref_b87aaf1455a99180; - DECLPROC ?fun_ref_b897730d607fe442; - DECLPROC ?fun_ref_b9f0fe63c44a7965; - DECLPROC ?fun_ref_c0af0b77ca54cb78; - DECLPROC ?fun_ref_c227cf8ce099fb69; - DECLPROC ?fun_ref_c4c939ff1989bb9c; - DECLPROC ?fun_ref_c4ca5aaca4e629d3; - DECLPROC ?fun_ref_ca63fe857bb922e4; - DECLPROC ?fun_ref_cc0db71ff6d8ae92; - DECLPROC ?fun_ref_cf0a971bd3908d8a; - DECLPROC ?fun_ref_d4607ca3cd379298; - DECLPROC ?fun_ref_d60a1cce39e33186; - DECLPROC ?fun_ref_d783084a6741fd77; - DECLPROC ?fun_ref_d9e1b9d1e5ec3b45; - DECLPROC ?fun_ref_db786e1b029df550; - DECLPROC ?fun_ref_dca8502388807006; - DECLPROC ?fun_ref_de37e48f178d8028; - DECLPROC ?fun_ref_e09e63913e622f86; - DECLPROC ?fun_ref_e09f8504bf357f6c; - DECLPROC ?fun_ref_e5b0e0843d6a7de1; - DECLPROC ?fun_ref_eb1f6c88057f1f7e; - DECLPROC ?fun_ref_ede2fd08a3ac8f05; - DECLPROC ?fun_ref_f1ac611f4336d1e1; - DECLPROC ?fun_ref_f36a6d8837e60632; - DECLPROC ?fun_ref_f452d767478a13e2; - DECLPROC ?fun_ref_f986fd0ccb97c7e2; - DECLPROC ?fun_ref_f9cfc308b40bc929; - DECLPROC ?fun_ref_fafb972e908fca85; - DECLPROC ?fun_ref_faff694f2f05574e; - DECLPROC ?fun_ref_fc9271f0b8137277; - DECLPROC ?fun_ref_fd1c377b2cf82958; - DECLPROC ?fun_ref_fe5574715d35e625; - DECLPROC ?fun_ref_febca6c4d71293f1; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s50 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s49 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s48 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s47 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s46 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s45 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s44 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s43 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s42 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s41 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s40 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s39 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s38 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s37 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s36 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s35 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s34 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s33 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s32 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s31 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s30 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s29 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s28 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s27 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s26 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s25 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s24 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s23 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s22 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s21 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s20 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s19 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s18 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s17 XCHG - s0 s15 XCHG - s0 s14 XCHG - s0 s16 XCHG - s0 s14 XCHG - s13 s15 XCHG - 2 13 BLKSWAP - ?fun_ref_b0a5ab0ac20548bb INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - 15 1 BLKSWAP - ?fun_ref_14ed3c63006254a4 INLINECALLDICT - ENDC - c4 POP - }> - ?fun_67207 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_dca8502388807006 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_68436 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_c4ca5aaca4e629d3 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_71844 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_f986fd0ccb97c7e2 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_72517 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_8893dea8dd8a770c INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_73188 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_d4607ca3cd379298 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_73623 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_faff694f2f05574e INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_75461 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_96defa64c514f80e INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_76090 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_6e10c7ae825f83ca INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_76617 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_e5b0e0843d6a7de1 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_77285 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_c227cf8ce099fb69 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_77288 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_0f16ab2829ba1850 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_77723 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_fe5574715d35e625 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_79133 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s50 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s49 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s48 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s47 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s46 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s45 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s44 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s43 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s42 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s41 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s40 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s39 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s38 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s37 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s36 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s35 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s34 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s33 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s32 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s31 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s30 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s29 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s28 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s27 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s26 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s25 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s24 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s23 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s22 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s21 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s20 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s19 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s18 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s17 XCHG - s0 s15 XCHG - s0 s14 XCHG - s0 s16 XCHG - s0 s14 XCHG - s13 s15 XCHG - 2 13 BLKSWAP - ?fun_ref_ad2cdeeec62754ee INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_79588 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_f1ac611f4336d1e1 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_80057 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_cc0db71ff6d8ae92 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_80586 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_5cf33b450293f97d INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_81003 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_de37e48f178d8028 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_81348 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_f452d767478a13e2 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_83459 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_2152dfab6624fcdd INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_85283 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_2c1988d0c53291ad INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_85748 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_42c4e2bb0c477123 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_86606 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_40d98146a47dbe3b INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_87586 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_41ad10ffaaa6714e INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_88132 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_96b51136bd53ab0e INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_88631 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_3462f6793cb649b2 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_89238 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_8d8c37d12682d7d7 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_89346 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_0a1ef94ebe2d59f7 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_89348 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_48265d365e53ad80 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_92731 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_b9f0fe63c44a7965 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_93338 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_4dc44e558a17d58b INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_93537 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_361649b8d18a1978 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_93929 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_b69e4ba6ab46d84a INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_94397 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s50 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s49 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s48 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s47 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s46 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s45 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s44 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s43 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s42 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s41 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s40 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s39 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s38 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s37 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s36 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s35 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s34 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s33 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s32 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s31 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s30 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s29 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s28 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s27 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s26 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s25 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s24 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s23 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s22 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s21 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s20 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s19 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s18 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s17 XCHG - s0 s15 XCHG - s0 s14 XCHG - s0 s16 XCHG - s0 s14 XCHG - s13 s15 XCHG - 2 13 BLKSWAP - ?fun_ref_b02a723cea9b78bc INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_97208 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_10885cfbf0f5b847 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_97561 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_ca63fe857bb922e4 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_98154 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_11fd78e99eaf4781 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_98590 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_27593f6c871f97ee INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_99917 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_e09f8504bf357f6c INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_100021 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_4600b8e5e3d88e87 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 1 UNTUPLE - 1 TUPLE - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - IF - }> - ?fun_100926 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_5ae69f560ee7dab7 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_101282 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_6326faa87beffd08 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_101617 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_f36a6d8837e60632 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_101741 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_0fa9c09d04498d9f INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_102405 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_208ed0acd0cabf8e INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_102719 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_fc9271f0b8137277 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_103030 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_ede2fd08a3ac8f05 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_103396 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_10f4ff3ec86e295e INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_103639 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_82b2475d81740ed4 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_103749 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_1c16204d98b0bbbe INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_104044 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_17775a33ee1e8fcf INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_104991 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_ab9cd184c88e7d61 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_105680 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_2730af090faf7a9d INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_105804 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_46a2c6276829e0b0 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_107130 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_4fb05b81f7c68af8 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_107739 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_a090c1aee7367fab INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_108047 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_e09e63913e622f86 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_108200 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_74e85ecd13d2849e INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_109180 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_c4c939ff1989bb9c INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_109536 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_10c319ce0484d846 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_109871 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_fafb972e908fca85 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_110973 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_1f4489eb501e6d0d INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_110986 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_1685e1efa5d650ea INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_111609 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_d783084a6741fd77 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_111960 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_cf0a971bd3908d8a INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_112174 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_d60a1cce39e33186 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_112427 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_db786e1b029df550 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_113601 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_b347d9c3ebd197d4 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - ?fun_113810 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_4ee8888d01627a5b INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_113934 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_6c7e480b090fad20 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_114269 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s50 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s49 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s48 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s47 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s46 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s45 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s44 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s43 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s42 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s41 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s40 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s39 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s38 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s37 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s36 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s35 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s34 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s33 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s32 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s31 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s30 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s29 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s28 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s27 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s26 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s25 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s24 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s23 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s22 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s21 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s20 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s19 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s18 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s17 XCHG - s0 s15 XCHG - s0 s14 XCHG - s0 s16 XCHG - s0 s14 XCHG - s13 s15 XCHG - 2 13 BLKSWAP - ?fun_ref_45057abf5898015d INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_115098 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_94675458c3c718f5 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - ?fun_115477 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_a708053de499b31b INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_116148 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_5fee1b3a83f641e0 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_116425 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_2ad313daa524c36f INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_117542 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_44086a5ce86162fe INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_117877 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_1e8d3bea85f5828b INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_118249 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_c0af0b77ca54cb78 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_119013 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_fd1c377b2cf82958 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 1 UNTUPLE - 1 TUPLE - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - IF - }> - ?fun_119159 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_3e1ee3b82aad61e4 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_119556 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_2aa060670312cf2a INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_120229 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_8893e4efb4fcb5fd INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_120552 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_eb1f6c88057f1f7e INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_120790 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_3dcd865b091a97a2 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D6133615962703254416E7758504A573157677644673462713734544C48354E616D744B7232426F657668416E82_} PUSHSLICE - }> - ?fun_121499 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_19f361cc6bc7a4d1 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_121607 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_121940 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_750b5e2df7ffc4f5 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_122312 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_2b09043f94540409 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_123259 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_716066674fbb13ff INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_123352 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_2f0501324a7b3bcb INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_123656 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_f9cfc308b40bc929 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_124329 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_03bb8213691adaa0 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_125688 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_0005adadd8194c57 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_126007 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_d9e1b9d1e5ec3b45 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_126379 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_b897730d607fe442 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_127224 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_03062178563fb360 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_127481 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_42b40ef11f56babb INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_127627 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_b87aaf1455a99180 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_128042 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s49 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - ?fun_ref_211087ca8f8d3d59 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_128682 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_3e87dbe93e7ecd42 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_129753 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_4783943b29f5affb INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_129861 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_40d98146a47dbe3b INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_130045 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - s0 s48 XCHG - s0 s50 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s49 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s48 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s47 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s46 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s45 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s44 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s43 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s42 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s41 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s40 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s39 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s38 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s37 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s36 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s35 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s34 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s33 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s32 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s31 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s30 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s29 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s28 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s27 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s26 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s25 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s24 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s23 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s22 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s21 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s20 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s19 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s18 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s17 XCHG - s0 s15 XCHG - s0 s14 XCHG - s0 s16 XCHG - s0 s14 XCHG - s13 s15 XCHG - 2 13 BLKSWAP - ?fun_ref_775db7c0525f4f82 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_130070 PROC:<{ - ?fun_ref_ad961e5c0697dcd8 INLINECALLDICT - ?fun_ref_febca6c4d71293f1 INLINECALLDICT - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s16 POP - 15 BLKDROP - s1 POP - }> - ?fun_ref_0005adadd8194c57 PROCREF:<{ - s22 PUSH - }> - ?fun_ref_03062178563fb360 PROCREF:<{ - 257 PUSHINT - s23 PUSH - s0 s2 XCHG - 32 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_03bb8213691adaa0 PROCREF:<{ - 8 PUSHINT - s38 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_0a1ef94ebe2d59f7 PROCREF:<{ - s16 PUSH - }> - ?fun_ref_0bae1aa3a16fbb81 PROCREF:<{ - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - NULL - }> - ?fun_ref_0f16ab2829ba1850 PROCREF:<{ - 8 PUSHPOW2 - s33 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_0fa9c09d04498d9f PROCREF:<{ - s24 PUSH - }> - ?fun_ref_1050883863155503 PROCREF:<{ - LDDICT - LDDICT - LDREF - s0 s1 XCHG - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - LDDICT - LDREF - s0 POP - CTOS - LDDICT - LDDICT - s0 POP - s0 s47 XCHG - s0 s49 XCHG - s0 s47 XCHG - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - }> - ?fun_ref_10885cfbf0f5b847 PROCREF:<{ - 257 PUSHINT - s25 PUSH - s0 s2 XCHG - 8 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_10c319ce0484d846 PROCREF:<{ - s3 PUSH - }> - ?fun_ref_10f4ff3ec86e295e PROCREF:<{ - 257 PUSHINT - s0 PUSH - s51 PUSH - s3 s3 XCHG2 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_11fd78e99eaf4781 PROCREF:<{ - 257 PUSHINT - s29 PUSH - s0 s2 XCHG - 64 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_14ed3c63006254a4 PROCREF:<{ - s0 s1 XCHG - s0 s48 XCHG - s0 s1 XCHG - s0 s49 XCHG - STDICT - s0 s1 XCHG - s0 s46 XCHG - s0 s1 XCHG - STDICT - s0 s44 XCHG - NEWC - STDICT - s0 s1 XCHG - s0 s43 XCHG - s0 s1 XCHG - STDICT - s0 s1 XCHG - s0 s41 XCHG - s0 s1 XCHG - STDICT - s0 s39 XCHG - NEWC - STDICT - s0 s1 XCHG - s0 s38 XCHG - s0 s1 XCHG - STDICT - s0 s1 XCHG - s0 s36 XCHG - s0 s1 XCHG - STDICT - s0 s34 XCHG - NEWC - STDICT - s0 s1 XCHG - s0 s33 XCHG - s0 s1 XCHG - STDICT - s0 s1 XCHG - s0 s31 XCHG - s0 s1 XCHG - STDICT - s0 s29 XCHG - NEWC - STDICT - s0 s1 XCHG - s0 s28 XCHG - s0 s1 XCHG - STDICT - s0 s1 XCHG - s0 s26 XCHG - s0 s1 XCHG - STDICT - s0 s24 XCHG - NEWC - STDICT - s0 s1 XCHG - s0 s23 XCHG - s0 s1 XCHG - STDICT - s0 s1 XCHG - s0 s21 XCHG - s0 s1 XCHG - STDICT - s0 s19 XCHG - NEWC - STDICT - s0 s1 XCHG - s0 s18 XCHG - s0 s1 XCHG - STDICT - s0 s1 XCHG - s0 s16 XCHG - s0 s1 XCHG - STDICT - s0 s14 XCHG - NEWC - STDICT - s1 s13 XCHG - STDICT - s1 s11 XCHG - STDICT - s0 s9 XCHG - NEWC - STDICT - s1 s8 XCHG - STDICT - s1 s6 XCHG - STDICT - s0 s4 XCHG - NEWC - STDICT - s1 s3 XCHG - STDICT - STDICT - s0 s1 XCHG - NEWC - STDICT - s1 s3 XCHG - STDICT - s1 s3 XCHG - STDICT - s0 s4 XCHG - NEWC - STDICT - s1 s5 XCHG - STDICT - s1 s6 XCHG - STDICT - s0 s6 XCHG - NEWC - STDICT - s1 s8 XCHG - STDICT - s1 s8 XCHG - STDICT - s0 s9 XCHG - NEWC - STDICT - s1 s10 XCHG - STDICT - s1 s11 XCHG - STDICT - s0 s11 XCHG - NEWC - STDICT - s1 s13 XCHG - STDICT - s1 s13 XCHG - STDICT - s0 s14 XCHG - NEWC - STDICT - s1 s15 XCHG - STDICT - s0 s1 XCHG - s0 s16 XCHG - s0 s1 XCHG - STDICT - s0 s16 XCHG - NEWC - STDICT - s0 s1 XCHG - s0 s17 XCHG - s0 s1 XCHG - STDICT - ENDC - s0 s15 XCHG2 - STREF - ENDC - s0 s10 XCHG2 - STREF - ENDC - s0 s4 XCHG2 - STREF - ENDC - s0 s8 XCHG2 - STREF - ENDC - s0 s5 XCHG2 - STREF - ENDC - s0 s11 XCHG2 - STREF - ENDC - s0 s10 XCHG2 - STREF - ENDC - s0 s1 XCHG - STREF - ENDC - s0 s6 XCHG2 - STREF - ENDC - s0 s5 XCHG2 - STREF - ENDC - ROT - STREF - ENDC - s0 s4 XCHG2 - STREF - ENDC - s0 s3 XCHG2 - STREF - ENDC - s0 s3 XCHG2 - STREF - ENDC - ROT - STREF - ENDC - s0 s1 XCHG - STREF - }> - ?fun_ref_1685e1efa5d650ea PROCREF:<{ - 257 PUSHINT - s0 PUSH - s27 PUSH - s3 s3 XCHG2 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_17775a33ee1e8fcf PROCREF:<{ - s37 PUSH - }> - ?fun_ref_19f361cc6bc7a4d1 PROCREF:<{ - s23 PUSH - }> - ?fun_ref_1c16204d98b0bbbe PROCREF:<{ - 257 PUSHINT - s46 PUSH - s0 s2 XCHG - ROTREV - DICTIGET - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - }> - ?fun_ref_1e8d3bea85f5828b PROCREF:<{ - s7 PUSH - }> - ?fun_ref_1f4489eb501e6d0d PROCREF:<{ - s31 PUSH - }> - ?fun_ref_208ed0acd0cabf8e PROCREF:<{ - 267 PUSHINT - s5 PUSH - s0 s2 XCHG - 32 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_211087ca8f8d3d59 PROCREF:<{ - 257 PUSHINT - s27 PUSH - s0 s2 XCHG - 8 PUSHPOW2 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_2152dfab6624fcdd PROCREF:<{ - s44 PUSH - }> - ?fun_ref_2730af090faf7a9d PROCREF:<{ - s10 PUSH - }> - ?fun_ref_27593f6c871f97ee PROCREF:<{ - s32 PUSH - }> - ?fun_ref_2aa060670312cf2a PROCREF:<{ - 267 PUSHINT - s2 PUSH - s0 s2 XCHG - 8 PUSHPOW2 - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_2ad313daa524c36f PROCREF:<{ - s42 PUSH - }> - ?fun_ref_2b09043f94540409 PROCREF:<{ - s29 PUSH - }> - ?fun_ref_2c1988d0c53291ad PROCREF:<{ - s15 PUSH - }> - ?fun_ref_2f0501324a7b3bcb PROCREF:<{ - s34 PUSH - }> - ?fun_ref_2f66a11096cb9487 PROCREF:<{ - s0 s7 XCHG - 267 PUSHINT - s2 s8 PUSH2 - 8 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s6 XCHG - 267 PUSHINT - s2 s8 PUSH2 - 16 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s5 XCHG - 267 PUSHINT - s2 s8 PUSH2 - 32 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s4 XCHG - 267 PUSHINT - s2 s8 PUSH2 - 64 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s3 XCHG - 267 PUSHINT - s2 s8 PUSH2 - 7 PUSHPOW2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - 267 PUSHINT - s0 s0 s8 XCHG3 - 8 PUSHPOW2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s4 s5 XCHG - s3 s4 XCHG - s1 s3 s0 XCHG3 - }> - ?fun_ref_3462f6793cb649b2 PROCREF:<{ - 267 PUSHINT - s10 PUSH - s0 s2 XCHG - 7 PUSHPOW2 - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_361649b8d18a1978 PROCREF:<{ - s17 PUSH - }> - ?fun_ref_3dcd865b091a97a2 PROCREF:<{ - 267 PUSHINT - s12 PUSH - s0 s2 XCHG - 32 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_3e1ee3b82aad61e4 PROCREF:<{ - 267 PUSHINT - s8 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_3e87dbe93e7ecd42 PROCREF:<{ - s43 PUSH - }> - ?fun_ref_40d98146a47dbe3b PROCREF:<{ - s0 PUSH - }> - ?fun_ref_41ad10ffaaa6714e PROCREF:<{ - s45 PUSH - }> - ?fun_ref_42b40ef11f56babb PROCREF:<{ - s35 PUSH - }> - ?fun_ref_42c4e2bb0c477123 PROCREF:<{ - 267 PUSHINT - s17 PUSH - s0 s2 XCHG - ROTREV - DICTGETREF - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - }> - ?fun_ref_44086a5ce86162fe PROCREF:<{ - s1 PUSH - }> - ?fun_ref_45057abf5898015d PROCREF:<{ - NULL - NULL - NULL - NULL - NULL - NULL - NULL - s0 s6 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 8 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s5 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 16 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s4 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 32 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s3 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 64 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s2 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 7 PUSHPOW2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s1 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 8 PUSHPOW2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - 257 PUSHINT - s0 PUSH - s3 s8 XCHG - s10 s2 s4 PUXC2 - s10 s10 XCHG2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s4 XCHG - 257 PUSHINT - s8 PUSH - 8 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s3 XCHG - 257 PUSHINT - s8 PUSH - 16 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s2 XCHG - 257 PUSHINT - s8 PUSH - 32 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - 257 PUSHINT - s8 PUSH - 64 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s5 XCHG - 257 PUSHINT - s8 PUSH - 7 PUSHPOW2 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s6 XCHG - 257 PUSHINT - s8 PUSH - 8 PUSHPOW2 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - 257 PUSHINT - s0 PUSH - s3 s6 XCHG - s1 s9 s0 XCHG3 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - ROTREV - ADD - ROT - ADD - ROT - ADD - ROT - ADD - ROT - ADD - s0 s1 XCHG - ADD - }> - ?fun_ref_4600b8e5e3d88e87 PROCREF:<{ - 267 PUSHINT - s16 PUSH - s0 s2 XCHG - ROTREV - DICTGETREF - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - CTOS - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - 1 TUPLE - }> PUSHCONT - IFELSE - }> - ?fun_ref_46a2c6276829e0b0 PROCREF:<{ - s25 PUSH - }> - ?fun_ref_4783943b29f5affb PROCREF:<{ - s21 PUSH - }> - ?fun_ref_48265d365e53ad80 PROCREF:<{ - 257 PUSHINT - s49 PUSH - s0 s2 XCHG - 1 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_4dc44e558a17d58b PROCREF:<{ - 16 PUSHINT - s44 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_4ee8888d01627a5b PROCREF:<{ - s12 PUSH - }> - ?fun_ref_4f83e4053dda7bb9 PROCREF:<{ - s0 s25 XCHG - 257 PUSHINT - s2 PUSH - s27 PUSH - 8 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s24 XCHG - 257 PUSHINT - s2 PUSH - s27 PUSH - 16 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s23 XCHG - 257 PUSHINT - s2 PUSH - s27 PUSH - 32 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s22 XCHG - 257 PUSHINT - s2 PUSH - s27 PUSH - 64 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s21 XCHG - 257 PUSHINT - s2 PUSH - s27 PUSH - 7 PUSHPOW2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s2 XCHG - s0 s20 XCHG - s0 s2 XCHG - 257 PUSHINT - ROTREV - s0 s26 XCHG - 8 PUSHPOW2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - }> - ?fun_ref_4fb05b81f7c68af8 PROCREF:<{ - 8 PUSHINT - s45 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_535dce4774a0586e PROCREF:<{ - s0 s32 XCHG - 257 PUSHINT - s2 PUSH - s34 PUSH - 8 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s31 XCHG - 257 PUSHINT - s2 PUSH - s34 PUSH - 16 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s30 XCHG - 257 PUSHINT - s2 PUSH - s34 PUSH - 32 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s29 XCHG - 257 PUSHINT - s2 PUSH - s34 PUSH - 64 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s28 XCHG - 257 PUSHINT - s2 PUSH - s34 PUSH - 7 PUSHPOW2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s27 XCHG - 257 PUSHINT - s2 PUSH - s34 PUSH - 8 PUSHPOW2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - 257 PUSHINT - s0 PUSH - s0 s4 XCHG - s0 s28 XCHG - s0 s4 XCHG - s3 s3 s0 XCHG3 - s0 s1 XCHG - s0 s34 XCHG - s0 s1 XCHG - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - }> - ?fun_ref_5ae69f560ee7dab7 PROCREF:<{ - s20 PUSH - }> - ?fun_ref_5cf33b450293f97d PROCREF:<{ - 257 PUSHINT - s28 PUSH - s0 s2 XCHG - 7 PUSHPOW2 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_5fee1b3a83f641e0 PROCREF:<{ - 267 PUSHINT - s19 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_6276ba6618a5dfa8 PROCREF:<{ - s0 s45 XCHG - 8 PUSHINT - s2 PUSH - s47 PUSH - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s44 XCHG - 16 PUSHINT - s2 PUSH - s47 PUSH - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s43 XCHG - 32 PUSHINT - s2 PUSH - s47 PUSH - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s42 XCHG - 64 PUSHINT - s2 PUSH - s47 PUSH - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s41 XCHG - 7 PUSHPOW2 - s2 PUSH - s47 PUSH - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s40 XCHG - 8 PUSHPOW2 - s2 PUSH - s47 PUSH - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - 257 PUSHINT - s0 PUSH - s0 s4 XCHG - s0 s41 XCHG - s0 s4 XCHG - s3 s3 s0 XCHG3 - s0 s1 XCHG - s0 s47 XCHG - s0 s1 XCHG - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - }> - ?fun_ref_6326faa87beffd08 PROCREF:<{ - s5 PUSH - }> - ?fun_ref_6c7e480b090fad20 PROCREF:<{ - s27 PUSH - }> - ?fun_ref_6e10c7ae825f83ca PROCREF:<{ - 32 PUSHINT - s43 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_716066674fbb13ff PROCREF:<{ - 64 PUSHINT - s42 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_748a957f4777dd9f PROCREF:<{ - s0 s38 XCHG - 8 PUSHINT - s2 PUSH - s40 PUSH - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s0 s37 XCHG - 16 PUSHINT - s2 PUSH - s40 PUSH - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s0 s36 XCHG - 32 PUSHINT - s2 PUSH - s40 PUSH - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s0 s35 XCHG - 64 PUSHINT - s2 PUSH - s40 PUSH - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s0 s34 XCHG - 7 PUSHPOW2 - s2 PUSH - s40 PUSH - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s0 s2 XCHG - s0 s33 XCHG - s0 s2 XCHG - 8 PUSHPOW2 - ROTREV - s0 s39 XCHG - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - }> - ?fun_ref_74e85ecd13d2849e PROCREF:<{ - 64 PUSHINT - s35 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_750b5e2df7ffc4f5 PROCREF:<{ - s6 PUSH - }> - ?fun_ref_775db7c0525f4f82 PROCREF:<{ - NULL - NULL - NULL - NULL - NULL - NULL - NULL - s0 s6 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 8 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s5 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 16 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s4 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 32 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s3 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 64 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s2 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 7 PUSHPOW2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s1 XCHG - 257 PUSHINT - s9 s8 PUSH2 - 8 PUSHPOW2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STUX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - 257 PUSHINT - s0 PUSH - s3 s8 XCHG - s10 s2 s4 PUXC2 - s10 s10 XCHG2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s4 XCHG - 257 PUSHINT - s8 PUSH - 8 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s3 XCHG - 257 PUSHINT - s8 PUSH - 16 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s2 XCHG - 257 PUSHINT - s8 PUSH - 32 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - 257 PUSHINT - s8 PUSH - 64 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s5 XCHG - 257 PUSHINT - s8 PUSH - 7 PUSHPOW2 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s6 XCHG - 257 PUSHINT - s8 PUSH - 8 PUSHPOW2 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - 257 PUSHINT - s0 PUSH - s3 s6 XCHG - s1 s9 s0 XCHG3 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - ROTREV - ADD - ROT - ADD - ROT - ADD - ROT - ADD - ROT - ADD - s0 s1 XCHG - ADD - }> - ?fun_ref_82b2475d81740ed4 PROCREF:<{ - 267 PUSHINT - s9 PUSH - s0 s2 XCHG - 8 PUSHPOW2 - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_8893dea8dd8a770c PROCREF:<{ - 267 PUSHINT - s7 PUSH - s0 s2 XCHG - 8 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_8893e4efb4fcb5fd PROCREF:<{ - 267 PUSHINT - s6 PUSH - s0 s2 XCHG - 16 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_8d8c37d12682d7d7 PROCREF:<{ - 267 PUSHINT - s14 PUSH - s0 s2 XCHG - 8 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_94675458c3c718f5 PROCREF:<{ - s36 PUSH - }> - ?fun_ref_96b51136bd53ab0e PROCREF:<{ - 267 PUSHINT - s4 PUSH - s0 s2 XCHG - 64 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_96defa64c514f80e PROCREF:<{ - s46 PUSH - }> - ?fun_ref_9a0afd3466dc3d99 PROCREF:<{ - s0 s14 XCHG - 267 PUSHINT - s2 s15 PUSH2 - 8 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s13 XCHG - 267 PUSHINT - s2 s15 PUSH2 - 16 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s12 XCHG - 267 PUSHINT - s2 s15 PUSH2 - 32 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s11 XCHG - 267 PUSHINT - s2 s15 PUSH2 - 64 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s10 XCHG - 267 PUSHINT - s2 s15 PUSH2 - 7 PUSHPOW2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s9 XCHG - 267 PUSHINT - s2 s15 PUSH2 - 8 PUSHPOW2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s2 s8 XCHG - 267 PUSHINT - s0 s0 s15 XCHG3 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s11 s12 XCHG - s10 s11 XCHG - s9 s10 XCHG - s8 s9 XCHG - s7 s8 XCHG - s0 s6 XCHG - }> - ?fun_ref_a090c1aee7367fab PROCREF:<{ - 7 PUSHPOW2 - s41 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_a708053de499b31b PROCREF:<{ - 267 PUSHINT - s15 PUSH - s0 s2 XCHG - ROTREV - DICTGET - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - }> - ?fun_ref_ab9cd184c88e7d61 PROCREF:<{ - s19 PUSH - }> - ?fun_ref_ad2cdeeec62754ee PROCREF:<{ - NULL - NULL - NULL - NULL - NULL - NULL - NULL - s0 s6 XCHG - 8 PUSHINT - s9 s8 PUSH2 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s5 XCHG - 16 PUSHINT - s9 s8 PUSH2 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s4 XCHG - 32 PUSHINT - s9 s8 PUSH2 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s3 XCHG - 64 PUSHINT - s9 s8 PUSH2 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s2 XCHG - 7 PUSHPOW2 - s9 s8 PUSH2 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s1 XCHG - 8 PUSHPOW2 - s9 s8 PUSH2 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - 257 PUSHINT - s0 PUSH - s3 s8 XCHG - s10 s2 s4 PUXC2 - s10 s10 XCHG2 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s4 XCHG - 8 PUSHINT - s8 PUSH - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s3 XCHG - 16 PUSHINT - s8 PUSH - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s2 XCHG - 32 PUSHINT - s8 PUSH - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - 64 PUSHINT - s8 PUSH - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s5 XCHG - 7 PUSHPOW2 - s8 PUSH - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s6 XCHG - 8 PUSHPOW2 - s8 PUSH - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - 257 PUSHINT - s0 PUSH - s3 s6 XCHG - s1 s9 s0 XCHG3 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - ROTREV - ADD - ROT - ADD - ROT - ADD - ROT - ADD - ROT - ADD - s0 s1 XCHG - ADD - }> - ?fun_ref_ad961e5c0697dcd8 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - ?fun_ref_1050883863155503 INLINECALLDICT - s49 POP - s0 s47 XCHG - s0 s48 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s47 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s46 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s45 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s44 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s43 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s42 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s41 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s40 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s39 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s38 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s37 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s36 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s35 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s34 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s33 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s32 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s31 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s30 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s29 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s28 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s27 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s26 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s25 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s24 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s23 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s22 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s21 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s20 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s19 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s18 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s17 XCHG - s0 s16 XCHG - s0 s15 XCHG - s0 s16 XCHG - s0 s15 XCHG - 1 15 BLKSWAP - }> IFJMPREF - s0 POP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_0bae1aa3a16fbb81 INLINECALLDICT - }> - ?fun_ref_b02a723cea9b78bc PROCREF:<{ - NULL - NULL - NULL - NULL - NULL - NULL - s0 s5 XCHG - 8 PUSHINT - s8 s7 PUSH2 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s0 s4 XCHG - 16 PUSHINT - s8 s7 PUSH2 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s0 s3 XCHG - 32 PUSHINT - s8 s7 PUSH2 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s0 s2 XCHG - 64 PUSHINT - s8 s7 PUSH2 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s0 s1 XCHG - 7 PUSHPOW2 - s8 s7 PUSH2 - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s1 s5 XCHG - 8 PUSHPOW2 - s0 s8 s9 XCPUXC - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTUDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTUSETB - }> PUSHCONT - IFELSE - s0 s3 XCHG - 8 PUSHINT - s7 PUSH - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s2 XCHG - 16 PUSHINT - s7 PUSH - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - 32 PUSHINT - s7 PUSH - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG - 64 PUSHINT - s7 PUSH - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s5 XCHG - 7 PUSHPOW2 - s7 PUSH - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s1 s3 XCHG - 8 PUSHPOW2 - s0 s7 XCHG2 - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - 128 THROWIF - s0 s2 XCHG - ADD - ROT - ADD - ROT - ADD - ROT - ADD - s0 s1 XCHG - ADD - }> - ?fun_ref_b0a5ab0ac20548bb PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 1510253336 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1510253336 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - 257 PUSHINT - s0 PUSH - s0 s4 XCHG - s0 s52 XCHG - s0 s4 XCHG - s3 s3 s0 XCHG3 - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s48 XCHG - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 1629867766 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1629867766 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - 1 LDI - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - s0 s2 XCHG - s0 s49 XCHG - s0 s2 XCHG - 257 PUSHINT - ROTREV - 1 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTISETB - }> PUSHCONT - IFELSE - s0 s47 XCHG - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 3613954633 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 3613954633 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - s0 s2 XCHG - s0 s48 XCHG - s0 s2 XCHG - 257 PUSHINT - ROTREV - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISETREF - }> PUSHCONT - IFELSE - s0 s46 XCHG - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 383013829 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 383013829 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - s0 s1 XCHG - 1 TUPLE - }> PUSHCONT - <{ - NULL - }> PUSHCONT - IFELSE - s1 s2 XCHG - 1 2 BLKDROP2 - 257 PUSHINT - s0 s1 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 1 UNTUPLE - NEWC - s0 s1 XCHG - s0 s1 XCHG - 257 PUSHINT - STIX - ENDC - }> PUSHCONT - IFELSE - s0 s3 XCHG - s0 s48 XCHG - s0 s3 XCHG - s1 s2 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISETREF - }> PUSHCONT - IFELSE - s0 s45 XCHG - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 2809746751 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2809746751 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - LDMSGADDR - s1 PUSH - 2 PLDU - 0 NEQINT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - <{ - s1 POP - NULL - }> PUSHCONT - IFELSE - s1 s2 XCHG - 1 2 BLKDROP2 - s0 s2 XCHG - s0 s46 XCHG - s0 s2 XCHG - 257 PUSHINT - ROTREV - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTIDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTISET - }> PUSHCONT - IFELSE - s0 s44 XCHG - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 1258686922 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1258686922 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - ?fun_ref_6276ba6618a5dfa8 INLINECALLDICT - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 3563204871 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 3563204871 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - ?fun_ref_748a957f4777dd9f INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 1910615278 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1910615278 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - ?fun_ref_535dce4774a0586e INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 1765685895 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1765685895 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - ?fun_ref_4f83e4053dda7bb9 INLINECALLDICT - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 1749966413 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1749966413 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - s0 s2 XCHG - s0 s19 XCHG - s0 s2 XCHG - 267 PUSHINT - ROTREV - 257 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s17 XCHG - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 624157584 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 624157584 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - s0 s1 XCHG - <{ - 1 LDI - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - s0 s2 XCHG - s0 s18 XCHG - s0 s2 XCHG - 267 PUSHINT - ROTREV - 1 PUSHINT - s1 PUSH - ISNULL - <{ - DROP2 - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STIX - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s16 XCHG - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 4276365062 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 4276365062 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - s0 s2 XCHG - s0 s17 XCHG - s0 s2 XCHG - 267 PUSHINT - ROTREV - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTSETREF - }> PUSHCONT - IFELSE - s0 s15 XCHG - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 1683777913 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1683777913 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - s0 s1 XCHG - 1 TUPLE - }> PUSHCONT - <{ - NULL - }> PUSHCONT - IFELSE - s1 s2 XCHG - 1 2 BLKDROP2 - 267 PUSHINT - s0 s1 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 1 UNTUPLE - NEWC - s0 s1 XCHG - s0 s1 XCHG - 257 PUSHINT - STIX - ENDC - }> PUSHCONT - IFELSE - s0 s3 XCHG - s0 s17 XCHG - s0 s3 XCHG - s1 s2 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - s1 s3 s3 XCHG3 - DICTSETREF - }> PUSHCONT - IFELSE - s0 s14 XCHG - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 1741376771 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1741376771 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s1 PUSH - 2 PLDU - 0 NEQINT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - <{ - s1 POP - NULL - }> PUSHCONT - IFELSE - s1 s2 XCHG - 1 2 BLKDROP2 - s2 s15 XCHG - 267 PUSHINT - ROTREV - s0 PUSH - ISNULL - <{ - s0 POP - ROTREV - DICTDEL - s0 POP - }> PUSHCONT - <{ - NEWC - s0 s1 XCHG - STSLICER - s1 s3 s3 XCHG3 - DICTSETB - }> PUSHCONT - IFELSE - s0 s13 XCHG - -1 PUSHINT - }> IFJMPREF - s0 PUSH - 1742733058 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 1742733058 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - ?fun_ref_9a0afd3466dc3d99 INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - 2054067599 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2054067599 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - ROTREV - 1 2 BLKDROP2 - ?fun_ref_2f66a11096cb9487 INLINECALLDICT - -1 PUSHINT - }> IFJMPREF - 0 EQINT - <{ - HASHSU - 33891181464710156031034046061755617033497409731940287186959295655538839105307 PUSHINT - EQUAL - <{ - s13 POP - s13 POP - s13 POP - s13 POP - s13 POP - s39 POP - s39 POP - s39 POP - s39 POP - s39 POP - NULL - NULL - NULL - NULL - NULL - NULL - s0 s44 XCHG - NULL - s0 s44 XCHG - NULL - s0 s44 XCHG - NULL - s0 s44 XCHG - NULL - s0 s44 XCHG - s0 s9 XCHG - s0 s17 XCHG - s0 s9 XCHG - s0 s8 XCHG - s0 s16 XCHG - s0 s8 XCHG - s7 s15 XCHG - s6 s14 XCHG - s5 s13 XCHG - 5 5 BLKSWAP - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - 0 PUSHINT - }> - ?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{ - s2 PUSH - }> - ?fun_ref_b347d9c3ebd197d4 PROCREF:<{ - s4 PUSH - }> - ?fun_ref_b69e4ba6ab46d84a PROCREF:<{ - 32 PUSHINT - s36 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_b87aaf1455a99180 PROCREF:<{ - 257 PUSHINT - s31 PUSH - s0 s2 XCHG - 16 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_b897730d607fe442 PROCREF:<{ - s30 PUSH - }> - ?fun_ref_b9f0fe63c44a7965 PROCREF:<{ - 8 PUSHPOW2 - s40 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_c0af0b77ca54cb78 PROCREF:<{ - s28 PUSH - }> - ?fun_ref_c227cf8ce099fb69 PROCREF:<{ - s13 PUSH - }> - ?fun_ref_c4c939ff1989bb9c PROCREF:<{ - s18 PUSH - }> - ?fun_ref_c4ca5aaca4e629d3 PROCREF:<{ - 267 PUSHINT - s18 PUSH - s0 s2 XCHG - 1 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_ca63fe857bb922e4 PROCREF:<{ - 257 PUSHINT - s21 PUSH - s0 s2 XCHG - 7 PUSHPOW2 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_cc0db71ff6d8ae92 PROCREF:<{ - 257 PUSHINT - s22 PUSH - s0 s2 XCHG - 64 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_cf0a971bd3908d8a PROCREF:<{ - 257 PUSHINT - s24 PUSH - s0 s2 XCHG - 16 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_d4607ca3cd379298 PROCREF:<{ - 267 PUSHINT - s3 PUSH - s0 s2 XCHG - 7 PUSHPOW2 - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_d60a1cce39e33186 PROCREF:<{ - s39 PUSH - }> - ?fun_ref_d783084a6741fd77 PROCREF:<{ - 257 PUSHINT - s20 PUSH - s0 s2 XCHG - 8 PUSHPOW2 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDUX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_d9e1b9d1e5ec3b45 PROCREF:<{ - s9 PUSH - }> - ?fun_ref_db786e1b029df550 PROCREF:<{ - 257 PUSHINT - s30 PUSH - s0 s2 XCHG - 32 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_dca8502388807006 PROCREF:<{ - s48 PUSH - }> - ?fun_ref_de37e48f178d8028 PROCREF:<{ - 257 PUSHINT - s32 PUSH - s0 s2 XCHG - 8 PUSHINT - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_e09e63913e622f86 PROCREF:<{ - s40 PUSH - }> - ?fun_ref_e09f8504bf357f6c PROCREF:<{ - s38 PUSH - }> - ?fun_ref_e5b0e0843d6a7de1 PROCREF:<{ - 16 PUSHINT - s37 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_eb1f6c88057f1f7e PROCREF:<{ - s41 PUSH - }> - ?fun_ref_ede2fd08a3ac8f05 PROCREF:<{ - 267 PUSHINT - s13 PUSH - s0 s2 XCHG - 16 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_f1ac611f4336d1e1 PROCREF:<{ - s47 PUSH - }> - ?fun_ref_f36a6d8837e60632 PROCREF:<{ - s11 PUSH - }> - ?fun_ref_f452d767478a13e2 PROCREF:<{ - s14 PUSH - }> - ?fun_ref_f986fd0ccb97c7e2 PROCREF:<{ - 257 PUSHINT - s48 PUSH - s0 s2 XCHG - ROTREV - DICTIGETREF - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - }> - ?fun_ref_f9cfc308b40bc929 PROCREF:<{ - 7 PUSHPOW2 - s34 PUSH - s0 s2 XCHG - 257 PUSHINT - s1 s3 s3 XCHG3 - DICTUGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_fafb972e908fca85 PROCREF:<{ - s26 PUSH - }> - ?fun_ref_faff694f2f05574e PROCREF:<{ - 267 PUSHINT - s11 PUSH - s0 s2 XCHG - 64 PUSHINT - s1 s3 s3 XCHG3 - DICTGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_fc9271f0b8137277 PROCREF:<{ - s33 PUSH - }> - ?fun_ref_fd1c377b2cf82958 PROCREF:<{ - 257 PUSHINT - s47 PUSH - s0 s2 XCHG - ROTREV - DICTIGETREF - NULLSWAPIFNOT - <{ - s0 POP - NULL - }> PUSHCONT - IFNOT - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - CTOS - 257 PUSHINT - LDIX - s0 s1 XCHG - s1 POP - 1 TUPLE - }> PUSHCONT - IFELSE - }> - ?fun_ref_fe5574715d35e625 PROCREF:<{ - 257 PUSHINT - s0 PUSH - s40 PUSH - s3 s3 XCHG2 - s1 s3 s3 XCHG3 - DICTIGET - NULLSWAPIFNOT - <{ - s0 s1 XCHG - LDIX - s0 POP - }> PUSHCONT - <{ - DROP2 - NULL - }> PUSHCONT - IFELSE - }> - ?fun_ref_febca6c4d71293f1 PROCREF:<{ - s8 PUSH - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/maps_MapTestContract.headers.fc b/src/test/features/output/maps_MapTestContract.headers.fc deleted file mode 100644 index a4ad334f1..000000000 --- a/src/test/features/output/maps_MapTestContract.headers.fc +++ /dev/null @@ -1,472 +0,0 @@ -;; -;; Header files for MapTestContract -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_load_address_opt -(slice, slice) __tact_load_address_opt(slice cs) inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_dict_set_int_int -(cell, ()) __tact_dict_set_int_int(cell d, int kl, int k, int v, int vl) inline; - -;; __tact_dict_get_int_int -int __tact_dict_get_int_int(cell d, int kl, int k, int vl) inline; - -;; __tact_dict_set_int_uint -(cell, ()) __tact_dict_set_int_uint(cell d, int kl, int k, int v, int vl) inline; - -;; __tact_dict_get_int_uint -int __tact_dict_get_int_uint(cell d, int kl, int k, int vl) inline; - -;; __tact_dict_set_uint_int -(cell, ()) __tact_dict_set_uint_int(cell d, int kl, int k, int v, int vl) inline; - -;; __tact_dict_get_uint_int -int __tact_dict_get_uint_int(cell d, int kl, int k, int vl) inline; - -;; __tact_dict_set_int_cell -(cell, ()) __tact_dict_set_int_cell(cell d, int kl, int k, cell v) inline; - -;; __tact_dict_get_int_cell -cell __tact_dict_get_int_cell(cell d, int kl, int k) inline; - -;; __tact_dict_set_int_slice -(cell, ()) __tact_dict_set_int_slice(cell d, int kl, int k, slice v) inline; - -;; __tact_dict_get_int_slice -slice __tact_dict_get_int_slice(cell d, int kl, int k) inline; - -;; __tact_dict_set_slice_int -(cell, ()) __tact_dict_set_slice_int(cell d, int kl, slice k, int v, int vl) inline; - -;; __tact_dict_get_slice_int -int __tact_dict_get_slice_int(cell d, int kl, slice k, int vl) inline; - -;; __tact_dict_set_slice_uint -(cell, ()) __tact_dict_set_slice_uint(cell d, int kl, slice k, int v, int vl) inline; - -;; __tact_dict_get_slice_uint -int __tact_dict_get_slice_uint(cell d, int kl, slice k, int vl) inline; - -;; __tact_dict_set_slice_cell -(cell, ()) __tact_dict_set_slice_cell(cell d, int kl, slice k, cell v) inline; - -;; __tact_dict_get_slice_cell -cell __tact_dict_get_slice_cell(cell d, int kl, slice k) inline; - -;; __tact_dict_set_slice_slice -(cell, ()) __tact_dict_set_slice_slice(cell d, int kl, slice k, slice v) inline; - -;; __tact_dict_get_slice_slice -slice __tact_dict_get_slice_slice(cell d, int kl, slice k) inline; - -;; $SetIntMap1$_load -(slice, ((int, int))) $SetIntMap1$_load(slice sc_0) inline; - -;; $SetIntMap2$_load -(slice, ((int, int))) $SetIntMap2$_load(slice sc_0) inline; - -;; $SetIntMap3$_load -(slice, ((int, cell))) $SetIntMap3$_load(slice sc_0) inline; - -;; $SomeStruct$_store -builder $SomeStruct$_store(builder build_0, (int) v) inline; - -;; $SomeStruct$_store_cell -cell $SomeStruct$_store_cell((int) v) inline; - -;; $SomeStruct$_not_null -((int)) $SomeStruct$_not_null(tuple v) inline; - -;; $SomeStruct$_store_opt -cell $SomeStruct$_store_opt(tuple v) inline; - -;; $SomeStruct$_load -(slice, ((int))) $SomeStruct$_load(slice sc_0) inline; - -;; $SomeStruct$_as_optional -tuple $SomeStruct$_as_optional((int) v) inline; - -;; $SomeStruct$_load_opt -tuple $SomeStruct$_load_opt(cell cl) inline; - -;; $SetIntMap4$_load -(slice, ((int, tuple))) $SetIntMap4$_load(slice sc_0) inline; - -;; $SetIntMap5$_load -(slice, ((int, slice))) $SetIntMap5$_load(slice sc_0) inline; - -;; $SetIntMap6$_load -(slice, ((int, int))) $SetIntMap6$_load(slice sc_0) inline; - -;; $SetUIntMap7$_load -(slice, ((int, int))) $SetUIntMap7$_load(slice sc_0) inline; - -;; $SetIntMap8$_load -(slice, ((int, int))) $SetIntMap8$_load(slice sc_0) inline; - -;; $SetUIntMap9$_load -(slice, ((int, int))) $SetUIntMap9$_load(slice sc_0) inline; - -;; $SetAddrMap1$_load -(slice, ((slice, int))) $SetAddrMap1$_load(slice sc_0) inline; - -;; $SetAddrMap2$_load -(slice, ((slice, int))) $SetAddrMap2$_load(slice sc_0) inline; - -;; $SetAddrMap3$_load -(slice, ((slice, cell))) $SetAddrMap3$_load(slice sc_0) inline; - -;; $SetAddrMap4$_load -(slice, ((slice, tuple))) $SetAddrMap4$_load(slice sc_0) inline; - -;; $SetAddrMap5$_load -(slice, ((slice, slice))) $SetAddrMap5$_load(slice sc_0) inline; - -;; $SetAddrMap6$_load -(slice, ((slice, int))) $SetAddrMap6$_load(slice sc_0) inline; - -;; $SetAddrMap7$_load -(slice, ((slice, int))) $SetAddrMap7$_load(slice sc_0) inline; - -;; $MapTestContract$_store -builder $MapTestContract$_store(builder build_0, (cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) v) inline; - -;; $MapTestContract$_load -(slice, ((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell))) $MapTestContract$_load(slice sc_0) inline; - -;; $SomeStruct$_to_tuple -tuple $SomeStruct$_to_tuple(((int)) v) inline; - -;; $SomeStruct$_to_opt_tuple -tuple $SomeStruct$_to_opt_tuple(tuple v) inline; - -;; $SomeStruct$_to_opt_external -tuple $SomeStruct$_to_opt_external(tuple v) inline; - -;; $MapTestContract$_contract_init -(cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $MapTestContract$_contract_init() impure inline_ref; - -;; $MapTestContract$_contract_load -(cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $MapTestContract$_contract_load() impure inline_ref; - -;; $MapTestContract$_contract_store -() $MapTestContract$_contract_store((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) v) impure inline; - -;; $MapTestContract$_fun_intMap1 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap1Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap2 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap2Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap3 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap3Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap4 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap4Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), tuple) $MapTestContract$_fun_intMap4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap5 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap5Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), slice) $MapTestContract$_fun_intMap5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_1 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_1Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_2 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_2Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_3 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_3Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_4 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_4Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_5 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_5Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_6 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_6Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_6Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_7 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap6_7((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap6_7Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap6_7Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap7_1 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap7_1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap7_1Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap7_1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap7_2 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap7_2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap7_2Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap7_2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap7_3 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap7_3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap7_3Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap7_3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap7_4 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap7_4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap7_4Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap7_4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap7_5 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap7_5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap7_5Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap7_5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap7_6 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap7_6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap7_6Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap7_6Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_1 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_1Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_2 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_2Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_3 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_3Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_4 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_4Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_5 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_5Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_6 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_6Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_6Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_7 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap8_7((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap8_7Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap8_7Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap9_1 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap9_1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap9_1Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap9_1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap9_2 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap9_2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap9_2Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap9_2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap9_3 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap9_3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap9_3Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap9_3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap9_4 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap9_4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap9_4Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap9_4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap9_5 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap9_5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap9_5Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap9_5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap9_6 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_intMap9_6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_intMap9_6Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap9_6Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key) impure inline_ref; - -;; $MapTestContract$_fun_intMap10Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap10Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key, int $value) impure inline_ref; - -;; $MapTestContract$_fun_intMap11Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap11Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key, int $value) impure inline_ref; - -;; $MapTestContract$_fun_intMap12Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap12Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key, int $value) impure inline_ref; - -;; $MapTestContract$_fun_intMap13Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_intMap13Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, int $key, int $value) impure inline_ref; - -;; $MapTestContract$_fun_addrMap1 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap1Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap2 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap2Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap3 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap3Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap4 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap4Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), tuple) $MapTestContract$_fun_addrMap4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap5 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap5Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), slice) $MapTestContract$_fun_addrMap5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_1 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_1Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_2 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_2Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_3 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_3Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_4 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_4Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_5 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_5Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_6 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_6Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_6Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_7 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap6_7((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap6_7Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap6_7Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap7_1 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap7_1((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap7_1Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap7_1Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap7_2 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap7_2((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap7_2Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap7_2Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap7_3 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap7_3((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap7_3Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap7_3Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap7_4 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap7_4((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap7_4Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap7_4Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap7_5 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap7_5((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap7_5Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap7_5Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_addrMap7_6 -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_addrMap7_6((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; - -;; $MapTestContract$_fun_addrMap7_6Value -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), int) $MapTestContract$_fun_addrMap7_6Value((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self, slice $key) impure inline_ref; - -;; $MapTestContract$_fun_mapAsCell -((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell), cell) $MapTestContract$_fun_mapAsCell((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $self) impure inline_ref; diff --git a/src/test/features/output/maps_MapTestContract.md b/src/test/features/output/maps_MapTestContract.md deleted file mode 100644 index 2e1ac94f6..000000000 --- a/src/test/features/output/maps_MapTestContract.md +++ /dev/null @@ -1,378 +0,0 @@ -# TACT Compilation Report -Contract: MapTestContract -BOC Size: 21823 bytes - -# Types -Total Types: 20 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## SetIntMap1 -TLB: `set_int_map1#5a04a318 key:int257 value:Maybe int257 = SetIntMap1` -Signature: `SetIntMap1{key:int257,value:Maybe int257}` - -## SetIntMap2 -TLB: `set_int_map2#6125cef6 key:int257 value:Maybe bool = SetIntMap2` -Signature: `SetIntMap2{key:int257,value:Maybe bool}` - -## SetIntMap3 -TLB: `set_int_map3#d7689249 key:int257 value:Maybe ^cell = SetIntMap3` -Signature: `SetIntMap3{key:int257,value:Maybe ^cell}` - -## SetIntMap4 -TLB: `set_int_map4#16d453c5 key:int257 value:Maybe SomeStruct{value:int257} = SetIntMap4` -Signature: `SetIntMap4{key:int257,value:Maybe SomeStruct{value:int257}}` - -## SetIntMap5 -TLB: `set_int_map5#a779553f key:int257 value:Maybe address = SetIntMap5` -Signature: `SetIntMap5{key:int257,value:Maybe address}` - -## SetIntMap6 -TLB: `set_int_map6#4b0609ca key:int257 value:Maybe int257 = SetIntMap6` -Signature: `SetIntMap6{key:int257,value:Maybe int257}` - -## SetUIntMap7 -TLB: `set_u_int_map7#d4623107 key:int257 value:Maybe int257 = SetUIntMap7` -Signature: `SetUIntMap7{key:int257,value:Maybe int257}` - -## SetIntMap8 -TLB: `set_int_map8#71e1acee key:int257 value:Maybe int257 = SetIntMap8` -Signature: `SetIntMap8{key:int257,value:Maybe int257}` - -## SetUIntMap9 -TLB: `set_u_int_map9#693e3a87 key:int257 value:Maybe int257 = SetUIntMap9` -Signature: `SetUIntMap9{key:int257,value:Maybe int257}` - -## SetAddrMap1 -TLB: `set_addr_map1#684e5e4d key:address value:Maybe int257 = SetAddrMap1` -Signature: `SetAddrMap1{key:address,value:Maybe int257}` - -## SetAddrMap2 -TLB: `set_addr_map2#2533e390 key:address value:Maybe bool = SetAddrMap2` -Signature: `SetAddrMap2{key:address,value:Maybe bool}` - -## SetAddrMap3 -TLB: `set_addr_map3#fee42706 key:address value:Maybe ^cell = SetAddrMap3` -Signature: `SetAddrMap3{key:address,value:Maybe ^cell}` - -## SetAddrMap4 -TLB: `set_addr_map4#645c6979 key:address value:Maybe SomeStruct{value:int257} = SetAddrMap4` -Signature: `SetAddrMap4{key:address,value:Maybe SomeStruct{value:int257}}` - -## SetAddrMap5 -TLB: `set_addr_map5#67cb4d03 key:address value:Maybe address = SetAddrMap5` -Signature: `SetAddrMap5{key:address,value:Maybe address}` - -## SetAddrMap6 -TLB: `set_addr_map6#67dfff02 key:address value:Maybe int257 = SetAddrMap6` -Signature: `SetAddrMap6{key:address,value:Maybe int257}` - -## SetAddrMap7 -TLB: `set_addr_map7#7a6e958f key:address value:Maybe int257 = SetAddrMap7` -Signature: `SetAddrMap7{key:address,value:Maybe int257}` - -## SomeStruct -TLB: `_ value:int257 = SomeStruct` -Signature: `SomeStruct{value:int257}` - -# Get Methods -Total Get Methods: 103 - -## intMap1 - -## intMap1Value -Argument: key - -## intMap2 - -## intMap2Value -Argument: key - -## intMap3 - -## intMap3Value -Argument: key - -## intMap4 - -## intMap4Value -Argument: key - -## intMap5 - -## intMap5Value -Argument: key - -## intMap6_1 - -## intMap6_1Value -Argument: key - -## intMap6_2 - -## intMap6_2Value -Argument: key - -## intMap6_3 - -## intMap6_3Value -Argument: key - -## intMap6_4 - -## intMap6_4Value -Argument: key - -## intMap6_5 - -## intMap6_5Value -Argument: key - -## intMap6_6 - -## intMap6_6Value -Argument: key - -## intMap6_7 - -## intMap6_7Value -Argument: key - -## intMap7_1 - -## intMap7_1Value -Argument: key - -## intMap7_2 - -## intMap7_2Value -Argument: key - -## intMap7_3 - -## intMap7_3Value -Argument: key - -## intMap7_4 - -## intMap7_4Value -Argument: key - -## intMap7_5 - -## intMap7_5Value -Argument: key - -## intMap7_6 - -## intMap7_6Value -Argument: key - -## intMap8_1 - -## intMap8_1Value -Argument: key - -## intMap8_2 - -## intMap8_2Value -Argument: key - -## intMap8_3 - -## intMap8_3Value -Argument: key - -## intMap8_4 - -## intMap8_4Value -Argument: key - -## intMap8_5 - -## intMap8_5Value -Argument: key - -## intMap8_6 - -## intMap8_6Value -Argument: key - -## intMap8_7 - -## intMap8_7Value -Argument: key - -## intMap9_1 - -## intMap9_1Value -Argument: key - -## intMap9_2 - -## intMap9_2Value -Argument: key - -## intMap9_3 - -## intMap9_3Value -Argument: key - -## intMap9_4 - -## intMap9_4Value -Argument: key - -## intMap9_5 - -## intMap9_5Value -Argument: key - -## intMap9_6 - -## intMap9_6Value -Argument: key - -## intMap10Value -Argument: key -Argument: value - -## intMap11Value -Argument: key -Argument: value - -## intMap12Value -Argument: key -Argument: value - -## intMap13Value -Argument: key -Argument: value - -## addrMap1 - -## addrMap1Value -Argument: key - -## addrMap2 - -## addrMap2Value -Argument: key - -## addrMap3 - -## addrMap3Value -Argument: key - -## addrMap4 - -## addrMap4Value -Argument: key - -## addrMap5 - -## addrMap5Value -Argument: key - -## addrMap6_1 - -## addrMap6_1Value -Argument: key - -## addrMap6_2 - -## addrMap6_2Value -Argument: key - -## addrMap6_3 - -## addrMap6_3Value -Argument: key - -## addrMap6_4 - -## addrMap6_4Value -Argument: key - -## addrMap6_5 - -## addrMap6_5Value -Argument: key - -## addrMap6_6 - -## addrMap6_6Value -Argument: key - -## addrMap6_7 - -## addrMap6_7Value -Argument: key - -## addrMap7_1 - -## addrMap7_1Value -Argument: key - -## addrMap7_2 - -## addrMap7_2Value -Argument: key - -## addrMap7_3 - -## addrMap7_3Value -Argument: key - -## addrMap7_4 - -## addrMap7_4Value -Argument: key - -## addrMap7_5 - -## addrMap7_5Value -Argument: key - -## addrMap7_6 - -## addrMap7_6Value -Argument: key - -## mapAsCell - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/maps_MapTestContract.pkg b/src/test/features/output/maps_MapTestContract.pkg deleted file mode 100644 index bdd4a7425..000000000 --- a/src/test/features/output/maps_MapTestContract.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"MapTestContract","code":"te6ccgICAaMAAQAAVS8AAAEU/wD0pBP0vPLICwABAgFiAAIAAwLw0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8ETARMhEwES8RMREvES4RMBEuES0RLxEtESwRLhEsESsRLRErESoRLBEqESkRKxEpESgRKhEoEScRKREnESYRKBEmAZwABAIBIAAlACYB/BElEScRJREkESYRJBEjESURIxEiESQRIhEhESMRIREgESIRIBEfESERHxEeESARHhEdER8RHREcER4RHBEbER0RGxEaERwRGhEZERsRGREYERoRGBEXERkRFxEWERgRFhEVERcRFREUERYRFBETERURExESERQREhERERMREQAFAtYREBESERAPEREPDhEQDhDfVRzbPPLggsj4QwHMfwHKABExETARLxEuES0RLBErESoRKREoEScRJhElESQRIxEiESERIBEfER4RHREcERsRGhEZERgRFxEWERURFBETERIREREQVeDbPMntVAAGAAcC9u2i7fsBkjB/4HAh10nCH5UwINcLH94gwAAi10nBIbCSW3/gIIIQWgSjGLqOQjDTHwGCEFoEoxi68uCBgQEB1wDSAAGVgQEB1wCSbQHiWWwSgQEBIAQRNARDMCFulVtZ9FowmMgBzwBBM/RC4hEwf+AgghBhJc72uuMCIAAIAAkB9gERMAERMfQAAREuAfQAESzI9AABESsB9AABESkB9AARJ8j0AAERJgH0AAERJAH0ABEiyPQAAREhAfQAAREfAfQAER3I9AABERwB9AABERoB9AARGMj0AAERFwH0AAERFQH0ABETyPQAARESAfQAAREQAfQADsj0AB30AAAjAHww0x8BghBhJc72uvLggYEBAdcA0gABktIAkm0B4llsEgIRMQKBAQFZcSFulVtZ9FowmMgBzwBBM/RC4hEvfwTQghDXaJJJuo44MNMfAYIQ12iSSbry4IGBAQHXANIAAZHUkm0B4llsEgIRMAKBAQFZIG6VMFn0WjCUQTP0FeIRLn/gIIIQFtRTxbrjAiCCEKd5VT+64wIgghBLBgnKuuMCIIIQ1GIxB7oACgALAAwADQCuMNMfAYIQFtRTxbry4IGBAQHXANIAAZiBAQHXAAFvAZFt4hJsEoEBAQEgbpIwbY4QIG7y0IBvIcgBAYEBAc8AyeIDETADEiBulTBZ9FowlEEz9BXiES1/ALQw0x8BghCneVU/uvLggYEBAdcA+kAh1wsBwwCOHQEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIkjFt4hJsEgIRLgKBAQFZIG6VMFn0WjCUQTP0FOIRLH8BTDDTHwGCEEsGCcq68uCBgQEB1wDSAAGVgQEB1wCSbQHiWWwS2zx/AA4E2I6mMNMfAYIQ1GIxB7ry4IGBAQHXANIAAZWBAQHXAJJtAeJZbBLbPH/gIIIQceGs7rqOpjDTHwGCEHHhrO668uCBgQEB1wDSAAGVgQEB1wCSbQHiWWwS2zx/4CCCEGk+Ooe64wIgghBoTl5NugAQABEAEgATAfIRLXgiVi+BAQEhbpVbWfRaMJjIAc8AQTP0QuIRLIAQIlYvgQEBIW6VW1n0WjCYyAHPAEEz9ELiESuAICJWL4EBASFulVtZ9FowmMgBzwBBM/RC4hEqgEAiVi+BAQEhbpVbWfRaMJjIAc8AQTP0QuIRKYMGIlYvgQEBAA8A3CFulVtZ9FowmMgBzwBBM/RC4hEogwciVi+BAQEhbpVbWfRaMJjIAc8AQTP0QuKBAQEgBBEpBEMwAREvASFulVtZ9FowmMgBzwBBM/RC4hEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElAfIRJngiViiBAQEhbpVbWfRbMJjIAc8AQTP0Q+IRJYAQIlYogQEBIW6VW1n0WzCYyAHPAEEz9EPiESSAICJWKIEBASFulVtZ9FswmMgBzwBBM/RD4hEjgEAiViiBAQEhbpVbWfRbMJjIAc8AQTP0Q+IRIoMGIlYogQEBABQB8hEggQEBIlYieCFulVtZ9FowmMgBzwBBM/RC4hEfgQEBIlYigBAhbpVbWfRaMJjIAc8AQTP0QuIRHoEBASJWIoAgIW6VW1n0WjCYyAHPAEEz9ELiER2BAQEiViKAQCFulVtZ9FowmMgBzwBBM/RC4hEcgQEBIlYigwYAFQFMMNMfAYIQaT46h7ry4IGBAQHXANIAAZWBAQHXAJJtAeJZbBLbPH8AFgT+jl4w0x8BghBoTl5NuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABlYEBAdcAkm0B4llsEgIREwKBAQtZgQEBIW6VW1n0WTCYyAHPAEEz9EHiERF/4CCCECUz45C64wIgghD+5CcGuuMCIIIQZFxpebrjAgAYABkAGgAbAJQhbpVbWfRbMJjIAc8AQTP0Q+ICESECgwdZESeBAQEhbpVbWfRbMJjIAc8AQTP0Q+IRIxEkESMRIhEjESIRIREiESERIBEhESARHwDcIW6VW1n0WjCYyAHPAEEz9ELiERuBAQEiViKDByFulVtZ9FowmMgBzwBBM/RC4oEBASAEERwEQzABESIBIW6VW1n0WjCYyAHPAEEz9ELiER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgB8hEZgQEBIlYbeCFulVtZ9FowmMgBzwFBM/RC4hEYgQEBIlYbgBAhbpVbWfRaMJjIAc8BQTP0QuIRF4EBASJWG4AgIW6VW1n0WjCYyAHPAUEz9ELiERaBAQEiVhuAQCFulVtZ9FowmMgBzwFBM/RC4hEVgQEBIlYbgwYAFwCUIW6VW1n0WjCYyAHPAUEz9ELiAhEUAoEBAVkRGoMHIW6VW1n0WjCYyAHPAUEz9ELiERYRFxEWERURFhEVERQRFREUERMRFBETERIAsjDTHwGCECUz45C68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGS0gCSbQHiWWwSAhESAoEBC1lxIW6VW1n0WTCYyAHPAEEz9EHiERB/AKQw0x8BghD+5CcGuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABkdSSbQHiWWwSAhERAoEBC1kgbpUwWfRZMJRBM/QT4g9/AOIw0x8BghBkXGl5uvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABmIEBAdcAAW8BkW3iEmwSgQELASBukjBtjhAgbvLQgG8hyAEBgQEBzwDJ4gMREQMSIG6VMFn0WTCUQTP0E+IOfwTEIIIQZ8tNA7rjAiCCEGff/wK6jsEw0x8BghBn3/8CuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABlYEBAdcAkm0B4llsEts8f+AgghB6bpWPuuMCwAAAHAAdAB4AHwDsMNMfAYIQZ8tNA7ry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAIdcLAcMAjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiJIxbeISbBIQL4EBC1kgbpUwWfRZMJjIAc8WQTP0QeINfwHeDoEBC1MveCFulVtZ9FkwmMgBzwBBM/RB4g2BAQtTL4AQIW6VW1n0WTCYyAHPAEEz9EHiDIEBC1MvgCAhbpVbWfRZMJjIAc8AQTP0QeILgQELUy+AQCFulVtZ9FkwmMgBzwBBM/RB4gqBAQtTL4MGACABgjDTHwGCEHpulY+68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGVgQEB1wCSbQHiWWwS2zx/ACEAyI5e+QGC8Ertuptt/ny44PldEjDLCscLS7vmo+mRrnZ802NXPa8buo42PT09PT1XJ1cnVydXJ1cnbW1tbW1tESxtESxtESxtESxtESwJEREJCBEQCBB/EG4QXVVEf9sx4JEw4nAApiFulVtZ9FkwmMgBzwBBM/RB4gmBAQtTL4MHIW6VW1n0WTCYyAHPAEEz9EHiECiBAQtAD4EBASFulVtZ9FkwmMgBzwBBM/RB4hC8EKsQmhCJEHgGAd4HgQELUyh4IW6VW1n0WTCYyAHPAUEz9EHiBoEBC1MogBAhbpVbWfRZMJjIAc8BQTP0QeIFgQELUyiAICFulVtZ9FkwmMgBzwFBM/RB4gSBAQtTKIBAIW6VW1n0WTCYyAHPAUEz9EHiA4EBC1MogwYAIgBiIW6VW1n0WTCYyAHPAUEz9EHigQELQAiDByFulVtZ9FkwmMgBzwFBM/RB4hBFEDRBMAH+G/QACcj0ABj0ABb0AATI9AAT9AD0AAHI9AAT9AAT9AAEyPQAFfQAFvQABsj0ABj0ABj0AAnI9AAa9AAb9AALyPQAHfQAHfQADsj0AB/0AAEREAH0ABEQyPQAARERAfQAyVAPzMlQCszJUATMyVAIzMlQBczJUAvMyVAKzMkBzAAkADrJUAbMyVAFzMlYzMlQBMzJUAPMyVADzMlYzMkBzAIBIAAnACgCASAAMQAyAgEgACkAKgIBIAAtAC4CASAARABFAgEgACsALAIBIABZAFoCASAAbQBuAgEgAIMAhAIBIAAvADACAVgAowCkAgEgALAAsQIBIAAzADQCASABJgEnAgEgADUANgIBIAA3ADgCASAAwADBAgEgANUA1gIBIAA5ADoCASAAQgBDAgEgAPYA9wIBIAA7ADwCAVgAPQA+AiapL9s82zxXEF8PVxBfD1cQXw8xAZwAQQIlofNs82zxXEF8PVxBfD1cQXw8xgGcAD8CJaODbPNs8VxBfD1cQXw9XEF8PMYBnABAAARWEgACIwAEVhoCASABAwEEAgEgARcBGAIBIABGAEcCAVgASwBMAievQ+2ebZ4riC+Hq4gvh6uIL4eYwAGcAEgC9a2qEGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQAGcAEkABFYwAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxAASgFlACyBAQtWEgJxQTP0Cm+hlAHXADCSW23iAgEgAE0ATgIBIABTAFQC96VJtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnABPAvOmikGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGcAFEBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQBQAB6BAQFWMAJZ9A1voZIwbd8C/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEABSAWUAKoEBCycCeEEz9ApvoZQB1wEwkltt4gLzp8hBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnABVAvOnLkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGcAFcC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEABWAWUALIEBCyMCgwZBM/QKb6GUAdcBMJJbbeIC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEABYAWUALIEBCysCgEBBM/QKb6GUAdcAMJJbbeICJ69i7Z5tniuIL4eriC+Hq4gvh5jAAZwAWwIBIABcAF0ABFYuAgEgAF4AXwIBIABkAGUC96Z1tngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnABgAvemk7Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZwAYgHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAGEALoAgVisCgQEBQTP0DG+hlAHXADCSW23iAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAYwAugBBWJQKBAQFBM/QOb6GUAdcAMJJbbeICA5fQAGYAZwL3pze2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRCJCIkQiQiJAIkIiQCI+IkAiPiI8Ij4iPCI6IjwiOwGcAGsCI7u2ebZ4riC+Hq4gvh6uIL4eYwGcAGgC9d7Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AGcAGkAAi0BxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQBqAC6DB1YhAoEBAUEz9A5voZQB1wAwkltt4gHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAGwALoEBASBWKFAzQTP0DG+hlAHXADCSW23iAgFYAG8AcAIBIAB2AHcC96Y7tngiYCJkImAiXiJiIl4iXCJgIlwiWiJeIloiWCJcIlgiViJaIlYiVCJYIlQiUiJWIlIiUCJUIlAiTiJSIk4iTCJQIkwiSiJOIkoiSCJMIkgiRiJKIkYiRCJIIkQiQiJGIkIiQCJEIkAiPiJCIj4iPCJAIjwiOiI+IjsBnABxAiWlybZ5tniuIL4eriC+Hq4gvh5jAZwAdQHSERwRHhEcERsRHREbERoRHBEaERkRGxEZERgRGhEYERcRGREXERYRGBEWERURFxEVERQRFhEUERMRFRETERIRFBESERERExERERAREhEQDxERDw4REA4Q31Uc2zxXEF8PVxBfD1cQXw8xAHIB7G1tbW1tbW0GeFOYgQEBIW6VW1n0WjCYyAHPAEEz9ELiBYAQU5iBAQEhbpVbWfRaMJjIAc8AQTP0QuIEgCBTmIEBASFulVtZ9FowmMgBzwBBM/RC4gOAQFOYgQEBIW6VW1n0WjCYyAHPAEEz9ELiAoMGU5iBAQEAcwH+IW6VW1n0WjCYyAHPAEEz9ELiAYMHU5iBAQEhbpVbWfRaMJjIAc8AQTP0QuKBAQEgEDhUShNQqiFulVtZ9FowmMgBzwBBM/RC4gR4KIEBAUEz9AxvoZQB1wAwkltt4iBu8tCAA4AQKIEBAUEz9AxvoZQB1wAwkltt4iBu8tCAAgB0AeaAICiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgAGAQCiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgAWDBiiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgAaDByiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgIEBASAQNkGQAZsABFYvAgEgAHgAeQIBSAB+AH8C96VztngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnAB6AvellbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZwAfAHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAHsALoEBAVYWAoBAQTP0DG+hlAHXATCSW23iAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAfQAugQEBVhwCgwZBM/QMb6GUAdcAMJJbbeIC96GvbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHYBnACAAiWjE2zzbPFcQXw9XEF8PVxBfDzGAZwAggHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAIEALIEBAVYgAnhBM/QMb6GUAdcAMJJbbeIAAi4CASAAhQCGAgEgAI0AjgInrwHtnm2eK4gvh6uIL4eriC+HmMABnACHAgFYAIgAiQAEViwCJaZHtnm2eK4gvh6uIL4eriC+HmMBnACKAvOl6EGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGcAIsAAi8C/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEACMAWUAHoEBC1YRAln0C2+hkjBt3wIBIACPAJACASAAkgCTAiaqTts82zxXEF8PVxBfD1cQXw8xAZwBlgImqiLbPNs8VxBfD1cQXw9XEF8PMQGcAJEABFYtAgEgAJQAlQIBSACaAJsC86SIQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJFAZwAlgLzpG5BrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnACYAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxAAlwFlACyBAQskAoBAQTP0Cm+hlAHXATCSW23iAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxAAmQFlACyBAQsqAoMGQTP0Cm+hlAHXADCSW23iAvOiWINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEigGcAJwCAcsAngCfAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxAAnQFlACqBAQsuAnhBM/QKb6GUAdcAMJJbbeICI2ts82zxXEF8PVxBfD1cQXw8xgGcAKAC9dbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AGcAKEABFYQAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAogAsgQEBVjECcUEz9AxvoZQB1wAwkltt4gL4qjvbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHQGcAKUCASAApwCoAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEApgAugwdWKAKBAQFBM/QMb6GUAdcAMJJbbeICASAAqQCqAvel07Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZwArgL3omts8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdgGcAKsCJaGHbPNs8VxBfD1cQXw9XEF8PMYBnACtAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEArAAugBBWLAKBAQFBM/QMb6GUAdcAMJJbbeIABFYRAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEArwAugCBWJAKBAQFBM/QOb6GUAdcAMJJbbeIC+axe7Z4ImAiZCJgIl4iYiJeIlwiYCJcIloiXiJaIlgiXCJYIlYiWiJWIlQiWCJUIlIiViJSIlAiVCJQIk4iUiJOIkwiUCJMIkoiTiJKIkgiTCJIIkYiSiJGIkQiSCJEIkIiRiJCIkAiRCJAIj4iQiI+IjwiQCI8IjoiPiI7AAZwAsgIBIAC2ALcB0hEcER4RHBEbER0RGxEaERwRGhEZERsRGREYERoRGBEXERkRFxEWERgRFhEVERcRFREUERYRFBETERURExESERQREhERERMREREQERIREA8REQ8OERAOEN9VHNs8VxBfD1cQXw9XEF8PMQCzAeptbW1tbW0FeFOHgQEBIW6VW1n0WzCYyAHPAEEz9EPiBIAQU4eBAQEhbpVbWfRbMJjIAc8AQTP0Q+IDgCBTh4EBASFulVtZ9FswmMgBzwBBM/RD4gKAQFOHgQEBIW6VW1n0WzCYyAHPAEEz9EPiAYMGU4eBAQEAtAH8IW6VW1n0WzCYyAHPAEEz9EPiFYMHVCCIgQEBIW6VW1n0WzCYyAHPAEEz9EPiA3gngQEBQTP0Dm+hlAHXADCSW23iIG7y0IACgBAngQEBQTP0Dm+hlAHXADCSW23iIG7y0IABgCAngQEBQTP0Dm+hlAHXADCSW23iIG7y0IAEALUAtoBAJ4EBAUEz9A5voZQB1wAwkltt4iBu8tCABYMGJ4EBAUEz9A5voZQB1wAwkltt4iBu8tCAE4MHUAeBAQFBM/QOb6GUAdcAMJJbbeIgbvLQgAKgWKBYoFigAaAC+Ku42zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0BnAC4AgEgALoAuwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xALkALIEBAVYZAnhBM/QMb6GUAdcBMJJbbeIC96YztngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnAC8Avem1bZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZwAvgHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAL0ALoEBAVYVAoMGQTP0DG+hlAHXATCSW23iAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAvwAugQEBVh0CgEBBM/QMb6GUAdcAMJJbbeICASAAwgDDAgEgAMsAzAImqR7bPNs8VxBfD1cQXw9XEF8PMQGcAMQCAWoAxQDGAARWIAIlvN2zzbPFcQXw9XEF8PVxBfDzGAGcAMcC87tSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIoAZwAyAAEViYC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEADJAMoAQIEBC1YQAln0C2+hkjBt3yBukjBtmtCBAQHXAAExbwHiADJfDzEgbpIwbZkgbvLQgG8hbwHiIG6SMG3eAgFYAM0AzgIBSADRANICJaD7bPNs8VxBfD1cQXw9XEF8PMYBnADPAiWii2zzbPFcQXw9XEF8PVxBfDzGAZwA0AAEVhQAAiUCJaPHbPNs8VxBfD1cQXw9XEF8PMYBnADTAiWht2zzbPFcQXw9XEF8PVxBfDzGAZwA1AACKwAEVhgCASAA1wDYAgEgAOIA4wIBIADpAOoCASAA2QDaAgEgANsA3AIlpNm2ebZ4riC+Hq4gvh6uIL4eYwGcAOEC86Ncg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESKAZwA3QL3oRds8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdgGcAN8C/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEADeAWUALIEBCykCgwdBM/QKb6GUAdcAMJJbbeIBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQDgAB6BAQFWLgJZ9AxvoZIwbd8ABFYlAiaqH9s82zxXEF8PVxBfD1cQXw8xAZwA5AIBSADlAOYABFYTAiWjQ2zzbPFcQXw9XEF8PVxBfDzGAZwA5wIloTNs82zxXEF8PVxBfD1cQXw8xgGcAOgAAioABFYZAgEgAOsA7AIBIADwAPEC86AUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESKAZwA7QIloP9s82zxXEF8PVxBfD1cQXw8xgGcAO8C/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEADuAWUALIEBCyUCgCBBM/QKb6GUAdcBMJJbbeIABFYhAvOh2INdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEigGcAPIC96OTbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHYBnAD0AvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxAA8wFlACyBAQstAoAQQTP0Cm+hlAHXADCSW23iAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEA9QAugQEBIFYzUDNBM/QMb6GUAdcAMJJbbeIC+Kp62zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0BnAD4AgEgAPoA+wHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAPkALHhWLQKBAQFBM/QMb6GUAdcAMJJbbeIC96W3tngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnAD8AgFIAP4A/wHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAP0ALoMGVikCgQEBQTP0DG+hlAHXADCSW23iAiW4/bPNs8VxBfD1cQXw9XEF8PMYAZwBAAL3uo2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AGcAQEABFYoAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBAgAugEBWIwKBAQFBM/QOb6GUAdcAMJJbbeICASABBQEGAgEgAQ4BDwIBWAEHAQgC96fztngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnAEMAiW/3bPNs8VxBfD1cQXw9XEF8PMYAZwBCQL3uK2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AGcAQoABFYfAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBCwAugQEBIFYbUDNBM/QMb6GUAdcAMJJbbeIBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQENAC6BAQFWFAKDB0Ez9AxvoZQB1wEwkltt4gL3prG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRCJCIkQiQiJAIkIiQCI+IkAiPiI8Ij4iPCI6IjwiOwGcARACASABEgETAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBEQAugQEBVhgCgBBBM/QMb6GUAdcBMJJbbeICJaC7bPNs8VxBfD1cQXw9XEF8PMYBnAEUAvegr2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AZwBFQAEVicBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQEWAC6BAQFWHgKAIEEz9AxvoZQB1wAwkltt4gIDl9ABGQEaAgEgARwBHQIloO2ebZ4riC+Hq4gvh6uIL4eYwAGcARsAk6DBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOE7Lpy1Zp2W5nQdLNsozdFJAAAIkAgEgAR4BHwL3pLu2eCJgImQiYCJeImIiXiJcImAiXCJaIl4iWiJYIlwiWCJWIloiViJUIlgiVCJSIlYiUiJQIlQiUCJOIlIiTiJMIlAiTCJKIk4iSiJIIkwiSCJGIkoiRiJEIkgiRCJCIkYiQiJAIkQiQCI+IkIiPiI8IkAiPCI6Ij4iOwGcASICJaJLbPNs8VxBfD1cQXw9XEF8PMYBnAEgAiWgO2zzbPFcQXw9XEF8PVxBfDzGAZwBIQACLAAEVhsB0hEcER4RHBEbER0RGxEaERwRGhEZERsRGREYERoRGBEXERkRFxEWERgRFhEVERcRFREUERYRFBETERURExESERQREhERERMREREQERIREA8REQ8OERAOEN9VHNs8VxBfD1cQXw9XEF8PMQEjAextbW1tbW1tBoEBAVOYeCFulVtZ9FowmMgBzwBBM/RC4gWBAQFTmIAQIW6VW1n0WjCYyAHPAEEz9ELiBIEBAVOYgCAhbpVbWfRaMJjIAc8AQTP0QuIDgQEBU5iAQCFulVtZ9FowmMgBzwBBM/RC4gKBAQFTmIMGASQB/iFulVtZ9FowmMgBzwBBM/RC4gGBAQFTmIMHIW6VW1n0WjCYyAHPAEEz9ELigQEBIBA4VEoTUKohbpVbWfRaMJjIAc8AQTP0QuIEgQEBKHhBM/QMb6GUAdcAMJJbbeIgbvLQgAOBAQEogBBBM/QMb6GUAdcAMJJbbeIgbvLQgAIBJQHmgQEBKIAgQTP0DG+hlAHXADCSW23iIG7y0IABgQEBKIBAQTP0DG+hlAHXADCSW23iIG7y0IAFgQEBKIMGQTP0DG+hlAHXADCSW23iIG7y0IAGgQEBKIMHQTP0DG+hlAHXADCSW23iIG7y0ICBAQEgEDZBkAGbAgEgASgBKQIBIAE1ATYCASABKgErAgEgATMBNAIBIAFCAUMCASABLAEtAiarJts82zxXEF8PVxBfD1cQXw8xAZwBLgIBSAEvATAAAiECJaHXbPNs8VxBfD1cQXw9XEF8PMYBnAExAiWjp2zzbPFcQXw9XEF8PVxBfDzGAZwBMgACJwAEVhwCASABUAFRAgEgAWYBZwIBIAE3ATgCASABQAFBAgEgAXIBcwIBIAE5AToCJqr42zzbPFcQXw9XEF8PVxBfDzEBnAE7AgFIATwBPQAEVhYCJaDfbPNs8VxBfD1cQXw9XEF8PMYBnAE+AiWir2zzbPFcQXw9XEF8PVxBfDzGAZwBPwACKQAEVh4CASABfwGAAgEgAY8BkAIBIAFEAUUCASABSwFMAiWnNbZ5tniuIL4eriC+Hq4gvh5jAZwBRgIBIAFHAUgABFYkAA+i+7UTQ0gABgLzoFSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIoBnAFJAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxABSgFlAByBAQsvAln0Cm+hkjBt3wLzp2hBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnAFNAiWlk7Z5tniuIL4eriC+Hq4gvh5jAZwBTwL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAU4BZQAwgQELVhMCgQEBQTP0Cm+hlAHXADCSW23iAARWKgIBIAFSAVMCASABXAFdAgEgAVQBVQLzpghBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnAFaAvejl2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AZwBVgLzodyDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIoBnAFYAfIRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEgbpIwbZkgbvLQgG8hbwHiIG6SMG3eAVcAQIEBAVYvAln0DW+hkjBt3yBukjBtmtCBAQHXAAExbwHiAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxABWQFlAC6BAQsoAoEBAUEz9ApvoZQB1wAwkltt4gL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAVsBZQAsgQELIgKDB0Ez9ApvoZQB1wEwkltt4gLzp0pBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnAFeAgEgAWABYQL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAV8BZQAsgQELJgKAEEEz9ApvoZQB1wEwkltt4gIlo6Ns82zxXEF8PVxBfD1cQXw8xgGcAWIC86NYg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESKAZwBYwAEVikC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEAFkAWUALIEBCywCgCBBM/QKb6GUAdcAMJJbbeIABl8PMQIBIAFoAWkCAUgBbgFvAHOndxoatLgzOZ0Xl6i2sJmwrLE4GSogtzusKCUrmKuzuyIzmjE4m5oqJiQapzC2uiW5GSE3srs0ILdBAgEgAWoBawIlom9s82zxXEF8PVxBfD1cQXw8xgGcAWwCJaAfbPNs8VxBfD1cQXw9XEF8PMYBnAFtAARWFwACIgIloVNs82zxXEF8PVxBfD1cQXw8xgGcAXACJaMjbPNs8VxBfD1cQXw9XEF8PMYBnAFxAAImAARWHQIBIAF0AXUC+Kmp2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0BnAF9AgFYAXYBdwL3phG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRCJCIkQiQiJAIkIiQCI+IkAiPiI8Ij4iPCI6IjwiOwGcAXsC97+9s8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdgBnAF4AiW9jbPNs8VxBfD1cQXw9XEF8PMYAZwBegHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAXkALoBAVioCgQEBQTP0DG+hlAHXADCSW23iAARWIgHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAXwALoMGViICgQEBQTP0Dm+hlAHXADCSW23iAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBfgAseFYmAoEBAUEz9A5voZQB1wAwkltt4gIBIAGBAYICASABigGLAgEgAYMBhAL3pRe2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRCJCIkQiQiJAIkIiQCI+IkAiPiI8Ij4iPCI6IjwiOwGcAYgC96PjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHYBnAGFAiWj52zzbPFcQXw9XEF8PVxBfDzGAZwBhwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAYYALoEBAVYXAoAgQTP0DG+hlAHXATCSW23iAARWIwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAYkALoEBAVYfAoAQQTP0DG+hlAHXADCSW23iAvekVbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZwBjAIlpVW2ebZ4riC+Hq4gvh6uIL4eYwGcAY4BxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQGNAC6BAQFWGwKDB0Ez9AxvoZQB1wAwkltt4gAEVisCAVgBkQGSAiaoFts82zxXEF8PVxBfD1cQXw8xAZwBnQIlo2ds82zxXEF8PVxBfD1cQXw8xgGcAZMCASABlAGVAARWFQIlvF2zzbPFcQXw9XEF8PVxBfDzGAGcAZYC97/ds8ETARMhEwES8RMREvES4RMBEuES0RLxEtESwRLhEsESsRLRErESoRLBEqESkRKxEpESgRKhEoEScRKREnESYRKBEmESURJxElESQRJhEkESMRJREjESIRJBEiESERIxEhESARIhEgER8RIREfER4RIBEeER0RHxEdgBnAGXAAIgAdIRHBEeERwRGxEdERsRGhEcERoRGREbERkRGBEaERgRFxEZERcRFhEYERYRFREXERURFBEWERQRExEVERMREhEUERIRERETEREREBESERAPEREPDhEQDhDfVRzbPFcQXw9XEF8PVxBfDzEBmAHsbW1tbW1tbQaBAQFTmHghbpVbWfRaMJjIAc8BQTP0QuIFgQEBU5iAECFulVtZ9FowmMgBzwFBM/RC4gSBAQFTmIAgIW6VW1n0WjCYyAHPAUEz9ELiA4EBAVOYgEAhbpVbWfRaMJjIAc8BQTP0QuICgQEBU5iDBgGZAf4hbpVbWfRaMJjIAc8BQTP0QuIBgQEBU5iDByFulVtZ9FowmMgBzwFBM/RC4oEBASAQOFRKE1CqIW6VW1n0WjCYyAHPAEEz9ELiBIEBASh4QTP0DG+hlAHXATCSW23iIG7y0IADgQEBKIAQQTP0DG+hlAHXATCSW23iIG7y0IACAZoB5oEBASiAIEEz9AxvoZQB1wEwkltt4iBu8tCAAYEBASiAQEEz9AxvoZQB1wEwkltt4iBu8tCABYEBASiDBkEz9AxvoZQB1wEwkltt4iBu8tCABoEBASiDB0Ez9AxvoZQB1wEwkltt4iBu8tCAgQEBIBA2QZABmwBAQTP0DG+hlAHXADCSW23iIG7y0IBZoFigWKBYoFigAaACNO1E0NQB+GPSAAHjAjD4KNcLCoMJuvLgids8AZ4BnwACKAL42zxXMREvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHAGgAaEAYm1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW0B9vQE9ATUAdD0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMAGiAJwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ4ASND0BPQE9ATUMND0BPQE9ATUMND0BPQEMBEvETERLxEvETARLw==","abi":"{\"name\":\"MapTestContract\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"SetIntMap1\",\"header\":1510253336,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}]},{\"name\":\"SetIntMap2\",\"header\":1629867766,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}}]},{\"name\":\"SetIntMap3\",\"header\":3613954633,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"SetIntMap4\",\"header\":383013829,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"SomeStruct\",\"optional\":true}}]},{\"name\":\"SetIntMap5\",\"header\":2809746751,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"SetIntMap6\",\"header\":1258686922,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}]},{\"name\":\"SetUIntMap7\",\"header\":3563204871,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}]},{\"name\":\"SetIntMap8\",\"header\":1910615278,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}]},{\"name\":\"SetUIntMap9\",\"header\":1765685895,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}]},{\"name\":\"SetAddrMap1\",\"header\":1749966413,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}]},{\"name\":\"SetAddrMap2\",\"header\":624157584,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}}]},{\"name\":\"SetAddrMap3\",\"header\":4276365062,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"SetAddrMap4\",\"header\":1683777913,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"SomeStruct\",\"optional\":true}}]},{\"name\":\"SetAddrMap5\",\"header\":1741376771,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]},{\"name\":\"SetAddrMap6\",\"header\":1742733058,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}]},{\"name\":\"SetAddrMap7\",\"header\":2054067599,\"fields\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}]},{\"name\":\"SomeStruct\",\"header\":null,\"fields\":[{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetIntMap1\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetIntMap2\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetIntMap3\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetIntMap4\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetIntMap5\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetIntMap6\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetUIntMap7\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetIntMap8\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetUIntMap9\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetAddrMap1\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetAddrMap2\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetAddrMap3\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetAddrMap4\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetAddrMap5\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetAddrMap6\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"SetAddrMap7\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"reset\"}}],\"getters\":[{\"name\":\"intMap1\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\"}},{\"name\":\"intMap1Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap2\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"bool\"}},{\"name\":\"intMap2Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}},{\"name\":\"intMap3\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"cell\",\"valueFormat\":\"ref\"}},{\"name\":\"intMap3Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"intMap4\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"SomeStruct\",\"valueFormat\":\"ref\"}},{\"name\":\"intMap4Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"SomeStruct\",\"optional\":true}},{\"name\":\"intMap5\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"address\"}},{\"name\":\"intMap5Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"intMap6_1\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"keyFormat\":8,\"value\":\"int\"}},{\"name\":\"intMap6_1Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap6_2\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"keyFormat\":16,\"value\":\"int\"}},{\"name\":\"intMap6_2Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap6_3\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"keyFormat\":32,\"value\":\"int\"}},{\"name\":\"intMap6_3Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap6_4\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"keyFormat\":64,\"value\":\"int\"}},{\"name\":\"intMap6_4Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap6_5\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"keyFormat\":128,\"value\":\"int\"}},{\"name\":\"intMap6_5Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap6_6\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"keyFormat\":256,\"value\":\"int\"}},{\"name\":\"intMap6_6Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap6_7\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"keyFormat\":257,\"value\":\"int\"}},{\"name\":\"intMap6_7Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap7_1\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"uint\",\"keyFormat\":8,\"value\":\"int\"}},{\"name\":\"intMap7_1Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap7_2\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"uint\",\"keyFormat\":16,\"value\":\"int\"}},{\"name\":\"intMap7_2Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap7_3\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"uint\",\"keyFormat\":32,\"value\":\"int\"}},{\"name\":\"intMap7_3Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap7_4\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"uint\",\"keyFormat\":64,\"value\":\"int\"}},{\"name\":\"intMap7_4Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap7_5\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"uint\",\"keyFormat\":128,\"value\":\"int\"}},{\"name\":\"intMap7_5Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap7_6\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"uint\",\"keyFormat\":256,\"value\":\"int\"}},{\"name\":\"intMap7_6Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap8_1\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\",\"valueFormat\":8}},{\"name\":\"intMap8_1Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap8_2\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\",\"valueFormat\":16}},{\"name\":\"intMap8_2Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap8_3\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\",\"valueFormat\":32}},{\"name\":\"intMap8_3Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap8_4\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\",\"valueFormat\":64}},{\"name\":\"intMap8_4Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap8_5\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\",\"valueFormat\":128}},{\"name\":\"intMap8_5Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap8_6\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\",\"valueFormat\":256}},{\"name\":\"intMap8_6Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap8_7\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\",\"valueFormat\":257}},{\"name\":\"intMap8_7Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap9_1\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"uint\",\"valueFormat\":8}},{\"name\":\"intMap9_1Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap9_2\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"uint\",\"valueFormat\":16}},{\"name\":\"intMap9_2Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap9_3\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"uint\",\"valueFormat\":32}},{\"name\":\"intMap9_3Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap9_4\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"uint\",\"valueFormat\":64}},{\"name\":\"intMap9_4Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap9_5\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"uint\",\"valueFormat\":128}},{\"name\":\"intMap9_5Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap9_6\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"uint\",\"valueFormat\":256}},{\"name\":\"intMap9_6Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"intMap10Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"intMap11Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"intMap12Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"intMap13Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"addrMap1\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"int\"}},{\"name\":\"addrMap1Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap2\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"bool\"}},{\"name\":\"addrMap2Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}},{\"name\":\"addrMap3\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"cell\",\"valueFormat\":\"ref\"}},{\"name\":\"addrMap3Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"addrMap4\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"SomeStruct\",\"valueFormat\":\"ref\"}},{\"name\":\"addrMap4Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"SomeStruct\",\"optional\":true}},{\"name\":\"addrMap5\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"address\"}},{\"name\":\"addrMap5Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"addrMap6_1\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"int\",\"valueFormat\":8}},{\"name\":\"addrMap6_1Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap6_2\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"int\",\"valueFormat\":16}},{\"name\":\"addrMap6_2Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap6_3\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"int\",\"valueFormat\":32}},{\"name\":\"addrMap6_3Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap6_4\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"int\",\"valueFormat\":64}},{\"name\":\"addrMap6_4Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap6_5\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"int\",\"valueFormat\":128}},{\"name\":\"addrMap6_5Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap6_6\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"int\",\"valueFormat\":256}},{\"name\":\"addrMap6_6Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap6_7\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"int\",\"valueFormat\":257}},{\"name\":\"addrMap6_7Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap7_1\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"uint\",\"valueFormat\":8}},{\"name\":\"addrMap7_1Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap7_2\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"uint\",\"valueFormat\":16}},{\"name\":\"addrMap7_2Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap7_3\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"uint\",\"valueFormat\":32}},{\"name\":\"addrMap7_3Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap7_4\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"uint\",\"valueFormat\":64}},{\"name\":\"addrMap7_4Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap7_5\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"uint\",\"valueFormat\":128}},{\"name\":\"addrMap7_5Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"addrMap7_6\",\"arguments\":[],\"returnType\":{\"kind\":\"dict\",\"key\":\"address\",\"value\":\"uint\",\"valueFormat\":256}},{\"name\":\"addrMap7_6Value\",\"arguments\":[{\"name\":\"key\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"mapAsCell\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckICAaUAAQAAVTsAAAEBwAABAQWgxIMAAgEU/wD0pBP0vPLICwADAgFiAX0ABAIBIADzAAUCASAAewAGAgEgAD4ABwIBIAAnAAgCASAAFgAJAgEgAAwACgImqBbbPNs8VxBfD1cQXw9XEF8PMQGfAAsAAigCAVgAFAANAgEgABMADgL3v92zwRMBEyETARLxExES8RLhEwES4RLREvES0RLBEuESwRKxEtESsRKhEsESoRKRErESkRKBEqESgRJxEpEScRJhEoESYRJREnESURJBEmESQRIxElESMRIhEkESIRIREjESERIBEiESARHxEhER8RHhEgER4RHREfER2AGfAA8B0hEcER4RHBEbER0RGxEaERwRGhEZERsRGREYERoRGBEXERkRFxEWERgRFhEVERcRFREUERYRFBETERURExESERQREhERERMREREQERIREA8REQ8OERAOEN9VHNs8VxBfD1cQXw9XEF8PMQAQAextbW1tbW1tBoEBAVOYeCFulVtZ9FowmMgBzwFBM/RC4gWBAQFTmIAQIW6VW1n0WjCYyAHPAUEz9ELiBIEBAVOYgCAhbpVbWfRaMJjIAc8BQTP0QuIDgQEBU5iAQCFulVtZ9FowmMgBzwFBM/RC4gKBAQFTmIMGABEB/iFulVtZ9FowmMgBzwFBM/RC4gGBAQFTmIMHIW6VW1n0WjCYyAHPAUEz9ELigQEBIBA4VEoTUKohbpVbWfRaMJjIAc8AQTP0QuIEgQEBKHhBM/QMb6GUAdcBMJJbbeIgbvLQgAOBAQEogBBBM/QMb6GUAdcBMJJbbeIgbvLQgAIAEgHmgQEBKIAgQTP0DG+hlAHXATCSW23iIG7y0IABgQEBKIBAQTP0DG+hlAHXATCSW23iIG7y0IAFgQEBKIMGQTP0DG+hlAHXATCSW23iIG7y0IAGgQEBKIMHQTP0DG+hlAHXATCSW23iIG7y0ICBAQEgEDZBkAFQAiW8XbPNs8VxBfD1cQXw9XEF8PMYAZ8BLQIlo2ds82zxXEF8PVxBfD1cQXw8xgGfABUABFYVAgEgAB0AFwIBIAAaABgCJaVVtnm2eK4gvh6uIL4eriC+HmMBnwAZAARWKwL3pFW2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRCJCIkQiQiJAIkIiQCI+IkAiPiI8Ij4iPCI6IjwiOwGfABsBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQAcAC6BAQFWGwKDB0Ez9AxvoZQB1wAwkltt4gIBIAAhAB4C96UXtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnwAfAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAIAAugQEBVh8CgBBBM/QMb6GUAdcAMJJbbeICASAAJAAiAiWj52zzbPFcQXw9XEF8PVxBfDzGAZ8AIwAEViMC96PjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHYBnwAlAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAJgAugQEBVhcCgCBBM/QMb6GUAdcBMJJbbeICASAAMAAoAgEgAC4AKQIBSAAsACoCJaKvbPNs8VxBfD1cQXw9XEF8PMYBnwArAARWHgIloN9s82zxXEF8PVxBfD1cQXw8xgGfAC0AAikCJqr42zzbPFcQXw9XEF8PVxBfDzEBnwAvAARWFgIBIAA0ADEC+Kmp2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0BnwAyAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAMwAseFYmAoEBAUEz9A5voZQB1wAwkltt4gIBIAA4ADUC96YRtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnwA2AcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEANwAugwZWIgKBAQFBM/QOb6GUAdcAMJJbbeICAVgAOwA5AiW9jbPNs8VxBfD1cQXw9XEF8PMYAZ8AOgAEViIC97+9s8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdgBnwA8AcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAPQAugEBWKgKBAQFBM/QMb6GUAdcAMJJbbeICASAAYwA/AgEgAE0AQAIBIABGAEECAUgARABCAiWjI2zzbPFcQXw9XEF8PVxBfDzGAZ8AQwAEVh0CJaFTbPNs8VxBfD1cQXw9XEF8PMYBnwBFAAImAgEgAEwARwIBIABKAEgCJaAfbPNs8VxBfD1cQXw9XEF8PMYBnwBJAAIiAiWib2zzbPFcQXw9XEF8PVxBfDzGAZ8ASwAEVhcAc6d3Ghq0uDM5nReXqLawmbCssTgZKiC3O6woJSuYq7O7IjOaMTibmiomJBqnMLa6JbkZITeyuzQgt0ECASAAWABOAgEgAFUATwIBIABTAFAC86NYg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESKAZ8AUQL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAFIBeQAsgQELLAKAIEEz9ApvoZQB1wAwkltt4gIlo6Ns82zxXEF8PVxBfD1cQXw8xgGfAFQABFYpAvOnSkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGfAFYC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEABXAXkALIEBCyYCgBBBM/QKb6GUAdcBMJJbbeICASAAXABZAvOmCEGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGfAFoC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEABbAXkALIEBCyICgwdBM/QKb6GUAdcBMJJbbeICASAAYABdAvOh3INdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEigGfAF4C/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEABfAXkALoEBCygCgQEBQTP0Cm+hlAHXADCSW23iAvejl2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AZ8AYQHyERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xIG6SMG2ZIG7y0IBvIW8B4iBukjBt3gBiAECBAQFWLwJZ9A1voZIwbd8gbpIwbZrQgQEB1wABMW8B4gIBIABsAGQCASAAagBlAgFIAGgAZgIlo6ds82zxXEF8PVxBfD1cQXw8xgGfAGcABFYcAiWh12zzbPFcQXw9XEF8PVxBfDzGAZ8AaQACJwImqybbPNs8VxBfD1cQXw9XEF8PMQGfAGsAAiECASAAcwBtAgEgAHAAbgIlpZO2ebZ4riC+Hq4gvh6uIL4eYwGfAG8ABFYqAvOnaEGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGfAHEC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEAByAXkAMIEBC1YTAoEBAUEz9ApvoZQB1wAwkltt4gIBIAB5AHQCASAAeAB1AvOgVINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEigGfAHYC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEAB3AXkAHIEBCy8CWfQKb6GSMG3fAA+i+7UTQ0gABgIlpzW2ebZ4riC+Hq4gvh6uIL4eYwGfAHoABFYkAgEgALoAfAIBIACjAH0CASAAjgB+AgEgAIoAfwIBIACFAIAC96S7tngiYCJkImAiXiJiIl4iXCJgIlwiWiJeIloiWCJcIlgiViJaIlYiVCJYIlQiUiJWIlIiUCJUIlAiTiJSIk4iTCJQIkwiSiJOIkoiSCJMIkgiRiJKIkYiRCJIIkQiQiJGIkIiQCJEIkAiPiJCIj4iPCJAIjwiOiI+IjsBnwCBAdIRHBEeERwRGxEdERsRGhEcERoRGREbERkRGBEaERgRFxEZERcRFhEYERYRFREXERURFBEWERQRExEVERMREhEUERIRERETEREREBESERAPEREPDhEQDhDfVRzbPFcQXw9XEF8PVxBfDzEAggHsbW1tbW1tbQaBAQFTmHghbpVbWfRaMJjIAc8AQTP0QuIFgQEBU5iAECFulVtZ9FowmMgBzwBBM/RC4gSBAQFTmIAgIW6VW1n0WjCYyAHPAEEz9ELiA4EBAVOYgEAhbpVbWfRaMJjIAc8AQTP0QuICgQEBU5iDBgCDAf4hbpVbWfRaMJjIAc8AQTP0QuIBgQEBU5iDByFulVtZ9FowmMgBzwBBM/RC4oEBASAQOFRKE1CqIW6VW1n0WjCYyAHPAEEz9ELiBIEBASh4QTP0DG+hlAHXADCSW23iIG7y0IADgQEBKIAQQTP0DG+hlAHXADCSW23iIG7y0IACAIQB5oEBASiAIEEz9AxvoZQB1wAwkltt4iBu8tCAAYEBASiAQEEz9AxvoZQB1wAwkltt4iBu8tCABYEBASiDBkEz9AxvoZQB1wAwkltt4iBu8tCABoEBASiDB0Ez9AxvoZQB1wAwkltt4iBu8tCAgQEBIBA2QZABUAIBIACIAIYCJaA7bPNs8VxBfD1cQXw9XEF8PMYBnwCHAARWGwIlokts82zxXEF8PVxBfD1cQXw8xgGfAIkAAiwCA5fQAIwAiwCToME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4TsunLVmnZbmdB0s2yjN0UkACJaDtnm2eK4gvh6uIL4eriC+HmMABnwCNAAIkAgEgAJkAjwIBIACWAJACASAAlACRAvegr2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AZ8AkgHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAJMALoEBAVYeAoAgQTP0DG+hlAHXADCSW23iAiWgu2zzbPFcQXw9XEF8PVxBfDzGAZ8AlQAEVicC96axtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnwCXAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAmAAugQEBVhgCgBBBM/QMb6GUAdcBMJJbbeICASAAnQCaAven87Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8AmwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAJwALoEBAVYUAoMHQTP0DG+hlAHXATCSW23iAgFYAKEAngL3uK2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AGfAJ8BxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQCgAC6BAQEgVhtQM0Ez9AxvoZQB1wAwkltt4gIlv92zzbPFcQXw9XEF8PVxBfDzGAGfAKIABFYfAgEgAKwApAIBIACnAKUCJqkv2zzbPFcQXw9XEF8PVxBfDzEBnwCmAARWGgIBWACqAKgCJaODbPNs8VxBfD1cQXw9XEF8PMYBnwCpAAIjAiWh82zzbPFcQXw9XEF8PVxBfDzGAZ8AqwAEVhICASAAtwCtAgEgALQArgIBSACyAK8C97qNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdgBnwCwAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAsQAugEBWIwKBAQFBM/QOb6GUAdcAMJJbbeICJbj9s82zxXEF8PVxBfD1cQXw8xgBnwCzAARWKAL3pbe2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRCJCIkQiQiJAIkIiQCI+IkAiPiI8Ij4iPCI6IjwiOwGfALUBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQC2AC6DBlYpAoEBAUEz9AxvoZQB1wAwkltt4gL4qnrbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHQGfALgBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQC5ACx4Vi0CgQEBQTP0DG+hlAHXADCSW23iAgEgAN0AuwIBIADEALwCASAAwgC9AgFIAMAAvgIloTNs82zxXEF8PVxBfD1cQXw8xgGfAL8ABFYZAiWjQ2zzbPFcQXw9XEF8PVxBfDzGAZ8AwQACKgImqh/bPNs8VxBfD1cQXw9XEF8PMQGfAMMABFYTAgEgAM8AxQIBIADIAMYCJaTZtnm2eK4gvh6uIL4eriC+HmMBnwDHAARWJQIBIADMAMkC96EXbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHYBnwDKAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAywAegQEBVi4CWfQMb6GSMG3fAvOjXINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEigGfAM0C/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEADOAXkALIEBCykCgwdBM/QKb6GUAdcAMJJbbeICASAA1wDQAgEgANQA0QL3o5Ns8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdgGfANIBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQDTAC6BAQEgVjNQM0Ez9AxvoZQB1wAwkltt4gLzodiDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIoBnwDVAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxAA1gF5ACyBAQstAoAQQTP0Cm+hlAHXADCSW23iAgEgANoA2AIloP9s82zxXEF8PVxBfD1cQXw8xgGfANkABFYhAvOgFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEigGfANsC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEADcAXkALIEBCyUCgCBBM/QKb6GUAdcBMJJbbeICASAA6QDeAgEgAOQA3wIBSADiAOACJaG3bPNs8VxBfD1cQXw9XEF8PMYBnwDhAARWGAIlo8ds82zxXEF8PVxBfD1cQXw8xgGfAOMAAisCAVgA5wDlAiWii2zzbPFcQXw9XEF8PVxBfDzGAZ8A5gACJQIloPts82zxXEF8PVxBfD1cQXw8xgGfAOgABFYUAgEgAPEA6gIBagDvAOsC87tSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIoAZ8A7AL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAO4A7QAyXw8xIG6SMG2ZIG7y0IBvIW8B4iBukjBt3gBAgQELVhACWfQLb6GSMG3fIG6SMG2a0IEBAdcAATFvAeICJbzds82zxXEF8PVxBfD1cQXw8xgBnwDwAARWJgImqR7bPNs8VxBfD1cQXw9XEF8PMQGfAPIABFYgAgEgATcA9AIBIAEVAPUCASABBwD2AgEgAQIA9wIBIAD/APgCASAA/AD5Avem1bZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8A+gHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAPsALoEBAVYdAoBAQTP0DG+hlAHXADCSW23iAvemM7Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8A/QHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAP4ALoEBAVYVAoMGQTP0DG+hlAHXATCSW23iAviruNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdAZ8BAAHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAQEALIEBAVYZAnhBM/QMb6GUAdcBMJJbbeIC+axe7Z4ImAiZCJgIl4iYiJeIlwiYCJcIloiXiJaIlgiXCJYIlYiWiJWIlQiWCJUIlIiViJSIlAiVCJQIk4iUiJOIkwiUCJMIkoiTiJKIkgiTCJIIkYiSiJGIkQiSCJEIkIiRiJCIkAiRCJAIj4iQiI+IjwiQCI8IjoiPiI7AAZ8BAwHSERwRHhEcERsRHREbERoRHBEaERkRGxEZERgRGhEYERcRGREXERYRGBEWERURFxEVERQRFhEUERMRFRETERIRFBESERERExERERAREhEQDxERDw4REA4Q31Uc2zxXEF8PVxBfD1cQXw8xAQQB6m1tbW1tbQV4U4eBAQEhbpVbWfRbMJjIAc8AQTP0Q+IEgBBTh4EBASFulVtZ9FswmMgBzwBBM/RD4gOAIFOHgQEBIW6VW1n0WzCYyAHPAEEz9EPiAoBAU4eBAQEhbpVbWfRbMJjIAc8AQTP0Q+IBgwZTh4EBAQEFAfwhbpVbWfRbMJjIAc8AQTP0Q+IVgwdUIIiBAQEhbpVbWfRbMJjIAc8AQTP0Q+IDeCeBAQFBM/QOb6GUAdcAMJJbbeIgbvLQgAKAECeBAQFBM/QOb6GUAdcAMJJbbeIgbvLQgAGAICeBAQFBM/QOb6GUAdcAMJJbbeIgbvLQgAQBBgC2gEAngQEBQTP0Dm+hlAHXADCSW23iIG7y0IAFgwYngQEBQTP0Dm+hlAHXADCSW23iIG7y0IATgwdQB4EBAUEz9A5voZQB1wAwkltt4iBu8tCAAqBYoFigWKABoAIBWAESAQgCASABDAEJAvel07Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8BCgHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAQsALoAgViQCgQEBQTP0Dm+hlAHXADCSW23iAgEgAQ8BDQIloYds82zxXEF8PVxBfD1cQXw8xgGfAQ4ABFYRAveia2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AZ8BEAHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAREALoAQViwCgQEBQTP0DG+hlAHXADCSW23iAviqO9s8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdAZ8BEwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xARQALoMHVigCgQEBQTP0DG+hlAHXADCSW23iAgEgAS4BFgIBIAEpARcCASABIgEYAgFIAR8BGQIBywEdARoC9dbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AGfARsBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQEcACyBAQFWMQJxQTP0DG+hlAHXADCSW23iAiNrbPNs8VxBfD1cQXw9XEF8PMYBnwEeAARWEALzoliDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIoBnwEgAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxABIQF5ACqBAQsuAnhBM/QKb6GUAdcAMJJbbeICASABJgEjAvOkbkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGfASQC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEAElAXkALIEBCyoCgwZBM/QKb6GUAdcAMJJbbeIC86SIQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJFAZ8BJwL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQASgBeQAsgQELJAKAQEEz9ApvoZQB1wEwkltt4gIBIAEsASoCJqoi2zzbPFcQXw9XEF8PVxBfDzEBnwErAARWLQImqk7bPNs8VxBfD1cQXw9XEF8PMQGfAS0AAiACASABNQEvAgFYATMBMALzpehBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnwExAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxABMgF5AB6BAQtWEQJZ9AtvoZIwbd8CJaZHtnm2eK4gvh6uIL4eriC+HmMBnwE0AAIvAievAe2ebZ4riC+Hq4gvh6uIL4eYwAGfATYABFYsAgEgAWYBOAIBIAFRATkCASABSAE6AgEgAUEBOwIBSAE+ATwCJaMTbPNs8VxBfD1cQXw9XEF8PMYBnwE9AAIuAvehr2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AZ8BPwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAUAALIEBAVYgAnhBM/QMb6GUAdcAMJJbbeICASABRQFCAvellbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8BQwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAUQALoEBAVYcAoMGQTP0DG+hlAHXADCSW23iAvelc7Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8BRgHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAUcALoEBAVYWAoBAQTP0DG+hlAHXATCSW23iAgFYAUsBSQIlpcm2ebZ4riC+Hq4gvh6uIL4eYwGfAUoABFYvAvemO7Z4ImAiZCJgIl4iYiJeIlwiYCJcIloiXiJaIlgiXCJYIlYiWiJWIlQiWCJUIlIiViJSIlAiVCJQIk4iUiJOIkwiUCJMIkoiTiJKIkgiTCJIIkYiSiJGIkQiSCJEIkIiRiJCIkAiRCJAIj4iQiI+IjwiQCI8IjoiPiI7AZ8BTAHSERwRHhEcERsRHREbERoRHBEaERkRGxEZERgRGhEYERcRGREXERYRGBEWERURFxEVERQRFhEUERMRFRETERIRFBESERERExERERAREhEQDxERDw4REA4Q31Uc2zxXEF8PVxBfD1cQXw8xAU0B7G1tbW1tbW0GeFOYgQEBIW6VW1n0WjCYyAHPAEEz9ELiBYAQU5iBAQEhbpVbWfRaMJjIAc8AQTP0QuIEgCBTmIEBASFulVtZ9FowmMgBzwBBM/RC4gOAQFOYgQEBIW6VW1n0WjCYyAHPAEEz9ELiAoMGU5iBAQEBTgH+IW6VW1n0WjCYyAHPAEEz9ELiAYMHU5iBAQEhbpVbWfRaMJjIAc8AQTP0QuKBAQEgEDhUShNQqiFulVtZ9FowmMgBzwBBM/RC4gR4KIEBAUEz9AxvoZQB1wAwkltt4iBu8tCAA4AQKIEBAUEz9AxvoZQB1wAwkltt4iBu8tCAAgFPAeaAICiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgAGAQCiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgAWDBiiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgAaDByiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgIEBASAQNkGQAVAAQEEz9AxvoZQB1wAwkltt4iBu8tCAWaBYoFigWKBYoAGgAgEgAWQBUgIBIAFdAVMCASABVwFUAvenN7Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8BVQHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAVYALoEBASBWKFAzQTP0DG+hlAHXADCSW23iAgOX0AFbAVgC9d7Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AGfAVkBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQFaAC6DB1YhAoEBAUEz9A5voZQB1wAwkltt4gIju7Z5tniuIL4eriC+Hq4gvh5jAZ8BXAACLQIBIAFhAV4C96aTtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnwFfAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBYAAugBBWJQKBAQFBM/QOb6GUAdcAMJJbbeIC96Z1tngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnwFiAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBYwAugCBWKwKBAQFBM/QMb6GUAdcAMJJbbeICJ69i7Z5tniuIL4eriC+Hq4gvh5jAAZ8BZQAEVi4CASABdgFnAgFYAW8BaAIBIAFsAWkC86cuQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJFAZ8BagL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAWsBeQAsgQELKwKAQEEz9ApvoZQB1wAwkltt4gLzp8hBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnwFtAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxABbgF5ACyBAQsjAoMGQTP0Cm+hlAHXATCSW23iAgEgAXMBcALzpopBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnwFxAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxABcgF5ACqBAQsnAnhBM/QKb6GUAdcBMJJbbeIC96VJtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnwF0AcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBdQAegQEBVjACWfQNb6GSMG3fAgEgAXsBdwL1raoQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJFAAZ8BeAL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAXoBeQAGXw8xACyBAQtWEgJxQTP0Cm+hlAHXADCSW23iAievQ+2ebZ4riC+Hq4gvh6uIL4eYwAGfAXwABFYwAvDQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zwRMBEyETARLxExES8RLhEwES4RLREvES0RLBEuESwRKxEtESsRKhEsESoRKRErESkRKBEqESgRJxEpEScRJhEoESYBnwF+AfwRJREnESURJBEmESQRIxElESMRIhEkESIRIREjESERIBEiESARHxEhER8RHhEgER4RHREfER0RHBEeERwRGxEdERsRGhEcERoRGREbERkRGBEaERgRFxEZERcRFhEYERYRFREXERURFBEWERQRExEVERMREhEUERIRERETEREBfwLWERAREhEQDxERDw4REA4Q31Uc2zzy4ILI+EMBzH8BygARMREwES8RLhEtESwRKxEqESkRKBEnESYRJREkESMRIhEhESARHxEeER0RHBEbERoRGREYERcRFhEVERQRExESEREREFXg2zzJ7VQBgwGAAfYBETABETH0AAERLgH0ABEsyPQAARErAfQAAREpAfQAESfI9AABESYB9AABESQB9AARIsj0AAERIQH0AAERHwH0ABEdyPQAAREcAfQAAREaAfQAERjI9AABERcB9AABERUB9AARE8j0AAEREgH0AAEREAH0AA7I9AAd9AABgQH+G/QACcj0ABj0ABb0AATI9AAT9AD0AAHI9AAT9AAT9AAEyPQAFfQAFvQABsj0ABj0ABj0AAnI9AAa9AAb9AALyPQAHfQAHfQADsj0AB/0AAEREAH0ABEQyPQAARERAfQAyVAPzMlQCszJUATMyVAIzMlQBczJUAvMyVAKzMkBzAGCADrJUAbMyVAFzMlYzMlQBMzJUAPMyVADzMlYzMkBzAL27aLt+wGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+AgghBaBKMYuo5CMNMfAYIQWgSjGLry4IGBAQHXANIAAZWBAQHXAJJtAeJZbBKBAQEgBBE0BEMwIW6VW1n0WjCYyAHPAEEz9ELiETB/4CCCEGElzva64wIgAZ4BhATQghDXaJJJuo44MNMfAYIQ12iSSbry4IGBAQHXANIAAZHUkm0B4llsEgIRMAKBAQFZIG6VMFn0WjCUQTP0FeIRLn/gIIIQFtRTxbrjAiCCEKd5VT+64wIgghBLBgnKuuMCIIIQ1GIxB7oBnQGcAZkBhQTYjqYw0x8BghDUYjEHuvLggYEBAdcA0gABlYEBAdcAkm0B4llsEts8f+AgghBx4azuuo6mMNMfAYIQceGs7rry4IGBAQHXANIAAZWBAQHXAJJtAeJZbBLbPH/gIIIQaT46h7rjAiCCEGhOXk26AZcBlQGSAYYE/o5eMNMfAYIQaE5eTbry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAAZWBAQHXAJJtAeJZbBICERMCgQELWYEBASFulVtZ9FkwmMgBzwBBM/RB4hERf+AgghAlM+OQuuMCIIIQ/uQnBrrjAiCCEGRcaXm64wIBkQGQAY8BhwTEIIIQZ8tNA7rjAiCCEGff/wK6jsEw0x8BghBn3/8CuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABlYEBAdcAkm0B4llsEts8f+AgghB6bpWPuuMCwAABjgGMAYkBiADIjl75AYLwSu26m23+fLjg+V0SMMsKxwtLu+aj6ZGudnzTY1c9rxu6jjY9PT09PVcnVydXJ1cnVydtbW1tbW0RLG0RLG0RLG0RLG0RLAkREQkIERAIEH8QbhBdVUR/2zHgkTDicAGCMNMfAYIQem6Vj7ry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAAZWBAQHXAJJtAeJZbBLbPH8BigHeB4EBC1MoeCFulVtZ9FkwmMgBzwFBM/RB4gaBAQtTKIAQIW6VW1n0WTCYyAHPAUEz9EHiBYEBC1MogCAhbpVbWfRZMJjIAc8BQTP0QeIEgQELUyiAQCFulVtZ9FkwmMgBzwFBM/RB4gOBAQtTKIMGAYsAYiFulVtZ9FkwmMgBzwFBM/RB4oEBC0AIgwchbpVbWfRZMJjIAc8BQTP0QeIQRRA0QTAB3g6BAQtTL3ghbpVbWfRZMJjIAc8AQTP0QeINgQELUy+AECFulVtZ9FkwmMgBzwBBM/RB4gyBAQtTL4AgIW6VW1n0WTCYyAHPAEEz9EHiC4EBC1MvgEAhbpVbWfRZMJjIAc8AQTP0QeIKgQELUy+DBgGNAKYhbpVbWfRZMJjIAc8AQTP0QeIJgQELUy+DByFulVtZ9FkwmMgBzwBBM/RB4hAogQELQA+BAQEhbpVbWfRZMJjIAc8AQTP0QeIQvBCrEJoQiRB4BgDsMNMfAYIQZ8tNA7ry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAIdcLAcMAjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiJIxbeISbBIQL4EBC1kgbpUwWfRZMJjIAc8WQTP0QeINfwDiMNMfAYIQZFxpebry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAAZiBAQHXAAFvAZFt4hJsEoEBCwEgbpIwbY4QIG7y0IBvIcgBAYEBAc8AyeIDEREDEiBulTBZ9FkwlEEz9BPiDn8ApDDTHwGCEP7kJwa68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGR1JJtAeJZbBICERECgQELWSBulTBZ9FkwlEEz9BPiD38AsjDTHwGCECUz45C68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGS0gCSbQHiWWwSAhESAoEBC1lxIW6VW1n0WTCYyAHPAEEz9EHiERB/AUww0x8BghBpPjqHuvLggYEBAdcA0gABlYEBAdcAkm0B4llsEts8fwGTAfIRGYEBASJWG3ghbpVbWfRaMJjIAc8BQTP0QuIRGIEBASJWG4AQIW6VW1n0WjCYyAHPAUEz9ELiEReBAQEiVhuAICFulVtZ9FowmMgBzwFBM/RC4hEWgQEBIlYbgEAhbpVbWfRaMJjIAc8BQTP0QuIRFYEBASJWG4MGAZQAlCFulVtZ9FowmMgBzwFBM/RC4gIRFAKBAQFZERqDByFulVtZ9FowmMgBzwFBM/RC4hEWERcRFhEVERYRFREUERURFBETERQRExESAfIRIIEBASJWInghbpVbWfRaMJjIAc8AQTP0QuIRH4EBASJWIoAQIW6VW1n0WjCYyAHPAEEz9ELiER6BAQEiViKAICFulVtZ9FowmMgBzwBBM/RC4hEdgQEBIlYigEAhbpVbWfRaMJjIAc8AQTP0QuIRHIEBASJWIoMGAZYA3CFulVtZ9FowmMgBzwBBM/RC4hEbgQEBIlYigwchbpVbWfRaMJjIAc8AQTP0QuKBAQEgBBEcBEMwAREiASFulVtZ9FowmMgBzwBBM/RC4hEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYAfIRJngiViiBAQEhbpVbWfRbMJjIAc8AQTP0Q+IRJYAQIlYogQEBIW6VW1n0WzCYyAHPAEEz9EPiESSAICJWKIEBASFulVtZ9FswmMgBzwBBM/RD4hEjgEAiViiBAQEhbpVbWfRbMJjIAc8AQTP0Q+IRIoMGIlYogQEBAZgAlCFulVtZ9FswmMgBzwBBM/RD4gIRIQKDB1kRJ4EBASFulVtZ9FswmMgBzwBBM/RD4hEjESQRIxEiESMRIhEhESIRIREgESERIBEfAUww0x8BghBLBgnKuvLggYEBAdcA0gABlYEBAdcAkm0B4llsEts8fwGaAfIRLXgiVi+BAQEhbpVbWfRaMJjIAc8AQTP0QuIRLIAQIlYvgQEBIW6VW1n0WjCYyAHPAEEz9ELiESuAICJWL4EBASFulVtZ9FowmMgBzwBBM/RC4hEqgEAiVi+BAQEhbpVbWfRaMJjIAc8AQTP0QuIRKYMGIlYvgQEBAZsA3CFulVtZ9FowmMgBzwBBM/RC4hEogwciVi+BAQEhbpVbWfRaMJjIAc8AQTP0QuKBAQEgBBEpBEMwAREvASFulVtZ9FowmMgBzwBBM/RC4hEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElALQw0x8BghCneVU/uvLggYEBAdcA+kAh1wsBwwCOHQEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIkjFt4hJsEgIRLgKBAQFZIG6VMFn0WjCUQTP0FOIRLH8ArjDTHwGCEBbUU8W68uCBgQEB1wDSAAGYgQEB1wABbwGRbeISbBKBAQEBIG6SMG2OECBu8tCAbyHIAQGBAQHPAMniAxEwAxIgbpUwWfRaMJRBM/QV4hEtfwB8MNMfAYIQYSXO9rry4IGBAQHXANIAAZLSAJJtAeJZbBICETECgQEBWXEhbpVbWfRaMJjIAc8AQTP0QuIRL38CNO1E0NQB+GPSAAHjAjD4KNcLCoMJuvLgids8AaEBoABibW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbQL42zxXMREvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHAGjAaIAnBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDgH29AT0BNQB0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQwAaQASND0BPQE9ATUMND0BPQE9ATUMND0BPQEMBEvETERLxEvETARL6j9CC4="}},"sources":{"src\\test\\features\\maps.tact":"bWVzc2FnZSBTZXRJbnRNYXAxIHsNCiAgICBrZXk6IEludDsNCiAgICB2YWx1ZTogSW50PzsNCn0NCg0KbWVzc2FnZSBTZXRJbnRNYXAyIHsNCiAgICBrZXk6IEludDsNCiAgICB2YWx1ZTogQm9vbD87DQp9DQoNCm1lc3NhZ2UgU2V0SW50TWFwMyB7DQogICAga2V5OiBJbnQ7DQogICAgdmFsdWU6IENlbGw/Ow0KfQ0KDQptZXNzYWdlIFNldEludE1hcDQgew0KICAgIGtleTogSW50Ow0KICAgIHZhbHVlOiBTb21lU3RydWN0PzsNCn0NCg0KbWVzc2FnZSBTZXRJbnRNYXA1IHsNCiAgICBrZXk6IEludDsNCiAgICB2YWx1ZTogQWRkcmVzcz87DQp9DQoNCm1lc3NhZ2UgU2V0SW50TWFwNiB7DQogICAga2V5OiBJbnQ7DQogICAgdmFsdWU6IEludD87DQp9DQoNCm1lc3NhZ2UgU2V0VUludE1hcDcgew0KICAgIGtleTogSW50Ow0KICAgIHZhbHVlOiBJbnQ/Ow0KfQ0KDQptZXNzYWdlIFNldEludE1hcDggew0KICAgIGtleTogSW50Ow0KICAgIHZhbHVlOiBJbnQ/Ow0KfQ0KDQptZXNzYWdlIFNldFVJbnRNYXA5IHsNCiAgICBrZXk6IEludDsNCiAgICB2YWx1ZTogSW50PzsNCn0NCg0KbWVzc2FnZSBTZXRBZGRyTWFwMSB7DQogICAga2V5OiBBZGRyZXNzOw0KICAgIHZhbHVlOiBJbnQ/Ow0KfQ0KDQptZXNzYWdlIFNldEFkZHJNYXAyIHsNCiAgICBrZXk6IEFkZHJlc3M7DQogICAgdmFsdWU6IEJvb2w/Ow0KfQ0KDQptZXNzYWdlIFNldEFkZHJNYXAzIHsNCiAgICBrZXk6IEFkZHJlc3M7DQogICAgdmFsdWU6IENlbGw/Ow0KfQ0KDQptZXNzYWdlIFNldEFkZHJNYXA0IHsNCiAgICBrZXk6IEFkZHJlc3M7DQogICAgdmFsdWU6IFNvbWVTdHJ1Y3Q/Ow0KfQ0KDQptZXNzYWdlIFNldEFkZHJNYXA1IHsNCiAgICBrZXk6IEFkZHJlc3M7DQogICAgdmFsdWU6IEFkZHJlc3M/Ow0KfQ0KDQptZXNzYWdlIFNldEFkZHJNYXA2IHsNCiAgICBrZXk6IEFkZHJlc3M7DQogICAgdmFsdWU6IEludD87DQp9DQoNCm1lc3NhZ2UgU2V0QWRkck1hcDcgew0KICAgIGtleTogQWRkcmVzczsNCiAgICB2YWx1ZTogSW50PzsNCn0NCg0Kc3RydWN0IFNvbWVTdHJ1Y3Qgew0KICAgIHZhbHVlOiBJbnQ7DQp9DQoNCmNvbnRyYWN0IE1hcFRlc3RDb250cmFjdCB7DQoNCiAgICBpbml0KCkgew0KICAgICAgICAvLyBOb3RoaW5nIHRvIGRvDQogICAgfQ0KDQogICAgcmVjZWl2ZSgpIHsNCiAgICAgICAgLy8gTm90aGluZyB0byBkbw0KICAgIH0NCg0KICAgIC8vDQogICAgLy8gSW50IE1hcHMNCiAgICAvLw0KDQogICAgaW50TWFwMTogbWFwPEludCwgSW50PjsNCiAgICBpbnRNYXAyOiBtYXA8SW50LCBCb29sPjsNCiAgICBpbnRNYXAzOiBtYXA8SW50LCBDZWxsPjsNCiAgICBpbnRNYXA0OiBtYXA8SW50LCBTb21lU3RydWN0PjsNCiAgICBpbnRNYXA1OiBtYXA8SW50LCBBZGRyZXNzPjsNCiAgICBpbnRNYXA2XzE6IG1hcDxJbnQgYXMgaW50OCwgSW50PjsNCiAgICBpbnRNYXA2XzI6IG1hcDxJbnQgYXMgaW50MTYsIEludD47DQogICAgaW50TWFwNl8zOiBtYXA8SW50IGFzIGludDMyLCBJbnQ+Ow0KICAgIGludE1hcDZfNDogbWFwPEludCBhcyBpbnQ2NCwgSW50PjsNCiAgICBpbnRNYXA2XzU6IG1hcDxJbnQgYXMgaW50MTI4LCBJbnQ+Ow0KICAgIGludE1hcDZfNjogbWFwPEludCBhcyBpbnQyNTYsIEludD47DQogICAgaW50TWFwNl83OiBtYXA8SW50IGFzIGludDI1NywgSW50PjsNCg0KICAgIGludE1hcDdfMTogbWFwPEludCBhcyB1aW50OCwgSW50PjsNCiAgICBpbnRNYXA3XzI6IG1hcDxJbnQgYXMgdWludDE2LCBJbnQ+Ow0KICAgIGludE1hcDdfMzogbWFwPEludCBhcyB1aW50MzIsIEludD47DQogICAgaW50TWFwN180OiBtYXA8SW50IGFzIHVpbnQ2NCwgSW50PjsNCiAgICBpbnRNYXA3XzU6IG1hcDxJbnQgYXMgdWludDEyOCwgSW50PjsNCiAgICBpbnRNYXA3XzY6IG1hcDxJbnQgYXMgdWludDI1NiwgSW50PjsNCg0KICAgIGludE1hcDhfMTogbWFwPEludCwgSW50IGFzIGludDg+Ow0KICAgIGludE1hcDhfMjogbWFwPEludCwgSW50IGFzIGludDE2PjsNCiAgICBpbnRNYXA4XzM6IG1hcDxJbnQsIEludCBhcyBpbnQzMj47DQogICAgaW50TWFwOF80OiBtYXA8SW50LCBJbnQgYXMgaW50NjQ+Ow0KICAgIGludE1hcDhfNTogbWFwPEludCwgSW50IGFzIGludDEyOD47DQogICAgaW50TWFwOF82OiBtYXA8SW50LCBJbnQgYXMgaW50MjU2PjsNCiAgICBpbnRNYXA4Xzc6IG1hcDxJbnQsIEludCBhcyBpbnQyNTc+Ow0KDQogICAgaW50TWFwOV8xOiBtYXA8SW50LCBJbnQgYXMgdWludDg+Ow0KICAgIGludE1hcDlfMjogbWFwPEludCwgSW50IGFzIHVpbnQxNj47DQogICAgaW50TWFwOV8zOiBtYXA8SW50LCBJbnQgYXMgdWludDMyPjsNCiAgICBpbnRNYXA5XzQ6IG1hcDxJbnQsIEludCBhcyB1aW50NjQ+Ow0KICAgIGludE1hcDlfNTogbWFwPEludCwgSW50IGFzIHVpbnQxMjg+Ow0KICAgIGludE1hcDlfNjogbWFwPEludCwgSW50IGFzIHVpbnQyNTY+Ow0KDQogICAgcmVjZWl2ZShtc2c6IFNldEludE1hcDEpIHsNCiAgICAgICAgc2VsZi5pbnRNYXAxLnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBTZXRJbnRNYXAyKSB7DQogICAgICAgIHNlbGYuaW50TWFwMi5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2V0SW50TWFwMykgew0KICAgICAgICBzZWxmLmludE1hcDMuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgfQ0KDQogICAgcmVjZWl2ZShtc2c6IFNldEludE1hcDQpIHsNCiAgICAgICAgc2VsZi5pbnRNYXA0LnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBTZXRJbnRNYXA1KSB7DQogICAgICAgIHNlbGYuaW50TWFwNS5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2V0SW50TWFwNikgew0KICAgICAgICBzZWxmLmludE1hcDZfMS5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICAgICAgc2VsZi5pbnRNYXA2XzIuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuaW50TWFwNl8zLnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgICAgICBzZWxmLmludE1hcDZfNC5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICAgICAgc2VsZi5pbnRNYXA2XzUuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuaW50TWFwNl82LnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgICAgICBzZWxmLmludE1hcDZfNy5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2V0VUludE1hcDcpIHsNCiAgICAgICAgc2VsZi5pbnRNYXA3XzEuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuaW50TWFwN18yLnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgICAgICBzZWxmLmludE1hcDdfMy5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICAgICAgc2VsZi5pbnRNYXA3XzQuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuaW50TWFwN181LnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgICAgICBzZWxmLmludE1hcDdfNi5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2V0SW50TWFwOCkgew0KICAgICAgICBzZWxmLmludE1hcDhfMS5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICAgICAgc2VsZi5pbnRNYXA4XzIuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuaW50TWFwOF8zLnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgICAgICBzZWxmLmludE1hcDhfNC5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICAgICAgc2VsZi5pbnRNYXA4XzUuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuaW50TWFwOF82LnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgICAgICBzZWxmLmludE1hcDhfNy5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2V0VUludE1hcDkpIHsNCiAgICAgICAgc2VsZi5pbnRNYXA5XzEuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuaW50TWFwOV8yLnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgICAgICBzZWxmLmludE1hcDlfMy5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICAgICAgc2VsZi5pbnRNYXA5XzQuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuaW50TWFwOV81LnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgICAgICBzZWxmLmludE1hcDlfNi5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDEoKTogbWFwPEludCwgSW50PiB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDE7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXAxVmFsdWUoa2V5OiBJbnQpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwMS5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDIoKTogbWFwPEludCwgQm9vbD4gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXAyOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwMlZhbHVlKGtleTogSW50KTogQm9vbD8gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXAyLmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwMygpOiBtYXA8SW50LCBDZWxsPiB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDM7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXAzVmFsdWUoa2V5OiBJbnQpOiBDZWxsPyB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDMuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA0KCk6IG1hcDxJbnQsIFNvbWVTdHJ1Y3Q+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwNDsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDRWYWx1ZShrZXk6IEludCk6IFNvbWVTdHJ1Y3Q/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwNC5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDUoKTogbWFwPEludCwgQWRkcmVzcz4gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA1Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwNVZhbHVlKGtleTogSW50KTogQWRkcmVzcz8gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA1LmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwNl8xKCk6IG1hcDxJbnQgYXMgaW50OCwgSW50PiB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDZfMTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDZfMVZhbHVlKGtleTogSW50KTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDZfMS5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDZfMigpOiBtYXA8SW50IGFzIGludDE2LCBJbnQ+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwNl8yOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwNl8yVmFsdWUoa2V5OiBJbnQpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwNl8yLmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwNl8zKCk6IG1hcDxJbnQgYXMgaW50MzIsIEludD4gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA2XzM7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA2XzNWYWx1ZShrZXk6IEludCk6IEludD8gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA2XzMuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA2XzQoKTogbWFwPEludCBhcyBpbnQ2NCwgSW50PiB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDZfNDsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDZfNFZhbHVlKGtleTogSW50KTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDZfNC5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDZfNSgpOiBtYXA8SW50IGFzIGludDEyOCwgSW50PiB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDZfNTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDZfNVZhbHVlKGtleTogSW50KTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDZfNS5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDZfNigpOiBtYXA8SW50IGFzIGludDI1NiwgSW50PiB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDZfNjsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDZfNlZhbHVlKGtleTogSW50KTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDZfNi5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDZfNygpOiBtYXA8SW50IGFzIGludDI1NywgSW50PiB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDZfNzsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDZfN1ZhbHVlKGtleTogSW50KTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDZfNy5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDdfMSgpOiBtYXA8SW50IGFzIHVpbnQ4LCBJbnQ+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwN18xOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwN18xVmFsdWUoa2V5OiBJbnQpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwN18xLmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwN18yKCk6IG1hcDxJbnQgYXMgdWludDE2LCBJbnQ+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwN18yOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwN18yVmFsdWUoa2V5OiBJbnQpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwN18yLmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwN18zKCk6IG1hcDxJbnQgYXMgdWludDMyLCBJbnQ+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwN18zOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwN18zVmFsdWUoa2V5OiBJbnQpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwN18zLmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwN180KCk6IG1hcDxJbnQgYXMgdWludDY0LCBJbnQ+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwN180Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwN180VmFsdWUoa2V5OiBJbnQpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwN180LmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwN181KCk6IG1hcDxJbnQgYXMgdWludDEyOCwgSW50PiB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDdfNTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDdfNVZhbHVlKGtleTogSW50KTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDdfNS5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDdfNigpOiBtYXA8SW50IGFzIHVpbnQyNTYsIEludD4gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA3XzY7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA3XzZWYWx1ZShrZXk6IEludCk6IEludD8gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA3XzYuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA4XzEoKTogbWFwPEludCwgSW50IGFzIGludDg+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwOF8xOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwOF8xVmFsdWUoa2V5OiBJbnQpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwOF8xLmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwOF8yKCk6IG1hcDxJbnQsIEludCBhcyBpbnQxNj4gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA4XzI7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA4XzJWYWx1ZShrZXk6IEludCk6IEludD8gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA4XzIuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA4XzMoKTogbWFwPEludCwgSW50IGFzIGludDMyPiB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDhfMzsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDhfM1ZhbHVlKGtleTogSW50KTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDhfMy5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDhfNCgpOiBtYXA8SW50LCBJbnQgYXMgaW50NjQ+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwOF80Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwOF80VmFsdWUoa2V5OiBJbnQpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwOF80LmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwOF81KCk6IG1hcDxJbnQsIEludCBhcyBpbnQxMjg+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwOF81Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwOF81VmFsdWUoa2V5OiBJbnQpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwOF81LmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwOF82KCk6IG1hcDxJbnQsIEludCBhcyBpbnQyNTY+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwOF82Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwOF82VmFsdWUoa2V5OiBJbnQpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwOF82LmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwOF83KCk6IG1hcDxJbnQsIEludCBhcyBpbnQyNTc+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwOF83Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwOF83VmFsdWUoa2V5OiBJbnQpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwOF83LmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwOV8xKCk6IG1hcDxJbnQsIEludCBhcyB1aW50OD4gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA5XzE7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA5XzFWYWx1ZShrZXk6IEludCk6IEludD8gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA5XzEuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA5XzIoKTogbWFwPEludCwgSW50IGFzIHVpbnQxNj4gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA5XzI7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA5XzJWYWx1ZShrZXk6IEludCk6IEludD8gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA5XzIuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA5XzMoKTogbWFwPEludCwgSW50IGFzIHVpbnQzMj4gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA5XzM7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA5XzNWYWx1ZShrZXk6IEludCk6IEludD8gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA5XzMuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA5XzQoKTogbWFwPEludCwgSW50IGFzIHVpbnQ2ND4gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA5XzQ7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA5XzRWYWx1ZShrZXk6IEludCk6IEludD8gew0KICAgICAgICByZXR1cm4gc2VsZi5pbnRNYXA5XzQuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpbnRNYXA5XzUoKTogbWFwPEludCwgSW50IGFzIHVpbnQxMjg+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwOV81Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwOV81VmFsdWUoa2V5OiBJbnQpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaW50TWFwOV81LmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwOV82KCk6IG1hcDxJbnQsIEludCBhcyB1aW50MjU2PiB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDlfNjsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGludE1hcDlfNlZhbHVlKGtleTogSW50KTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmludE1hcDlfNi5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICAvLw0KICAgIC8vIEludCBhcyBLZXkgaW5zaWRlIHRoZSBjb2RlIChub3Qgc3RvcmFnZSkNCiAgICAvLw0KDQogICAgZ2V0IGZ1biBpbnRNYXAxMFZhbHVlKGtleTogSW50LCB2YWx1ZTogSW50KTogSW50IHsNCiAgICAgICAgbGV0IG1hcDE6IG1hcDxJbnQgYXMgaW50OCwgSW50PiA9IGVtcHR5TWFwKCk7DQogICAgICAgIGxldCBtYXAyOiBtYXA8SW50IGFzIGludDE2LCBJbnQ+ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgbGV0IG1hcDM6IG1hcDxJbnQgYXMgaW50MzIsIEludD4gPSBlbXB0eU1hcCgpOw0KICAgICAgICBsZXQgbWFwNDogbWFwPEludCBhcyBpbnQ2NCwgSW50PiA9IGVtcHR5TWFwKCk7DQogICAgICAgIGxldCBtYXA1OiBtYXA8SW50IGFzIGludDEyOCwgSW50PiA9IGVtcHR5TWFwKCk7DQogICAgICAgIGxldCBtYXA2OiBtYXA8SW50IGFzIGludDI1NiwgSW50PiA9IGVtcHR5TWFwKCk7DQogICAgICAgIGxldCBtYXA3OiBtYXA8SW50IGFzIGludDI1NywgSW50PiA9IGVtcHR5TWFwKCk7DQoNCiAgICAgICAgbWFwMS5zZXQoa2V5LCB2YWx1ZSk7DQogICAgICAgIG1hcDIuc2V0KGtleSwgdmFsdWUpOw0KICAgICAgICBtYXAzLnNldChrZXksIHZhbHVlKTsNCiAgICAgICAgbWFwNC5zZXQoa2V5LCB2YWx1ZSk7DQogICAgICAgIG1hcDUuc2V0KGtleSwgdmFsdWUpOw0KICAgICAgICBtYXA2LnNldChrZXksIHZhbHVlKTsNCiAgICAgICAgbWFwNy5zZXQoa2V5LCB2YWx1ZSk7DQoNCiAgICAgICAgbGV0IHZhbHVlMTogSW50ID0gbWFwMS5nZXQoa2V5KSEhOw0KICAgICAgICBsZXQgdmFsdWUyOiBJbnQgPSBtYXAyLmdldChrZXkpISE7DQogICAgICAgIGxldCB2YWx1ZTM6IEludCA9IG1hcDMuZ2V0KGtleSkhITsNCiAgICAgICAgbGV0IHZhbHVlNDogSW50ID0gbWFwNC5nZXQoa2V5KSEhOw0KICAgICAgICBsZXQgdmFsdWU1OiBJbnQgPSBtYXA1LmdldChrZXkpISE7DQogICAgICAgIGxldCB2YWx1ZTY6IEludCA9IG1hcDYuZ2V0KGtleSkhITsNCiAgICAgICAgbGV0IHZhbHVlNzogSW50ID0gbWFwNy5nZXQoa2V5KSEhOw0KDQogICAgICAgIHJldHVybiB2YWx1ZTEgKyB2YWx1ZTIgKyB2YWx1ZTMgKyB2YWx1ZTQgKyB2YWx1ZTUgKyB2YWx1ZTYgKyB2YWx1ZTc7DQogICAgfQ0KICAgIA0KICAgIGdldCBmdW4gaW50TWFwMTFWYWx1ZShrZXk6IEludCwgdmFsdWU6IEludCk6IEludCB7DQogICAgICAgIGxldCBtYXAxOiBtYXA8SW50IGFzIHVpbnQ4LCBJbnQ+ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgbGV0IG1hcDI6IG1hcDxJbnQgYXMgdWludDE2LCBJbnQ+ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgbGV0IG1hcDM6IG1hcDxJbnQgYXMgdWludDMyLCBJbnQ+ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgbGV0IG1hcDQ6IG1hcDxJbnQgYXMgdWludDY0LCBJbnQ+ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgbGV0IG1hcDU6IG1hcDxJbnQgYXMgdWludDEyOCwgSW50PiA9IGVtcHR5TWFwKCk7DQogICAgICAgIGxldCBtYXA2OiBtYXA8SW50IGFzIHVpbnQyNTYsIEludD4gPSBlbXB0eU1hcCgpOw0KDQogICAgICAgIG1hcDEuc2V0KGtleSwgdmFsdWUpOw0KICAgICAgICBtYXAyLnNldChrZXksIHZhbHVlKTsNCiAgICAgICAgbWFwMy5zZXQoa2V5LCB2YWx1ZSk7DQogICAgICAgIG1hcDQuc2V0KGtleSwgdmFsdWUpOw0KICAgICAgICBtYXA1LnNldChrZXksIHZhbHVlKTsNCiAgICAgICAgbWFwNi5zZXQoa2V5LCB2YWx1ZSk7DQoNCiAgICAgICAgbGV0IHZhbHVlMTogSW50ID0gbWFwMS5nZXQoa2V5KSEhOw0KICAgICAgICBsZXQgdmFsdWUyOiBJbnQgPSBtYXAyLmdldChrZXkpISE7DQogICAgICAgIGxldCB2YWx1ZTM6IEludCA9IG1hcDMuZ2V0KGtleSkhITsNCiAgICAgICAgbGV0IHZhbHVlNDogSW50ID0gbWFwNC5nZXQoa2V5KSEhOw0KICAgICAgICBsZXQgdmFsdWU1OiBJbnQgPSBtYXA1LmdldChrZXkpISE7DQogICAgICAgIGxldCB2YWx1ZTY6IEludCA9IG1hcDYuZ2V0KGtleSkhITsNCg0KICAgICAgICByZXR1cm4gdmFsdWUxICsgdmFsdWUyICsgdmFsdWUzICsgdmFsdWU0ICsgdmFsdWU1ICsgdmFsdWU2Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwMTJWYWx1ZShrZXk6IEludCwgdmFsdWU6IEludCk6IEludCB7DQogICAgICAgIGxldCBtYXAxOiBtYXA8SW50LCBJbnQgYXMgaW50OD4gPSBlbXB0eU1hcCgpOw0KICAgICAgICBsZXQgbWFwMjogbWFwPEludCwgSW50IGFzIGludDE2PiA9IGVtcHR5TWFwKCk7DQogICAgICAgIGxldCBtYXAzOiBtYXA8SW50LCBJbnQgYXMgaW50MzI+ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgbGV0IG1hcDQ6IG1hcDxJbnQsIEludCBhcyBpbnQ2ND4gPSBlbXB0eU1hcCgpOw0KICAgICAgICBsZXQgbWFwNTogbWFwPEludCwgSW50IGFzIGludDEyOD4gPSBlbXB0eU1hcCgpOw0KICAgICAgICBsZXQgbWFwNjogbWFwPEludCwgSW50IGFzIGludDI1Nj4gPSBlbXB0eU1hcCgpOw0KICAgICAgICBsZXQgbWFwNzogbWFwPEludCwgSW50IGFzIGludDI1Nz4gPSBlbXB0eU1hcCgpOw0KDQogICAgICAgIG1hcDEuc2V0KGtleSwgdmFsdWUpOw0KICAgICAgICBtYXAyLnNldChrZXksIHZhbHVlKTsNCiAgICAgICAgbWFwMy5zZXQoa2V5LCB2YWx1ZSk7DQogICAgICAgIG1hcDQuc2V0KGtleSwgdmFsdWUpOw0KICAgICAgICBtYXA1LnNldChrZXksIHZhbHVlKTsNCiAgICAgICAgbWFwNi5zZXQoa2V5LCB2YWx1ZSk7DQogICAgICAgIG1hcDcuc2V0KGtleSwgdmFsdWUpOw0KDQogICAgICAgIGxldCB2YWx1ZTE6IEludCA9IG1hcDEuZ2V0KGtleSkhITsNCiAgICAgICAgbGV0IHZhbHVlMjogSW50ID0gbWFwMi5nZXQoa2V5KSEhOw0KICAgICAgICBsZXQgdmFsdWUzOiBJbnQgPSBtYXAzLmdldChrZXkpISE7DQogICAgICAgIGxldCB2YWx1ZTQ6IEludCA9IG1hcDQuZ2V0KGtleSkhITsNCiAgICAgICAgbGV0IHZhbHVlNTogSW50ID0gbWFwNS5nZXQoa2V5KSEhOw0KICAgICAgICBsZXQgdmFsdWU2OiBJbnQgPSBtYXA2LmdldChrZXkpISE7DQogICAgICAgIGxldCB2YWx1ZTc6IEludCA9IG1hcDcuZ2V0KGtleSkhITsNCg0KICAgICAgICByZXR1cm4gdmFsdWUxICsgdmFsdWUyICsgdmFsdWUzICsgdmFsdWU0ICsgdmFsdWU1ICsgdmFsdWU2ICsgdmFsdWU3Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gaW50TWFwMTNWYWx1ZShrZXk6IEludCwgdmFsdWU6IEludCk6IEludCB7DQogICAgICAgIGxldCBtYXAxOiBtYXA8SW50LCBJbnQgYXMgdWludDg+ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgbGV0IG1hcDI6IG1hcDxJbnQsIEludCBhcyB1aW50MTY+ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgbGV0IG1hcDM6IG1hcDxJbnQsIEludCBhcyB1aW50MzI+ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgbGV0IG1hcDQ6IG1hcDxJbnQsIEludCBhcyB1aW50NjQ+ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgbGV0IG1hcDU6IG1hcDxJbnQsIEludCBhcyB1aW50MTI4PiA9IGVtcHR5TWFwKCk7DQogICAgICAgIGxldCBtYXA2OiBtYXA8SW50LCBJbnQgYXMgdWludDI1Nj4gPSBlbXB0eU1hcCgpOw0KICAgICAgICBsZXQgbWFwNzogbWFwPEludCwgSW50IGFzIGNvaW5zPiA9IGVtcHR5TWFwKCk7DQoNCiAgICAgICAgbWFwMS5zZXQoa2V5LCB2YWx1ZSk7DQogICAgICAgIG1hcDIuc2V0KGtleSwgdmFsdWUpOw0KICAgICAgICBtYXAzLnNldChrZXksIHZhbHVlKTsNCiAgICAgICAgbWFwNC5zZXQoa2V5LCB2YWx1ZSk7DQogICAgICAgIG1hcDUuc2V0KGtleSwgdmFsdWUpOw0KICAgICAgICBtYXA2LnNldChrZXksIHZhbHVlKTsNCiAgICAgICAgbWFwNy5zZXQoa2V5LCB2YWx1ZSk7DQoNCiAgICAgICAgbGV0IHZhbHVlMTogSW50ID0gbWFwMS5nZXQoa2V5KSEhOw0KICAgICAgICBsZXQgdmFsdWUyOiBJbnQgPSBtYXAyLmdldChrZXkpISE7DQogICAgICAgIGxldCB2YWx1ZTM6IEludCA9IG1hcDMuZ2V0KGtleSkhITsNCiAgICAgICAgbGV0IHZhbHVlNDogSW50ID0gbWFwNC5nZXQoa2V5KSEhOw0KICAgICAgICBsZXQgdmFsdWU1OiBJbnQgPSBtYXA1LmdldChrZXkpISE7DQogICAgICAgIGxldCB2YWx1ZTY6IEludCA9IG1hcDYuZ2V0KGtleSkhITsNCiAgICAgICAgbGV0IHZhbHVlNzogSW50ID0gbWFwNy5nZXQoa2V5KSEhOw0KICAgICAgICANCiAgICAgICAgcmV0dXJuIHZhbHVlMSArIHZhbHVlMiArIHZhbHVlMyArIHZhbHVlNCArIHZhbHVlNSArIHZhbHVlNiArIHZhbHVlNzsNCiAgICB9DQoNCiAgICAvLw0KICAgIC8vIEFkZHJlc3MgS2V5cw0KICAgIC8vDQoNCiAgICBhZGRyTWFwMTogbWFwPEFkZHJlc3MsIEludD47DQogICAgYWRkck1hcDI6IG1hcDxBZGRyZXNzLCBCb29sPjsNCiAgICBhZGRyTWFwMzogbWFwPEFkZHJlc3MsIENlbGw+Ow0KICAgIGFkZHJNYXA0OiBtYXA8QWRkcmVzcywgU29tZVN0cnVjdD47DQogICAgYWRkck1hcDU6IG1hcDxBZGRyZXNzLCBBZGRyZXNzPjsNCg0KICAgIGFkZHJNYXA2XzE6IG1hcDxBZGRyZXNzLCBJbnQgYXMgaW50OD47DQogICAgYWRkck1hcDZfMjogbWFwPEFkZHJlc3MsIEludCBhcyBpbnQxNj47DQogICAgYWRkck1hcDZfMzogbWFwPEFkZHJlc3MsIEludCBhcyBpbnQzMj47DQogICAgYWRkck1hcDZfNDogbWFwPEFkZHJlc3MsIEludCBhcyBpbnQ2ND47DQogICAgYWRkck1hcDZfNTogbWFwPEFkZHJlc3MsIEludCBhcyBpbnQxMjg+Ow0KICAgIGFkZHJNYXA2XzY6IG1hcDxBZGRyZXNzLCBJbnQgYXMgaW50MjU2PjsNCiAgICBhZGRyTWFwNl83OiBtYXA8QWRkcmVzcywgSW50IGFzIGludDI1Nz47DQoNCiAgICBhZGRyTWFwN18xOiBtYXA8QWRkcmVzcywgSW50IGFzIHVpbnQ4PjsNCiAgICBhZGRyTWFwN18yOiBtYXA8QWRkcmVzcywgSW50IGFzIHVpbnQxNj47DQogICAgYWRkck1hcDdfMzogbWFwPEFkZHJlc3MsIEludCBhcyB1aW50MzI+Ow0KICAgIGFkZHJNYXA3XzQ6IG1hcDxBZGRyZXNzLCBJbnQgYXMgdWludDY0PjsNCiAgICBhZGRyTWFwN181OiBtYXA8QWRkcmVzcywgSW50IGFzIHVpbnQxMjg+Ow0KICAgIGFkZHJNYXA3XzY6IG1hcDxBZGRyZXNzLCBJbnQgYXMgdWludDI1Nj47DQoNCiAgICByZWNlaXZlKG1zZzogU2V0QWRkck1hcDEpIHsNCiAgICAgICAgc2VsZi5hZGRyTWFwMS5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2V0QWRkck1hcDIpIHsNCiAgICAgICAgc2VsZi5hZGRyTWFwMi5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2V0QWRkck1hcDMpIHsNCiAgICAgICAgc2VsZi5hZGRyTWFwMy5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2V0QWRkck1hcDQpIHsNCiAgICAgICAgc2VsZi5hZGRyTWFwNC5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2V0QWRkck1hcDUpIHsNCiAgICAgICAgc2VsZi5hZGRyTWFwNS5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogU2V0QWRkck1hcDYpIHsNCiAgICAgICAgc2VsZi5hZGRyTWFwNl8xLnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgICAgICBzZWxmLmFkZHJNYXA2XzIuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuYWRkck1hcDZfMy5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICAgICAgc2VsZi5hZGRyTWFwNl80LnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgICAgICBzZWxmLmFkZHJNYXA2XzUuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuYWRkck1hcDZfNi5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICAgICAgc2VsZi5hZGRyTWFwNl83LnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBTZXRBZGRyTWFwNykgew0KICAgICAgICBzZWxmLmFkZHJNYXA3XzEuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuYWRkck1hcDdfMi5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICAgICAgc2VsZi5hZGRyTWFwN18zLnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgICAgICBzZWxmLmFkZHJNYXA3XzQuc2V0KG1zZy5rZXksIG1zZy52YWx1ZSk7DQogICAgICAgIHNlbGYuYWRkck1hcDdfNS5zZXQobXNnLmtleSwgbXNnLnZhbHVlKTsNCiAgICAgICAgc2VsZi5hZGRyTWFwN182LnNldChtc2cua2V5LCBtc2cudmFsdWUpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoInJlc2V0Iikgew0KICAgICAgICBzZWxmLmFkZHJNYXAxID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5hZGRyTWFwMiA9IGVtcHR5TWFwKCk7DQogICAgICAgIHNlbGYuYWRkck1hcDMgPSBlbXB0eU1hcCgpOw0KICAgICAgICBzZWxmLmFkZHJNYXA0ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5hZGRyTWFwNSA9IGVtcHR5TWFwKCk7DQoNCiAgICAgICAgc2VsZi5pbnRNYXAxID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5pbnRNYXAyID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5pbnRNYXAzID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5pbnRNYXA0ID0gZW1wdHlNYXAoKTsNCiAgICAgICAgc2VsZi5pbnRNYXA1ID0gZW1wdHlNYXAoKTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXAxKCk6IG1hcDxBZGRyZXNzLCBJbnQ+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDE7DQogICAgfQ0KICAgIA0KICAgIGdldCBmdW4gYWRkck1hcDFWYWx1ZShrZXk6IEFkZHJlc3MpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDEuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwMigpOiBtYXA8QWRkcmVzcywgQm9vbD4gew0KICAgICAgICByZXR1cm4gc2VsZi5hZGRyTWFwMjsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXAyVmFsdWUoa2V5OiBBZGRyZXNzKTogQm9vbD8gew0KICAgICAgICByZXR1cm4gc2VsZi5hZGRyTWFwMi5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXAzKCk6IG1hcDxBZGRyZXNzLCBDZWxsPiB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXAzOw0KICAgIH0NCg0KICAgIGdldCBmdW4gYWRkck1hcDNWYWx1ZShrZXk6IEFkZHJlc3MpOiBDZWxsPyB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXAzLmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gYWRkck1hcDQoKTogbWFwPEFkZHJlc3MsIFNvbWVTdHJ1Y3Q+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDQ7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwNFZhbHVlKGtleTogQWRkcmVzcyk6IFNvbWVTdHJ1Y3Q/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDQuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwNSgpOiBtYXA8QWRkcmVzcywgQWRkcmVzcz4gew0KICAgICAgICByZXR1cm4gc2VsZi5hZGRyTWFwNTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA1VmFsdWUoa2V5OiBBZGRyZXNzKTogQWRkcmVzcz8gew0KICAgICAgICByZXR1cm4gc2VsZi5hZGRyTWFwNS5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA2XzEoKTogbWFwPEFkZHJlc3MsIEludCBhcyBpbnQ4PiB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA2XzE7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwNl8xVmFsdWUoa2V5OiBBZGRyZXNzKTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA2XzEuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwNl8yKCk6IG1hcDxBZGRyZXNzLCBJbnQgYXMgaW50MTY+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDZfMjsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA2XzJWYWx1ZShrZXk6IEFkZHJlc3MpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDZfMi5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA2XzMoKTogbWFwPEFkZHJlc3MsIEludCBhcyBpbnQzMj4gew0KICAgICAgICByZXR1cm4gc2VsZi5hZGRyTWFwNl8zOw0KICAgIH0NCg0KICAgIGdldCBmdW4gYWRkck1hcDZfM1ZhbHVlKGtleTogQWRkcmVzcyk6IEludD8gew0KICAgICAgICByZXR1cm4gc2VsZi5hZGRyTWFwNl8zLmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gYWRkck1hcDZfNCgpOiBtYXA8QWRkcmVzcywgSW50IGFzIGludDY0PiB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA2XzQ7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwNl80VmFsdWUoa2V5OiBBZGRyZXNzKTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA2XzQuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwNl81KCk6IG1hcDxBZGRyZXNzLCBJbnQgYXMgaW50MTI4PiB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA2XzU7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwNl81VmFsdWUoa2V5OiBBZGRyZXNzKTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA2XzUuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwNl82KCk6IG1hcDxBZGRyZXNzLCBJbnQgYXMgaW50MjU2PiB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA2XzY7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwNl82VmFsdWUoa2V5OiBBZGRyZXNzKTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA2XzYuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwNl83KCk6IG1hcDxBZGRyZXNzLCBJbnQgYXMgaW50MjU3PiB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA2Xzc7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwNl83VmFsdWUoa2V5OiBBZGRyZXNzKTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA2XzcuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwN18xKCk6IG1hcDxBZGRyZXNzLCBJbnQgYXMgdWludDg+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDdfMTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA3XzFWYWx1ZShrZXk6IEFkZHJlc3MpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDdfMS5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA3XzIoKTogbWFwPEFkZHJlc3MsIEludCBhcyB1aW50MTY+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDdfMjsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA3XzJWYWx1ZShrZXk6IEFkZHJlc3MpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDdfMi5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA3XzMoKTogbWFwPEFkZHJlc3MsIEludCBhcyB1aW50MzI+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDdfMzsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA3XzNWYWx1ZShrZXk6IEFkZHJlc3MpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDdfMy5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA3XzQoKTogbWFwPEFkZHJlc3MsIEludCBhcyB1aW50NjQ+IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDdfNDsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA3XzRWYWx1ZShrZXk6IEFkZHJlc3MpOiBJbnQ/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDdfNC5nZXQoa2V5KTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGFkZHJNYXA3XzUoKTogbWFwPEFkZHJlc3MsIEludCBhcyB1aW50MTI4PiB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA3XzU7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwN181VmFsdWUoa2V5OiBBZGRyZXNzKTogSW50PyB7DQogICAgICAgIHJldHVybiBzZWxmLmFkZHJNYXA3XzUuZ2V0KGtleSk7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBhZGRyTWFwN182KCk6IG1hcDxBZGRyZXNzLCBJbnQgYXMgdWludDI1Nj4gew0KICAgICAgICByZXR1cm4gc2VsZi5hZGRyTWFwN182Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gYWRkck1hcDdfNlZhbHVlKGtleTogQWRkcmVzcyk6IEludD8gew0KICAgICAgICByZXR1cm4gc2VsZi5hZGRyTWFwN182LmdldChrZXkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbWFwQXNDZWxsKCk6IENlbGw/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYWRkck1hcDdfNi5hc0NlbGwoKTsNCiAgICB9DQp9"},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/maps.tact\",\"options\":{}}"}} \ No newline at end of file diff --git a/src/test/features/output/maps_MapTestContract.stdlib.fc b/src/test/features/output/maps_MapTestContract.stdlib.fc deleted file mode 100644 index 8dce5f88f..000000000 --- a/src/test/features/output/maps_MapTestContract.stdlib.fc +++ /dev/null @@ -1,204 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -(slice, slice) __tact_load_address_opt(slice cs) inline { - slice raw = cs~load_msg_addr(); - if (raw.preload_uint(2) != 0) { - return (cs, __tact_verify_address(raw)); - } else { - return (cs, null()); - } -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(cell, int) __tact_dict_delete(cell dict, int key_len, slice index) asm(index dict key_len) "DICTDEL"; - -((cell), ()) __tact_dict_set_ref(cell dict, int key_len, slice index, cell value) asm(value index dict key_len) "DICTSETREF"; - -(slice, int) __tact_dict_get(cell dict, int key_len, slice index) asm(index dict key_len) "DICTGET" "NULLSWAPIFNOT"; - -(cell, int) __tact_dict_get_ref(cell dict, int key_len, slice index) asm(index dict key_len) "DICTGETREF" "NULLSWAPIFNOT"; - -(cell, ()) __tact_dict_set_int_int(cell d, int kl, int k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = idict_delete?(d, kl, k); - return (r, ()); - } else { - return (idict_set_builder(d, kl, k, begin_cell().store_int(v, vl)), ()); - } -} - -int __tact_dict_get_int_int(cell d, int kl, int k, int vl) inline { - var (r, ok) = idict_get?(d, kl, k); - if (ok) { - return r~load_int(vl); - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_int_uint(cell d, int kl, int k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = idict_delete?(d, kl, k); - return (r, ()); - } else { - return (idict_set_builder(d, kl, k, begin_cell().store_uint(v, vl)), ()); - } -} - -int __tact_dict_get_int_uint(cell d, int kl, int k, int vl) inline { - var (r, ok) = idict_get?(d, kl, k); - if (ok) { - return r~load_uint(vl); - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_uint_int(cell d, int kl, int k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = udict_delete?(d, kl, k); - return (r, ()); - } else { - return (udict_set_builder(d, kl, k, begin_cell().store_int(v, vl)), ()); - } -} - -int __tact_dict_get_uint_int(cell d, int kl, int k, int vl) inline { - var (r, ok) = udict_get?(d, kl, k); - if (ok) { - return r~load_int(vl); - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_int_cell(cell d, int kl, int k, cell v) inline { - if (null?(v)) { - var (r, ok) = idict_delete?(d, kl, k); - return (r, ()); - } else { - return (idict_set_ref(d, kl, k, v), ()); - } -} - -cell __tact_dict_get_int_cell(cell d, int kl, int k) inline { - var (r, ok) = idict_get_ref?(d, kl, k); - if (ok) { - return r; - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_int_slice(cell d, int kl, int k, slice v) inline { - if (null?(v)) { - var (r, ok) = idict_delete?(d, kl, k); - return (r, ()); - } else { - return (idict_set(d, kl, k, v), ()); - } -} - -slice __tact_dict_get_int_slice(cell d, int kl, int k) inline { - var (r, ok) = idict_get?(d, kl, k); - if (ok) { - return r; - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_slice_int(cell d, int kl, slice k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = __tact_dict_delete(d, kl, k); - return (r, ()); - } else { - return (dict_set_builder(d, kl, k, begin_cell().store_int(v, vl)), ()); - } -} - -int __tact_dict_get_slice_int(cell d, int kl, slice k, int vl) inline { - var (r, ok) = __tact_dict_get(d, kl, k); - if (ok) { - return r~load_int(vl); - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_slice_uint(cell d, int kl, slice k, int v, int vl) inline { - if (null?(v)) { - var (r, ok) = __tact_dict_delete(d, kl, k); - return (r, ()); - } else { - return (dict_set_builder(d, kl, k, begin_cell().store_uint(v, vl)), ()); - } -} - -int __tact_dict_get_slice_uint(cell d, int kl, slice k, int vl) inline { - var (r, ok) = __tact_dict_get(d, kl, k); - if (ok) { - return r~load_uint(vl); - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_slice_cell(cell d, int kl, slice k, cell v) inline { - if (null?(v)) { - var (r, ok) = __tact_dict_delete(d, kl, k); - return (r, ()); - } else { - return __tact_dict_set_ref(d, kl, k, v); - } -} - -cell __tact_dict_get_slice_cell(cell d, int kl, slice k) inline { - var (r, ok) = __tact_dict_get_ref(d, kl, k); - if (ok) { - return r; - } else { - return null(); - } -} - -(cell, ()) __tact_dict_set_slice_slice(cell d, int kl, slice k, slice v) inline { - if (null?(v)) { - var (r, ok) = __tact_dict_delete(d, kl, k); - return (r, ()); - } else { - return (dict_set_builder(d, kl, k, begin_cell().store_slice(v)), ()); - } -} - -slice __tact_dict_get_slice_slice(cell d, int kl, slice k) inline { - var (r, ok) = __tact_dict_get(d, kl, k); - if (ok) { - return r; - } else { - return null(); - } -} - -forall X0 -> tuple __tact_tuple_create_1((X0) v) asm "1 TUPLE"; - -forall X0 -> (X0) __tact_tuple_destroy_1(tuple v) asm "1 UNTUPLE"; \ No newline at end of file diff --git a/src/test/features/output/maps_MapTestContract.storage.fc b/src/test/features/output/maps_MapTestContract.storage.fc deleted file mode 100644 index 4427dc701..000000000 --- a/src/test/features/output/maps_MapTestContract.storage.fc +++ /dev/null @@ -1,452 +0,0 @@ -;; -;; Type: SetIntMap1 -;; Header: 0x5a04a318 -;; TLB: set_int_map1#5a04a318 key:int257 value:Maybe int257 = SetIntMap1 -;; - -(slice, ((int, int))) $SetIntMap1$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1510253336); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetIntMap2 -;; Header: 0x6125cef6 -;; TLB: set_int_map2#6125cef6 key:int257 value:Maybe bool = SetIntMap2 -;; - -(slice, ((int, int))) $SetIntMap2$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1629867766); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(1) ? sc_0~load_int(1) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetIntMap3 -;; Header: 0xd7689249 -;; TLB: set_int_map3#d7689249 key:int257 value:Maybe ^cell = SetIntMap3 -;; - -(slice, ((int, cell))) $SetIntMap3$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 3613954633); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(1) ? sc_0~load_ref() : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SomeStruct -;; TLB: _ value:int257 = SomeStruct -;; - -builder $SomeStruct$_store(builder build_0, (int) v) inline { - var (v'value) = v; - build_0 = build_0.store_int(v'value, 257); - return build_0; -} - -cell $SomeStruct$_store_cell((int) v) inline { - return $SomeStruct$_store(begin_cell(), v).end_cell(); -} - -((int)) $SomeStruct$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (int vvv'value) = __tact_tuple_destroy_1(v); - return (vvv'value); -} - -cell $SomeStruct$_store_opt(tuple v) inline { - if (null?(v)) { - return null(); - } - return $SomeStruct$_store_cell($SomeStruct$_not_null(v)); -} - -(slice, ((int))) $SomeStruct$_load(slice sc_0) inline { - var v'value = sc_0~load_int(257); - return (sc_0, (v'value)); -} - -tuple $SomeStruct$_as_optional((int) v) inline { - var (v'value) = v; - return __tact_tuple_create_1(v'value); -} - -tuple $SomeStruct$_load_opt(cell cl) inline { - if (null?(cl)) { - return null(); - } - var sc = cl.begin_parse(); - return $SomeStruct$_as_optional(sc~$SomeStruct$_load()); -} - -tuple $SomeStruct$_to_tuple(((int)) v) inline { - var (v'value) = v; - return __tact_tuple_create_1(v'value); -} - -tuple $SomeStruct$_to_opt_tuple(tuple v) inline { - if (null?(v)) { return null(); } - return $SomeStruct$_to_tuple($SomeStruct$_not_null(v)); -} - -tuple $SomeStruct$_to_opt_external(tuple v) inline { - var loaded = $SomeStruct$_to_opt_tuple(v); - if (null?(loaded)) { - return null(); - } else { - return (loaded); - } -} - -;; -;; Type: SetIntMap4 -;; Header: 0x16d453c5 -;; TLB: set_int_map4#16d453c5 key:int257 value:Maybe SomeStruct{value:int257} = SetIntMap4 -;; - -(slice, ((int, tuple))) $SetIntMap4$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 383013829); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(1) ? $SomeStruct$_as_optional(sc_0~$SomeStruct$_load()) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetIntMap5 -;; Header: 0xa779553f -;; TLB: set_int_map5#a779553f key:int257 value:Maybe address = SetIntMap5 -;; - -(slice, ((int, slice))) $SetIntMap5$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2809746751); - var v'key = sc_0~load_int(257); - var v'value = sc_0~__tact_load_address_opt(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetIntMap6 -;; Header: 0x4b0609ca -;; TLB: set_int_map6#4b0609ca key:int257 value:Maybe int257 = SetIntMap6 -;; - -(slice, ((int, int))) $SetIntMap6$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1258686922); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetUIntMap7 -;; Header: 0xd4623107 -;; TLB: set_u_int_map7#d4623107 key:int257 value:Maybe int257 = SetUIntMap7 -;; - -(slice, ((int, int))) $SetUIntMap7$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 3563204871); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetIntMap8 -;; Header: 0x71e1acee -;; TLB: set_int_map8#71e1acee key:int257 value:Maybe int257 = SetIntMap8 -;; - -(slice, ((int, int))) $SetIntMap8$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1910615278); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetUIntMap9 -;; Header: 0x693e3a87 -;; TLB: set_u_int_map9#693e3a87 key:int257 value:Maybe int257 = SetUIntMap9 -;; - -(slice, ((int, int))) $SetUIntMap9$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1765685895); - var v'key = sc_0~load_int(257); - var v'value = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetAddrMap1 -;; Header: 0x684e5e4d -;; TLB: set_addr_map1#684e5e4d key:address value:Maybe int257 = SetAddrMap1 -;; - -(slice, ((slice, int))) $SetAddrMap1$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1749966413); - var v'key = sc_0~__tact_load_address(); - var v'value = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetAddrMap2 -;; Header: 0x2533e390 -;; TLB: set_addr_map2#2533e390 key:address value:Maybe bool = SetAddrMap2 -;; - -(slice, ((slice, int))) $SetAddrMap2$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 624157584); - var v'key = sc_0~__tact_load_address(); - var v'value = sc_0~load_int(1) ? sc_0~load_int(1) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetAddrMap3 -;; Header: 0xfee42706 -;; TLB: set_addr_map3#fee42706 key:address value:Maybe ^cell = SetAddrMap3 -;; - -(slice, ((slice, cell))) $SetAddrMap3$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 4276365062); - var v'key = sc_0~__tact_load_address(); - var v'value = sc_0~load_int(1) ? sc_0~load_ref() : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetAddrMap4 -;; Header: 0x645c6979 -;; TLB: set_addr_map4#645c6979 key:address value:Maybe SomeStruct{value:int257} = SetAddrMap4 -;; - -(slice, ((slice, tuple))) $SetAddrMap4$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1683777913); - var v'key = sc_0~__tact_load_address(); - var v'value = sc_0~load_int(1) ? $SomeStruct$_as_optional(sc_0~$SomeStruct$_load()) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetAddrMap5 -;; Header: 0x67cb4d03 -;; TLB: set_addr_map5#67cb4d03 key:address value:Maybe address = SetAddrMap5 -;; - -(slice, ((slice, slice))) $SetAddrMap5$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1741376771); - var v'key = sc_0~__tact_load_address(); - var v'value = sc_0~__tact_load_address_opt(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetAddrMap6 -;; Header: 0x67dfff02 -;; TLB: set_addr_map6#67dfff02 key:address value:Maybe int257 = SetAddrMap6 -;; - -(slice, ((slice, int))) $SetAddrMap6$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 1742733058); - var v'key = sc_0~__tact_load_address(); - var v'value = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: SetAddrMap7 -;; Header: 0x7a6e958f -;; TLB: set_addr_map7#7a6e958f key:address value:Maybe int257 = SetAddrMap7 -;; - -(slice, ((slice, int))) $SetAddrMap7$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2054067599); - var v'key = sc_0~__tact_load_address(); - var v'value = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - return (sc_0, (v'key, v'value)); -} - -;; -;; Type: MapTestContract -;; - -builder $MapTestContract$_store(builder build_0, (cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) v) inline { - var (v'intMap1, v'intMap2, v'intMap3, v'intMap4, v'intMap5, v'intMap6_1, v'intMap6_2, v'intMap6_3, v'intMap6_4, v'intMap6_5, v'intMap6_6, v'intMap6_7, v'intMap7_1, v'intMap7_2, v'intMap7_3, v'intMap7_4, v'intMap7_5, v'intMap7_6, v'intMap8_1, v'intMap8_2, v'intMap8_3, v'intMap8_4, v'intMap8_5, v'intMap8_6, v'intMap8_7, v'intMap9_1, v'intMap9_2, v'intMap9_3, v'intMap9_4, v'intMap9_5, v'intMap9_6, v'addrMap1, v'addrMap2, v'addrMap3, v'addrMap4, v'addrMap5, v'addrMap6_1, v'addrMap6_2, v'addrMap6_3, v'addrMap6_4, v'addrMap6_5, v'addrMap6_6, v'addrMap6_7, v'addrMap7_1, v'addrMap7_2, v'addrMap7_3, v'addrMap7_4, v'addrMap7_5, v'addrMap7_6) = v; - build_0 = build_0.store_dict(v'intMap1); - build_0 = build_0.store_dict(v'intMap2); - var build_1 = begin_cell(); - build_1 = build_1.store_dict(v'intMap3); - build_1 = build_1.store_dict(v'intMap4); - build_1 = build_1.store_dict(v'intMap5); - var build_2 = begin_cell(); - build_2 = build_2.store_dict(v'intMap6_1); - build_2 = build_2.store_dict(v'intMap6_2); - build_2 = build_2.store_dict(v'intMap6_3); - var build_3 = begin_cell(); - build_3 = build_3.store_dict(v'intMap6_4); - build_3 = build_3.store_dict(v'intMap6_5); - build_3 = build_3.store_dict(v'intMap6_6); - var build_4 = begin_cell(); - build_4 = build_4.store_dict(v'intMap6_7); - build_4 = build_4.store_dict(v'intMap7_1); - build_4 = build_4.store_dict(v'intMap7_2); - var build_5 = begin_cell(); - build_5 = build_5.store_dict(v'intMap7_3); - build_5 = build_5.store_dict(v'intMap7_4); - build_5 = build_5.store_dict(v'intMap7_5); - var build_6 = begin_cell(); - build_6 = build_6.store_dict(v'intMap7_6); - build_6 = build_6.store_dict(v'intMap8_1); - build_6 = build_6.store_dict(v'intMap8_2); - var build_7 = begin_cell(); - build_7 = build_7.store_dict(v'intMap8_3); - build_7 = build_7.store_dict(v'intMap8_4); - build_7 = build_7.store_dict(v'intMap8_5); - var build_8 = begin_cell(); - build_8 = build_8.store_dict(v'intMap8_6); - build_8 = build_8.store_dict(v'intMap8_7); - build_8 = build_8.store_dict(v'intMap9_1); - var build_9 = begin_cell(); - build_9 = build_9.store_dict(v'intMap9_2); - build_9 = build_9.store_dict(v'intMap9_3); - build_9 = build_9.store_dict(v'intMap9_4); - var build_10 = begin_cell(); - build_10 = build_10.store_dict(v'intMap9_5); - build_10 = build_10.store_dict(v'intMap9_6); - build_10 = build_10.store_dict(v'addrMap1); - var build_11 = begin_cell(); - build_11 = build_11.store_dict(v'addrMap2); - build_11 = build_11.store_dict(v'addrMap3); - build_11 = build_11.store_dict(v'addrMap4); - var build_12 = begin_cell(); - build_12 = build_12.store_dict(v'addrMap5); - build_12 = build_12.store_dict(v'addrMap6_1); - build_12 = build_12.store_dict(v'addrMap6_2); - var build_13 = begin_cell(); - build_13 = build_13.store_dict(v'addrMap6_3); - build_13 = build_13.store_dict(v'addrMap6_4); - build_13 = build_13.store_dict(v'addrMap6_5); - var build_14 = begin_cell(); - build_14 = build_14.store_dict(v'addrMap6_6); - build_14 = build_14.store_dict(v'addrMap6_7); - build_14 = build_14.store_dict(v'addrMap7_1); - var build_15 = begin_cell(); - build_15 = build_15.store_dict(v'addrMap7_2); - build_15 = build_15.store_dict(v'addrMap7_3); - build_15 = build_15.store_dict(v'addrMap7_4); - var build_16 = begin_cell(); - build_16 = build_16.store_dict(v'addrMap7_5); - build_16 = build_16.store_dict(v'addrMap7_6); - build_15 = store_ref(build_15, build_16.end_cell()); - build_14 = store_ref(build_14, build_15.end_cell()); - build_13 = store_ref(build_13, build_14.end_cell()); - build_12 = store_ref(build_12, build_13.end_cell()); - build_11 = store_ref(build_11, build_12.end_cell()); - build_10 = store_ref(build_10, build_11.end_cell()); - build_9 = store_ref(build_9, build_10.end_cell()); - build_8 = store_ref(build_8, build_9.end_cell()); - build_7 = store_ref(build_7, build_8.end_cell()); - build_6 = store_ref(build_6, build_7.end_cell()); - build_5 = store_ref(build_5, build_6.end_cell()); - build_4 = store_ref(build_4, build_5.end_cell()); - build_3 = store_ref(build_3, build_4.end_cell()); - build_2 = store_ref(build_2, build_3.end_cell()); - build_1 = store_ref(build_1, build_2.end_cell()); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell))) $MapTestContract$_load(slice sc_0) inline { - var v'intMap1 = sc_0~load_dict(); - var v'intMap2 = sc_0~load_dict(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'intMap3 = sc_1~load_dict(); - var v'intMap4 = sc_1~load_dict(); - var v'intMap5 = sc_1~load_dict(); - slice sc_2 = sc_1~load_ref().begin_parse(); - var v'intMap6_1 = sc_2~load_dict(); - var v'intMap6_2 = sc_2~load_dict(); - var v'intMap6_3 = sc_2~load_dict(); - slice sc_3 = sc_2~load_ref().begin_parse(); - var v'intMap6_4 = sc_3~load_dict(); - var v'intMap6_5 = sc_3~load_dict(); - var v'intMap6_6 = sc_3~load_dict(); - slice sc_4 = sc_3~load_ref().begin_parse(); - var v'intMap6_7 = sc_4~load_dict(); - var v'intMap7_1 = sc_4~load_dict(); - var v'intMap7_2 = sc_4~load_dict(); - slice sc_5 = sc_4~load_ref().begin_parse(); - var v'intMap7_3 = sc_5~load_dict(); - var v'intMap7_4 = sc_5~load_dict(); - var v'intMap7_5 = sc_5~load_dict(); - slice sc_6 = sc_5~load_ref().begin_parse(); - var v'intMap7_6 = sc_6~load_dict(); - var v'intMap8_1 = sc_6~load_dict(); - var v'intMap8_2 = sc_6~load_dict(); - slice sc_7 = sc_6~load_ref().begin_parse(); - var v'intMap8_3 = sc_7~load_dict(); - var v'intMap8_4 = sc_7~load_dict(); - var v'intMap8_5 = sc_7~load_dict(); - slice sc_8 = sc_7~load_ref().begin_parse(); - var v'intMap8_6 = sc_8~load_dict(); - var v'intMap8_7 = sc_8~load_dict(); - var v'intMap9_1 = sc_8~load_dict(); - slice sc_9 = sc_8~load_ref().begin_parse(); - var v'intMap9_2 = sc_9~load_dict(); - var v'intMap9_3 = sc_9~load_dict(); - var v'intMap9_4 = sc_9~load_dict(); - slice sc_10 = sc_9~load_ref().begin_parse(); - var v'intMap9_5 = sc_10~load_dict(); - var v'intMap9_6 = sc_10~load_dict(); - var v'addrMap1 = sc_10~load_dict(); - slice sc_11 = sc_10~load_ref().begin_parse(); - var v'addrMap2 = sc_11~load_dict(); - var v'addrMap3 = sc_11~load_dict(); - var v'addrMap4 = sc_11~load_dict(); - slice sc_12 = sc_11~load_ref().begin_parse(); - var v'addrMap5 = sc_12~load_dict(); - var v'addrMap6_1 = sc_12~load_dict(); - var v'addrMap6_2 = sc_12~load_dict(); - slice sc_13 = sc_12~load_ref().begin_parse(); - var v'addrMap6_3 = sc_13~load_dict(); - var v'addrMap6_4 = sc_13~load_dict(); - var v'addrMap6_5 = sc_13~load_dict(); - slice sc_14 = sc_13~load_ref().begin_parse(); - var v'addrMap6_6 = sc_14~load_dict(); - var v'addrMap6_7 = sc_14~load_dict(); - var v'addrMap7_1 = sc_14~load_dict(); - slice sc_15 = sc_14~load_ref().begin_parse(); - var v'addrMap7_2 = sc_15~load_dict(); - var v'addrMap7_3 = sc_15~load_dict(); - var v'addrMap7_4 = sc_15~load_dict(); - slice sc_16 = sc_15~load_ref().begin_parse(); - var v'addrMap7_5 = sc_16~load_dict(); - var v'addrMap7_6 = sc_16~load_dict(); - return (sc_0, (v'intMap1, v'intMap2, v'intMap3, v'intMap4, v'intMap5, v'intMap6_1, v'intMap6_2, v'intMap6_3, v'intMap6_4, v'intMap6_5, v'intMap6_6, v'intMap6_7, v'intMap7_1, v'intMap7_2, v'intMap7_3, v'intMap7_4, v'intMap7_5, v'intMap7_6, v'intMap8_1, v'intMap8_2, v'intMap8_3, v'intMap8_4, v'intMap8_5, v'intMap8_6, v'intMap8_7, v'intMap9_1, v'intMap9_2, v'intMap9_3, v'intMap9_4, v'intMap9_5, v'intMap9_6, v'addrMap1, v'addrMap2, v'addrMap3, v'addrMap4, v'addrMap5, v'addrMap6_1, v'addrMap6_2, v'addrMap6_3, v'addrMap6_4, v'addrMap6_5, v'addrMap6_6, v'addrMap6_7, v'addrMap7_1, v'addrMap7_2, v'addrMap7_3, v'addrMap7_4, v'addrMap7_5, v'addrMap7_6)); -} - -(cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) $MapTestContract$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$MapTestContract$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $MapTestContract$_contract_init(); - } -} - -() $MapTestContract$_contract_store((cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell, cell) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $MapTestContract$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/maps_MapTestContract.ts b/src/test/features/output/maps_MapTestContract.ts deleted file mode 100644 index 4dc985b96..000000000 --- a/src/test/features/output/maps_MapTestContract.ts +++ /dev/null @@ -1,2066 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type SetIntMap1 = { - $$type: 'SetIntMap1'; - key: bigint; - value: bigint | null; -} - -export function storeSetIntMap1(src: SetIntMap1) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1510253336, 32); - b_0.storeInt(src.key, 257); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeInt(src.value, 257); } else { b_0.storeBit(false); } - }; -} - -export function loadSetIntMap1(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1510253336) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - return { $$type: 'SetIntMap1' as const, key: _key, value: _value }; -} - -function loadTupleSetIntMap1(source: TupleReader) { - let _key = source.readBigNumber(); - let _value = source.readBigNumberOpt(); - return { $$type: 'SetIntMap1' as const, key: _key, value: _value }; -} - -function storeTupleSetIntMap1(source: SetIntMap1) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSetIntMap1(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetIntMap1(src)).endCell()); - }, - parse: (src) => { - return loadSetIntMap1(src.loadRef().beginParse()); - } - } -} - -export type SetIntMap2 = { - $$type: 'SetIntMap2'; - key: bigint; - value: boolean | null; -} - -export function storeSetIntMap2(src: SetIntMap2) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1629867766, 32); - b_0.storeInt(src.key, 257); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeBit(src.value); } else { b_0.storeBit(false); } - }; -} - -export function loadSetIntMap2(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1629867766) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadBit() ? sc_0.loadBit() : null; - return { $$type: 'SetIntMap2' as const, key: _key, value: _value }; -} - -function loadTupleSetIntMap2(source: TupleReader) { - let _key = source.readBigNumber(); - let _value = source.readBooleanOpt(); - return { $$type: 'SetIntMap2' as const, key: _key, value: _value }; -} - -function storeTupleSetIntMap2(source: SetIntMap2) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeBoolean(source.value); - return builder.build(); -} - -function dictValueParserSetIntMap2(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetIntMap2(src)).endCell()); - }, - parse: (src) => { - return loadSetIntMap2(src.loadRef().beginParse()); - } - } -} - -export type SetIntMap3 = { - $$type: 'SetIntMap3'; - key: bigint; - value: Cell | null; -} - -export function storeSetIntMap3(src: SetIntMap3) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3613954633, 32); - b_0.storeInt(src.key, 257); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeRef(src.value); } else { b_0.storeBit(false); } - }; -} - -export function loadSetIntMap3(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3613954633) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SetIntMap3' as const, key: _key, value: _value }; -} - -function loadTupleSetIntMap3(source: TupleReader) { - let _key = source.readBigNumber(); - let _value = source.readCellOpt(); - return { $$type: 'SetIntMap3' as const, key: _key, value: _value }; -} - -function storeTupleSetIntMap3(source: SetIntMap3) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeCell(source.value); - return builder.build(); -} - -function dictValueParserSetIntMap3(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetIntMap3(src)).endCell()); - }, - parse: (src) => { - return loadSetIntMap3(src.loadRef().beginParse()); - } - } -} - -export type SetIntMap4 = { - $$type: 'SetIntMap4'; - key: bigint; - value: SomeStruct | null; -} - -export function storeSetIntMap4(src: SetIntMap4) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(383013829, 32); - b_0.storeInt(src.key, 257); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true); b_0.store(storeSomeStruct(src.value)); } else { b_0.storeBit(false); } - }; -} - -export function loadSetIntMap4(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 383013829) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadBit() ? loadSomeStruct(sc_0) : null; - return { $$type: 'SetIntMap4' as const, key: _key, value: _value }; -} - -function loadTupleSetIntMap4(source: TupleReader) { - let _key = source.readBigNumber(); - const _value_p = source.readTupleOpt(); - const _value = _value_p ? loadTupleSomeStruct(_value_p) : null; - return { $$type: 'SetIntMap4' as const, key: _key, value: _value }; -} - -function storeTupleSetIntMap4(source: SetIntMap4) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - if (source.value !== null && source.value !== undefined) { - builder.writeTuple(storeTupleSomeStruct(source.value)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserSetIntMap4(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetIntMap4(src)).endCell()); - }, - parse: (src) => { - return loadSetIntMap4(src.loadRef().beginParse()); - } - } -} - -export type SetIntMap5 = { - $$type: 'SetIntMap5'; - key: bigint; - value: Address | null; -} - -export function storeSetIntMap5(src: SetIntMap5) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2809746751, 32); - b_0.storeInt(src.key, 257); - b_0.storeAddress(src.value); - }; -} - -export function loadSetIntMap5(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2809746751) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadMaybeAddress(); - return { $$type: 'SetIntMap5' as const, key: _key, value: _value }; -} - -function loadTupleSetIntMap5(source: TupleReader) { - let _key = source.readBigNumber(); - let _value = source.readAddressOpt(); - return { $$type: 'SetIntMap5' as const, key: _key, value: _value }; -} - -function storeTupleSetIntMap5(source: SetIntMap5) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeAddress(source.value); - return builder.build(); -} - -function dictValueParserSetIntMap5(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetIntMap5(src)).endCell()); - }, - parse: (src) => { - return loadSetIntMap5(src.loadRef().beginParse()); - } - } -} - -export type SetIntMap6 = { - $$type: 'SetIntMap6'; - key: bigint; - value: bigint | null; -} - -export function storeSetIntMap6(src: SetIntMap6) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1258686922, 32); - b_0.storeInt(src.key, 257); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeInt(src.value, 257); } else { b_0.storeBit(false); } - }; -} - -export function loadSetIntMap6(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1258686922) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - return { $$type: 'SetIntMap6' as const, key: _key, value: _value }; -} - -function loadTupleSetIntMap6(source: TupleReader) { - let _key = source.readBigNumber(); - let _value = source.readBigNumberOpt(); - return { $$type: 'SetIntMap6' as const, key: _key, value: _value }; -} - -function storeTupleSetIntMap6(source: SetIntMap6) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSetIntMap6(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetIntMap6(src)).endCell()); - }, - parse: (src) => { - return loadSetIntMap6(src.loadRef().beginParse()); - } - } -} - -export type SetUIntMap7 = { - $$type: 'SetUIntMap7'; - key: bigint; - value: bigint | null; -} - -export function storeSetUIntMap7(src: SetUIntMap7) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3563204871, 32); - b_0.storeInt(src.key, 257); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeInt(src.value, 257); } else { b_0.storeBit(false); } - }; -} - -export function loadSetUIntMap7(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3563204871) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - return { $$type: 'SetUIntMap7' as const, key: _key, value: _value }; -} - -function loadTupleSetUIntMap7(source: TupleReader) { - let _key = source.readBigNumber(); - let _value = source.readBigNumberOpt(); - return { $$type: 'SetUIntMap7' as const, key: _key, value: _value }; -} - -function storeTupleSetUIntMap7(source: SetUIntMap7) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSetUIntMap7(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetUIntMap7(src)).endCell()); - }, - parse: (src) => { - return loadSetUIntMap7(src.loadRef().beginParse()); - } - } -} - -export type SetIntMap8 = { - $$type: 'SetIntMap8'; - key: bigint; - value: bigint | null; -} - -export function storeSetIntMap8(src: SetIntMap8) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1910615278, 32); - b_0.storeInt(src.key, 257); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeInt(src.value, 257); } else { b_0.storeBit(false); } - }; -} - -export function loadSetIntMap8(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1910615278) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - return { $$type: 'SetIntMap8' as const, key: _key, value: _value }; -} - -function loadTupleSetIntMap8(source: TupleReader) { - let _key = source.readBigNumber(); - let _value = source.readBigNumberOpt(); - return { $$type: 'SetIntMap8' as const, key: _key, value: _value }; -} - -function storeTupleSetIntMap8(source: SetIntMap8) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSetIntMap8(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetIntMap8(src)).endCell()); - }, - parse: (src) => { - return loadSetIntMap8(src.loadRef().beginParse()); - } - } -} - -export type SetUIntMap9 = { - $$type: 'SetUIntMap9'; - key: bigint; - value: bigint | null; -} - -export function storeSetUIntMap9(src: SetUIntMap9) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1765685895, 32); - b_0.storeInt(src.key, 257); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeInt(src.value, 257); } else { b_0.storeBit(false); } - }; -} - -export function loadSetUIntMap9(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1765685895) { throw Error('Invalid prefix'); } - let _key = sc_0.loadIntBig(257); - let _value = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - return { $$type: 'SetUIntMap9' as const, key: _key, value: _value }; -} - -function loadTupleSetUIntMap9(source: TupleReader) { - let _key = source.readBigNumber(); - let _value = source.readBigNumberOpt(); - return { $$type: 'SetUIntMap9' as const, key: _key, value: _value }; -} - -function storeTupleSetUIntMap9(source: SetUIntMap9) { - let builder = new TupleBuilder(); - builder.writeNumber(source.key); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSetUIntMap9(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetUIntMap9(src)).endCell()); - }, - parse: (src) => { - return loadSetUIntMap9(src.loadRef().beginParse()); - } - } -} - -export type SetAddrMap1 = { - $$type: 'SetAddrMap1'; - key: Address; - value: bigint | null; -} - -export function storeSetAddrMap1(src: SetAddrMap1) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1749966413, 32); - b_0.storeAddress(src.key); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeInt(src.value, 257); } else { b_0.storeBit(false); } - }; -} - -export function loadSetAddrMap1(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1749966413) { throw Error('Invalid prefix'); } - let _key = sc_0.loadAddress(); - let _value = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - return { $$type: 'SetAddrMap1' as const, key: _key, value: _value }; -} - -function loadTupleSetAddrMap1(source: TupleReader) { - let _key = source.readAddress(); - let _value = source.readBigNumberOpt(); - return { $$type: 'SetAddrMap1' as const, key: _key, value: _value }; -} - -function storeTupleSetAddrMap1(source: SetAddrMap1) { - let builder = new TupleBuilder(); - builder.writeAddress(source.key); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSetAddrMap1(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetAddrMap1(src)).endCell()); - }, - parse: (src) => { - return loadSetAddrMap1(src.loadRef().beginParse()); - } - } -} - -export type SetAddrMap2 = { - $$type: 'SetAddrMap2'; - key: Address; - value: boolean | null; -} - -export function storeSetAddrMap2(src: SetAddrMap2) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(624157584, 32); - b_0.storeAddress(src.key); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeBit(src.value); } else { b_0.storeBit(false); } - }; -} - -export function loadSetAddrMap2(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 624157584) { throw Error('Invalid prefix'); } - let _key = sc_0.loadAddress(); - let _value = sc_0.loadBit() ? sc_0.loadBit() : null; - return { $$type: 'SetAddrMap2' as const, key: _key, value: _value }; -} - -function loadTupleSetAddrMap2(source: TupleReader) { - let _key = source.readAddress(); - let _value = source.readBooleanOpt(); - return { $$type: 'SetAddrMap2' as const, key: _key, value: _value }; -} - -function storeTupleSetAddrMap2(source: SetAddrMap2) { - let builder = new TupleBuilder(); - builder.writeAddress(source.key); - builder.writeBoolean(source.value); - return builder.build(); -} - -function dictValueParserSetAddrMap2(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetAddrMap2(src)).endCell()); - }, - parse: (src) => { - return loadSetAddrMap2(src.loadRef().beginParse()); - } - } -} - -export type SetAddrMap3 = { - $$type: 'SetAddrMap3'; - key: Address; - value: Cell | null; -} - -export function storeSetAddrMap3(src: SetAddrMap3) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(4276365062, 32); - b_0.storeAddress(src.key); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeRef(src.value); } else { b_0.storeBit(false); } - }; -} - -export function loadSetAddrMap3(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 4276365062) { throw Error('Invalid prefix'); } - let _key = sc_0.loadAddress(); - let _value = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SetAddrMap3' as const, key: _key, value: _value }; -} - -function loadTupleSetAddrMap3(source: TupleReader) { - let _key = source.readAddress(); - let _value = source.readCellOpt(); - return { $$type: 'SetAddrMap3' as const, key: _key, value: _value }; -} - -function storeTupleSetAddrMap3(source: SetAddrMap3) { - let builder = new TupleBuilder(); - builder.writeAddress(source.key); - builder.writeCell(source.value); - return builder.build(); -} - -function dictValueParserSetAddrMap3(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetAddrMap3(src)).endCell()); - }, - parse: (src) => { - return loadSetAddrMap3(src.loadRef().beginParse()); - } - } -} - -export type SetAddrMap4 = { - $$type: 'SetAddrMap4'; - key: Address; - value: SomeStruct | null; -} - -export function storeSetAddrMap4(src: SetAddrMap4) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1683777913, 32); - b_0.storeAddress(src.key); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true); b_0.store(storeSomeStruct(src.value)); } else { b_0.storeBit(false); } - }; -} - -export function loadSetAddrMap4(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1683777913) { throw Error('Invalid prefix'); } - let _key = sc_0.loadAddress(); - let _value = sc_0.loadBit() ? loadSomeStruct(sc_0) : null; - return { $$type: 'SetAddrMap4' as const, key: _key, value: _value }; -} - -function loadTupleSetAddrMap4(source: TupleReader) { - let _key = source.readAddress(); - const _value_p = source.readTupleOpt(); - const _value = _value_p ? loadTupleSomeStruct(_value_p) : null; - return { $$type: 'SetAddrMap4' as const, key: _key, value: _value }; -} - -function storeTupleSetAddrMap4(source: SetAddrMap4) { - let builder = new TupleBuilder(); - builder.writeAddress(source.key); - if (source.value !== null && source.value !== undefined) { - builder.writeTuple(storeTupleSomeStruct(source.value)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserSetAddrMap4(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetAddrMap4(src)).endCell()); - }, - parse: (src) => { - return loadSetAddrMap4(src.loadRef().beginParse()); - } - } -} - -export type SetAddrMap5 = { - $$type: 'SetAddrMap5'; - key: Address; - value: Address | null; -} - -export function storeSetAddrMap5(src: SetAddrMap5) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1741376771, 32); - b_0.storeAddress(src.key); - b_0.storeAddress(src.value); - }; -} - -export function loadSetAddrMap5(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1741376771) { throw Error('Invalid prefix'); } - let _key = sc_0.loadAddress(); - let _value = sc_0.loadMaybeAddress(); - return { $$type: 'SetAddrMap5' as const, key: _key, value: _value }; -} - -function loadTupleSetAddrMap5(source: TupleReader) { - let _key = source.readAddress(); - let _value = source.readAddressOpt(); - return { $$type: 'SetAddrMap5' as const, key: _key, value: _value }; -} - -function storeTupleSetAddrMap5(source: SetAddrMap5) { - let builder = new TupleBuilder(); - builder.writeAddress(source.key); - builder.writeAddress(source.value); - return builder.build(); -} - -function dictValueParserSetAddrMap5(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetAddrMap5(src)).endCell()); - }, - parse: (src) => { - return loadSetAddrMap5(src.loadRef().beginParse()); - } - } -} - -export type SetAddrMap6 = { - $$type: 'SetAddrMap6'; - key: Address; - value: bigint | null; -} - -export function storeSetAddrMap6(src: SetAddrMap6) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1742733058, 32); - b_0.storeAddress(src.key); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeInt(src.value, 257); } else { b_0.storeBit(false); } - }; -} - -export function loadSetAddrMap6(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1742733058) { throw Error('Invalid prefix'); } - let _key = sc_0.loadAddress(); - let _value = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - return { $$type: 'SetAddrMap6' as const, key: _key, value: _value }; -} - -function loadTupleSetAddrMap6(source: TupleReader) { - let _key = source.readAddress(); - let _value = source.readBigNumberOpt(); - return { $$type: 'SetAddrMap6' as const, key: _key, value: _value }; -} - -function storeTupleSetAddrMap6(source: SetAddrMap6) { - let builder = new TupleBuilder(); - builder.writeAddress(source.key); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSetAddrMap6(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetAddrMap6(src)).endCell()); - }, - parse: (src) => { - return loadSetAddrMap6(src.loadRef().beginParse()); - } - } -} - -export type SetAddrMap7 = { - $$type: 'SetAddrMap7'; - key: Address; - value: bigint | null; -} - -export function storeSetAddrMap7(src: SetAddrMap7) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2054067599, 32); - b_0.storeAddress(src.key); - if (src.value !== null && src.value !== undefined) { b_0.storeBit(true).storeInt(src.value, 257); } else { b_0.storeBit(false); } - }; -} - -export function loadSetAddrMap7(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2054067599) { throw Error('Invalid prefix'); } - let _key = sc_0.loadAddress(); - let _value = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - return { $$type: 'SetAddrMap7' as const, key: _key, value: _value }; -} - -function loadTupleSetAddrMap7(source: TupleReader) { - let _key = source.readAddress(); - let _value = source.readBigNumberOpt(); - return { $$type: 'SetAddrMap7' as const, key: _key, value: _value }; -} - -function storeTupleSetAddrMap7(source: SetAddrMap7) { - let builder = new TupleBuilder(); - builder.writeAddress(source.key); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSetAddrMap7(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSetAddrMap7(src)).endCell()); - }, - parse: (src) => { - return loadSetAddrMap7(src.loadRef().beginParse()); - } - } -} - -export type SomeStruct = { - $$type: 'SomeStruct'; - value: bigint; -} - -export function storeSomeStruct(src: SomeStruct) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.value, 257); - }; -} - -export function loadSomeStruct(slice: Slice) { - let sc_0 = slice; - let _value = sc_0.loadIntBig(257); - return { $$type: 'SomeStruct' as const, value: _value }; -} - -function loadTupleSomeStruct(source: TupleReader) { - let _value = source.readBigNumber(); - return { $$type: 'SomeStruct' as const, value: _value }; -} - -function storeTupleSomeStruct(source: SomeStruct) { - let builder = new TupleBuilder(); - builder.writeNumber(source.value); - return builder.build(); -} - -function dictValueParserSomeStruct(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSomeStruct(src)).endCell()); - }, - parse: (src) => { - return loadSomeStruct(src.loadRef().beginParse()); - } - } -} - - type MapTestContract_init_args = { - $$type: 'MapTestContract_init_args'; -} - -function initMapTestContract_init_args(src: MapTestContract_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function MapTestContract_init() { - const __code = Cell.fromBase64('te6ccgICAaMAAQAAVS8AAAEU/wD0pBP0vPLICwABAgFiAAIAAwLw0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8ETARMhEwES8RMREvES4RMBEuES0RLxEtESwRLhEsESsRLRErESoRLBEqESkRKxEpESgRKhEoEScRKREnESYRKBEmAZwABAIBIAAlACYB/BElEScRJREkESYRJBEjESURIxEiESQRIhEhESMRIREgESIRIBEfESERHxEeESARHhEdER8RHREcER4RHBEbER0RGxEaERwRGhEZERsRGREYERoRGBEXERkRFxEWERgRFhEVERcRFREUERYRFBETERURExESERQREhERERMREQAFAtYREBESERAPEREPDhEQDhDfVRzbPPLggsj4QwHMfwHKABExETARLxEuES0RLBErESoRKREoEScRJhElESQRIxEiESERIBEfER4RHREcERsRGhEZERgRFxEWERURFBETERIREREQVeDbPMntVAAGAAcC9u2i7fsBkjB/4HAh10nCH5UwINcLH94gwAAi10nBIbCSW3/gIIIQWgSjGLqOQjDTHwGCEFoEoxi68uCBgQEB1wDSAAGVgQEB1wCSbQHiWWwSgQEBIAQRNARDMCFulVtZ9FowmMgBzwBBM/RC4hEwf+AgghBhJc72uuMCIAAIAAkB9gERMAERMfQAAREuAfQAESzI9AABESsB9AABESkB9AARJ8j0AAERJgH0AAERJAH0ABEiyPQAAREhAfQAAREfAfQAER3I9AABERwB9AABERoB9AARGMj0AAERFwH0AAERFQH0ABETyPQAARESAfQAAREQAfQADsj0AB30AAAjAHww0x8BghBhJc72uvLggYEBAdcA0gABktIAkm0B4llsEgIRMQKBAQFZcSFulVtZ9FowmMgBzwBBM/RC4hEvfwTQghDXaJJJuo44MNMfAYIQ12iSSbry4IGBAQHXANIAAZHUkm0B4llsEgIRMAKBAQFZIG6VMFn0WjCUQTP0FeIRLn/gIIIQFtRTxbrjAiCCEKd5VT+64wIgghBLBgnKuuMCIIIQ1GIxB7oACgALAAwADQCuMNMfAYIQFtRTxbry4IGBAQHXANIAAZiBAQHXAAFvAZFt4hJsEoEBAQEgbpIwbY4QIG7y0IBvIcgBAYEBAc8AyeIDETADEiBulTBZ9FowlEEz9BXiES1/ALQw0x8BghCneVU/uvLggYEBAdcA+kAh1wsBwwCOHQEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIkjFt4hJsEgIRLgKBAQFZIG6VMFn0WjCUQTP0FOIRLH8BTDDTHwGCEEsGCcq68uCBgQEB1wDSAAGVgQEB1wCSbQHiWWwS2zx/AA4E2I6mMNMfAYIQ1GIxB7ry4IGBAQHXANIAAZWBAQHXAJJtAeJZbBLbPH/gIIIQceGs7rqOpjDTHwGCEHHhrO668uCBgQEB1wDSAAGVgQEB1wCSbQHiWWwS2zx/4CCCEGk+Ooe64wIgghBoTl5NugAQABEAEgATAfIRLXgiVi+BAQEhbpVbWfRaMJjIAc8AQTP0QuIRLIAQIlYvgQEBIW6VW1n0WjCYyAHPAEEz9ELiESuAICJWL4EBASFulVtZ9FowmMgBzwBBM/RC4hEqgEAiVi+BAQEhbpVbWfRaMJjIAc8AQTP0QuIRKYMGIlYvgQEBAA8A3CFulVtZ9FowmMgBzwBBM/RC4hEogwciVi+BAQEhbpVbWfRaMJjIAc8AQTP0QuKBAQEgBBEpBEMwAREvASFulVtZ9FowmMgBzwBBM/RC4hEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElAfIRJngiViiBAQEhbpVbWfRbMJjIAc8AQTP0Q+IRJYAQIlYogQEBIW6VW1n0WzCYyAHPAEEz9EPiESSAICJWKIEBASFulVtZ9FswmMgBzwBBM/RD4hEjgEAiViiBAQEhbpVbWfRbMJjIAc8AQTP0Q+IRIoMGIlYogQEBABQB8hEggQEBIlYieCFulVtZ9FowmMgBzwBBM/RC4hEfgQEBIlYigBAhbpVbWfRaMJjIAc8AQTP0QuIRHoEBASJWIoAgIW6VW1n0WjCYyAHPAEEz9ELiER2BAQEiViKAQCFulVtZ9FowmMgBzwBBM/RC4hEcgQEBIlYigwYAFQFMMNMfAYIQaT46h7ry4IGBAQHXANIAAZWBAQHXAJJtAeJZbBLbPH8AFgT+jl4w0x8BghBoTl5NuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABlYEBAdcAkm0B4llsEgIREwKBAQtZgQEBIW6VW1n0WTCYyAHPAEEz9EHiERF/4CCCECUz45C64wIgghD+5CcGuuMCIIIQZFxpebrjAgAYABkAGgAbAJQhbpVbWfRbMJjIAc8AQTP0Q+ICESECgwdZESeBAQEhbpVbWfRbMJjIAc8AQTP0Q+IRIxEkESMRIhEjESIRIREiESERIBEhESARHwDcIW6VW1n0WjCYyAHPAEEz9ELiERuBAQEiViKDByFulVtZ9FowmMgBzwBBM/RC4oEBASAEERwEQzABESIBIW6VW1n0WjCYyAHPAEEz9ELiER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgB8hEZgQEBIlYbeCFulVtZ9FowmMgBzwFBM/RC4hEYgQEBIlYbgBAhbpVbWfRaMJjIAc8BQTP0QuIRF4EBASJWG4AgIW6VW1n0WjCYyAHPAUEz9ELiERaBAQEiVhuAQCFulVtZ9FowmMgBzwFBM/RC4hEVgQEBIlYbgwYAFwCUIW6VW1n0WjCYyAHPAUEz9ELiAhEUAoEBAVkRGoMHIW6VW1n0WjCYyAHPAUEz9ELiERYRFxEWERURFhEVERQRFREUERMRFBETERIAsjDTHwGCECUz45C68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGS0gCSbQHiWWwSAhESAoEBC1lxIW6VW1n0WTCYyAHPAEEz9EHiERB/AKQw0x8BghD+5CcGuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABkdSSbQHiWWwSAhERAoEBC1kgbpUwWfRZMJRBM/QT4g9/AOIw0x8BghBkXGl5uvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABmIEBAdcAAW8BkW3iEmwSgQELASBukjBtjhAgbvLQgG8hyAEBgQEBzwDJ4gMREQMSIG6VMFn0WTCUQTP0E+IOfwTEIIIQZ8tNA7rjAiCCEGff/wK6jsEw0x8BghBn3/8CuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABlYEBAdcAkm0B4llsEts8f+AgghB6bpWPuuMCwAAAHAAdAB4AHwDsMNMfAYIQZ8tNA7ry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAIdcLAcMAjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiJIxbeISbBIQL4EBC1kgbpUwWfRZMJjIAc8WQTP0QeINfwHeDoEBC1MveCFulVtZ9FkwmMgBzwBBM/RB4g2BAQtTL4AQIW6VW1n0WTCYyAHPAEEz9EHiDIEBC1MvgCAhbpVbWfRZMJjIAc8AQTP0QeILgQELUy+AQCFulVtZ9FkwmMgBzwBBM/RB4gqBAQtTL4MGACABgjDTHwGCEHpulY+68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGVgQEB1wCSbQHiWWwS2zx/ACEAyI5e+QGC8Ertuptt/ny44PldEjDLCscLS7vmo+mRrnZ802NXPa8buo42PT09PT1XJ1cnVydXJ1cnbW1tbW1tESxtESxtESxtESxtESwJEREJCBEQCBB/EG4QXVVEf9sx4JEw4nAApiFulVtZ9FkwmMgBzwBBM/RB4gmBAQtTL4MHIW6VW1n0WTCYyAHPAEEz9EHiECiBAQtAD4EBASFulVtZ9FkwmMgBzwBBM/RB4hC8EKsQmhCJEHgGAd4HgQELUyh4IW6VW1n0WTCYyAHPAUEz9EHiBoEBC1MogBAhbpVbWfRZMJjIAc8BQTP0QeIFgQELUyiAICFulVtZ9FkwmMgBzwFBM/RB4gSBAQtTKIBAIW6VW1n0WTCYyAHPAUEz9EHiA4EBC1MogwYAIgBiIW6VW1n0WTCYyAHPAUEz9EHigQELQAiDByFulVtZ9FkwmMgBzwFBM/RB4hBFEDRBMAH+G/QACcj0ABj0ABb0AATI9AAT9AD0AAHI9AAT9AAT9AAEyPQAFfQAFvQABsj0ABj0ABj0AAnI9AAa9AAb9AALyPQAHfQAHfQADsj0AB/0AAEREAH0ABEQyPQAARERAfQAyVAPzMlQCszJUATMyVAIzMlQBczJUAvMyVAKzMkBzAAkADrJUAbMyVAFzMlYzMlQBMzJUAPMyVADzMlYzMkBzAIBIAAnACgCASAAMQAyAgEgACkAKgIBIAAtAC4CASAARABFAgEgACsALAIBIABZAFoCASAAbQBuAgEgAIMAhAIBIAAvADACAVgAowCkAgEgALAAsQIBIAAzADQCASABJgEnAgEgADUANgIBIAA3ADgCASAAwADBAgEgANUA1gIBIAA5ADoCASAAQgBDAgEgAPYA9wIBIAA7ADwCAVgAPQA+AiapL9s82zxXEF8PVxBfD1cQXw8xAZwAQQIlofNs82zxXEF8PVxBfD1cQXw8xgGcAD8CJaODbPNs8VxBfD1cQXw9XEF8PMYBnABAAARWEgACIwAEVhoCASABAwEEAgEgARcBGAIBIABGAEcCAVgASwBMAievQ+2ebZ4riC+Hq4gvh6uIL4eYwAGcAEgC9a2qEGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQAGcAEkABFYwAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxAASgFlACyBAQtWEgJxQTP0Cm+hlAHXADCSW23iAgEgAE0ATgIBIABTAFQC96VJtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnABPAvOmikGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGcAFEBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQBQAB6BAQFWMAJZ9A1voZIwbd8C/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEABSAWUAKoEBCycCeEEz9ApvoZQB1wEwkltt4gLzp8hBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnABVAvOnLkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGcAFcC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEABWAWUALIEBCyMCgwZBM/QKb6GUAdcBMJJbbeIC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEABYAWUALIEBCysCgEBBM/QKb6GUAdcAMJJbbeICJ69i7Z5tniuIL4eriC+Hq4gvh5jAAZwAWwIBIABcAF0ABFYuAgEgAF4AXwIBIABkAGUC96Z1tngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnABgAvemk7Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZwAYgHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAGEALoAgVisCgQEBQTP0DG+hlAHXADCSW23iAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAYwAugBBWJQKBAQFBM/QOb6GUAdcAMJJbbeICA5fQAGYAZwL3pze2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRCJCIkQiQiJAIkIiQCI+IkAiPiI8Ij4iPCI6IjwiOwGcAGsCI7u2ebZ4riC+Hq4gvh6uIL4eYwGcAGgC9d7Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AGcAGkAAi0BxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQBqAC6DB1YhAoEBAUEz9A5voZQB1wAwkltt4gHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAGwALoEBASBWKFAzQTP0DG+hlAHXADCSW23iAgFYAG8AcAIBIAB2AHcC96Y7tngiYCJkImAiXiJiIl4iXCJgIlwiWiJeIloiWCJcIlgiViJaIlYiVCJYIlQiUiJWIlIiUCJUIlAiTiJSIk4iTCJQIkwiSiJOIkoiSCJMIkgiRiJKIkYiRCJIIkQiQiJGIkIiQCJEIkAiPiJCIj4iPCJAIjwiOiI+IjsBnABxAiWlybZ5tniuIL4eriC+Hq4gvh5jAZwAdQHSERwRHhEcERsRHREbERoRHBEaERkRGxEZERgRGhEYERcRGREXERYRGBEWERURFxEVERQRFhEUERMRFRETERIRFBESERERExERERAREhEQDxERDw4REA4Q31Uc2zxXEF8PVxBfD1cQXw8xAHIB7G1tbW1tbW0GeFOYgQEBIW6VW1n0WjCYyAHPAEEz9ELiBYAQU5iBAQEhbpVbWfRaMJjIAc8AQTP0QuIEgCBTmIEBASFulVtZ9FowmMgBzwBBM/RC4gOAQFOYgQEBIW6VW1n0WjCYyAHPAEEz9ELiAoMGU5iBAQEAcwH+IW6VW1n0WjCYyAHPAEEz9ELiAYMHU5iBAQEhbpVbWfRaMJjIAc8AQTP0QuKBAQEgEDhUShNQqiFulVtZ9FowmMgBzwBBM/RC4gR4KIEBAUEz9AxvoZQB1wAwkltt4iBu8tCAA4AQKIEBAUEz9AxvoZQB1wAwkltt4iBu8tCAAgB0AeaAICiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgAGAQCiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgAWDBiiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgAaDByiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgIEBASAQNkGQAZsABFYvAgEgAHgAeQIBSAB+AH8C96VztngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnAB6AvellbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZwAfAHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAHsALoEBAVYWAoBAQTP0DG+hlAHXATCSW23iAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAfQAugQEBVhwCgwZBM/QMb6GUAdcAMJJbbeIC96GvbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHYBnACAAiWjE2zzbPFcQXw9XEF8PVxBfDzGAZwAggHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAIEALIEBAVYgAnhBM/QMb6GUAdcAMJJbbeIAAi4CASAAhQCGAgEgAI0AjgInrwHtnm2eK4gvh6uIL4eriC+HmMABnACHAgFYAIgAiQAEViwCJaZHtnm2eK4gvh6uIL4eriC+HmMBnACKAvOl6EGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGcAIsAAi8C/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEACMAWUAHoEBC1YRAln0C2+hkjBt3wIBIACPAJACASAAkgCTAiaqTts82zxXEF8PVxBfD1cQXw8xAZwBlgImqiLbPNs8VxBfD1cQXw9XEF8PMQGcAJEABFYtAgEgAJQAlQIBSACaAJsC86SIQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJFAZwAlgLzpG5BrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnACYAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxAAlwFlACyBAQskAoBAQTP0Cm+hlAHXATCSW23iAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxAAmQFlACyBAQsqAoMGQTP0Cm+hlAHXADCSW23iAvOiWINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEigGcAJwCAcsAngCfAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxAAnQFlACqBAQsuAnhBM/QKb6GUAdcAMJJbbeICI2ts82zxXEF8PVxBfD1cQXw8xgGcAKAC9dbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AGcAKEABFYQAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAogAsgQEBVjECcUEz9AxvoZQB1wAwkltt4gL4qjvbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHQGcAKUCASAApwCoAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEApgAugwdWKAKBAQFBM/QMb6GUAdcAMJJbbeICASAAqQCqAvel07Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZwArgL3omts8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdgGcAKsCJaGHbPNs8VxBfD1cQXw9XEF8PMYBnACtAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEArAAugBBWLAKBAQFBM/QMb6GUAdcAMJJbbeIABFYRAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEArwAugCBWJAKBAQFBM/QOb6GUAdcAMJJbbeIC+axe7Z4ImAiZCJgIl4iYiJeIlwiYCJcIloiXiJaIlgiXCJYIlYiWiJWIlQiWCJUIlIiViJSIlAiVCJQIk4iUiJOIkwiUCJMIkoiTiJKIkgiTCJIIkYiSiJGIkQiSCJEIkIiRiJCIkAiRCJAIj4iQiI+IjwiQCI8IjoiPiI7AAZwAsgIBIAC2ALcB0hEcER4RHBEbER0RGxEaERwRGhEZERsRGREYERoRGBEXERkRFxEWERgRFhEVERcRFREUERYRFBETERURExESERQREhERERMREREQERIREA8REQ8OERAOEN9VHNs8VxBfD1cQXw9XEF8PMQCzAeptbW1tbW0FeFOHgQEBIW6VW1n0WzCYyAHPAEEz9EPiBIAQU4eBAQEhbpVbWfRbMJjIAc8AQTP0Q+IDgCBTh4EBASFulVtZ9FswmMgBzwBBM/RD4gKAQFOHgQEBIW6VW1n0WzCYyAHPAEEz9EPiAYMGU4eBAQEAtAH8IW6VW1n0WzCYyAHPAEEz9EPiFYMHVCCIgQEBIW6VW1n0WzCYyAHPAEEz9EPiA3gngQEBQTP0Dm+hlAHXADCSW23iIG7y0IACgBAngQEBQTP0Dm+hlAHXADCSW23iIG7y0IABgCAngQEBQTP0Dm+hlAHXADCSW23iIG7y0IAEALUAtoBAJ4EBAUEz9A5voZQB1wAwkltt4iBu8tCABYMGJ4EBAUEz9A5voZQB1wAwkltt4iBu8tCAE4MHUAeBAQFBM/QOb6GUAdcAMJJbbeIgbvLQgAKgWKBYoFigAaAC+Ku42zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0BnAC4AgEgALoAuwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xALkALIEBAVYZAnhBM/QMb6GUAdcBMJJbbeIC96YztngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnAC8Avem1bZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZwAvgHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAL0ALoEBAVYVAoMGQTP0DG+hlAHXATCSW23iAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAvwAugQEBVh0CgEBBM/QMb6GUAdcAMJJbbeICASAAwgDDAgEgAMsAzAImqR7bPNs8VxBfD1cQXw9XEF8PMQGcAMQCAWoAxQDGAARWIAIlvN2zzbPFcQXw9XEF8PVxBfDzGAGcAMcC87tSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIoAZwAyAAEViYC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEADJAMoAQIEBC1YQAln0C2+hkjBt3yBukjBtmtCBAQHXAAExbwHiADJfDzEgbpIwbZkgbvLQgG8hbwHiIG6SMG3eAgFYAM0AzgIBSADRANICJaD7bPNs8VxBfD1cQXw9XEF8PMYBnADPAiWii2zzbPFcQXw9XEF8PVxBfDzGAZwA0AAEVhQAAiUCJaPHbPNs8VxBfD1cQXw9XEF8PMYBnADTAiWht2zzbPFcQXw9XEF8PVxBfDzGAZwA1AACKwAEVhgCASAA1wDYAgEgAOIA4wIBIADpAOoCASAA2QDaAgEgANsA3AIlpNm2ebZ4riC+Hq4gvh6uIL4eYwGcAOEC86Ncg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESKAZwA3QL3oRds8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdgGcAN8C/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEADeAWUALIEBCykCgwdBM/QKb6GUAdcAMJJbbeIBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQDgAB6BAQFWLgJZ9AxvoZIwbd8ABFYlAiaqH9s82zxXEF8PVxBfD1cQXw8xAZwA5AIBSADlAOYABFYTAiWjQ2zzbPFcQXw9XEF8PVxBfDzGAZwA5wIloTNs82zxXEF8PVxBfD1cQXw8xgGcAOgAAioABFYZAgEgAOsA7AIBIADwAPEC86AUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESKAZwA7QIloP9s82zxXEF8PVxBfD1cQXw8xgGcAO8C/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEADuAWUALIEBCyUCgCBBM/QKb6GUAdcBMJJbbeIABFYhAvOh2INdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEigGcAPIC96OTbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHYBnAD0AvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxAA8wFlACyBAQstAoAQQTP0Cm+hlAHXADCSW23iAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEA9QAugQEBIFYzUDNBM/QMb6GUAdcAMJJbbeIC+Kp62zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0BnAD4AgEgAPoA+wHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAPkALHhWLQKBAQFBM/QMb6GUAdcAMJJbbeIC96W3tngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnAD8AgFIAP4A/wHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAP0ALoMGVikCgQEBQTP0DG+hlAHXADCSW23iAiW4/bPNs8VxBfD1cQXw9XEF8PMYAZwBAAL3uo2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AGcAQEABFYoAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBAgAugEBWIwKBAQFBM/QOb6GUAdcAMJJbbeICASABBQEGAgEgAQ4BDwIBWAEHAQgC96fztngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnAEMAiW/3bPNs8VxBfD1cQXw9XEF8PMYAZwBCQL3uK2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AGcAQoABFYfAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBCwAugQEBIFYbUDNBM/QMb6GUAdcAMJJbbeIBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQENAC6BAQFWFAKDB0Ez9AxvoZQB1wEwkltt4gL3prG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRCJCIkQiQiJAIkIiQCI+IkAiPiI8Ij4iPCI6IjwiOwGcARACASABEgETAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBEQAugQEBVhgCgBBBM/QMb6GUAdcBMJJbbeICJaC7bPNs8VxBfD1cQXw9XEF8PMYBnAEUAvegr2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AZwBFQAEVicBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQEWAC6BAQFWHgKAIEEz9AxvoZQB1wAwkltt4gIDl9ABGQEaAgEgARwBHQIloO2ebZ4riC+Hq4gvh6uIL4eYwAGcARsAk6DBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOE7Lpy1Zp2W5nQdLNsozdFJAAAIkAgEgAR4BHwL3pLu2eCJgImQiYCJeImIiXiJcImAiXCJaIl4iWiJYIlwiWCJWIloiViJUIlgiVCJSIlYiUiJQIlQiUCJOIlIiTiJMIlAiTCJKIk4iSiJIIkwiSCJGIkoiRiJEIkgiRCJCIkYiQiJAIkQiQCI+IkIiPiI8IkAiPCI6Ij4iOwGcASICJaJLbPNs8VxBfD1cQXw9XEF8PMYBnAEgAiWgO2zzbPFcQXw9XEF8PVxBfDzGAZwBIQACLAAEVhsB0hEcER4RHBEbER0RGxEaERwRGhEZERsRGREYERoRGBEXERkRFxEWERgRFhEVERcRFREUERYRFBETERURExESERQREhERERMREREQERIREA8REQ8OERAOEN9VHNs8VxBfD1cQXw9XEF8PMQEjAextbW1tbW1tBoEBAVOYeCFulVtZ9FowmMgBzwBBM/RC4gWBAQFTmIAQIW6VW1n0WjCYyAHPAEEz9ELiBIEBAVOYgCAhbpVbWfRaMJjIAc8AQTP0QuIDgQEBU5iAQCFulVtZ9FowmMgBzwBBM/RC4gKBAQFTmIMGASQB/iFulVtZ9FowmMgBzwBBM/RC4gGBAQFTmIMHIW6VW1n0WjCYyAHPAEEz9ELigQEBIBA4VEoTUKohbpVbWfRaMJjIAc8AQTP0QuIEgQEBKHhBM/QMb6GUAdcAMJJbbeIgbvLQgAOBAQEogBBBM/QMb6GUAdcAMJJbbeIgbvLQgAIBJQHmgQEBKIAgQTP0DG+hlAHXADCSW23iIG7y0IABgQEBKIBAQTP0DG+hlAHXADCSW23iIG7y0IAFgQEBKIMGQTP0DG+hlAHXADCSW23iIG7y0IAGgQEBKIMHQTP0DG+hlAHXADCSW23iIG7y0ICBAQEgEDZBkAGbAgEgASgBKQIBIAE1ATYCASABKgErAgEgATMBNAIBIAFCAUMCASABLAEtAiarJts82zxXEF8PVxBfD1cQXw8xAZwBLgIBSAEvATAAAiECJaHXbPNs8VxBfD1cQXw9XEF8PMYBnAExAiWjp2zzbPFcQXw9XEF8PVxBfDzGAZwBMgACJwAEVhwCASABUAFRAgEgAWYBZwIBIAE3ATgCASABQAFBAgEgAXIBcwIBIAE5AToCJqr42zzbPFcQXw9XEF8PVxBfDzEBnAE7AgFIATwBPQAEVhYCJaDfbPNs8VxBfD1cQXw9XEF8PMYBnAE+AiWir2zzbPFcQXw9XEF8PVxBfDzGAZwBPwACKQAEVh4CASABfwGAAgEgAY8BkAIBIAFEAUUCASABSwFMAiWnNbZ5tniuIL4eriC+Hq4gvh5jAZwBRgIBIAFHAUgABFYkAA+i+7UTQ0gABgLzoFSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIoBnAFJAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxABSgFlAByBAQsvAln0Cm+hkjBt3wLzp2hBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnAFNAiWlk7Z5tniuIL4eriC+Hq4gvh5jAZwBTwL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAU4BZQAwgQELVhMCgQEBQTP0Cm+hlAHXADCSW23iAARWKgIBIAFSAVMCASABXAFdAgEgAVQBVQLzpghBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnAFaAvejl2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AZwBVgLzodyDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIoBnAFYAfIRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEgbpIwbZkgbvLQgG8hbwHiIG6SMG3eAVcAQIEBAVYvAln0DW+hkjBt3yBukjBtmtCBAQHXAAExbwHiAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxABWQFlAC6BAQsoAoEBAUEz9ApvoZQB1wAwkltt4gL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAVsBZQAsgQELIgKDB0Ez9ApvoZQB1wEwkltt4gLzp0pBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnAFeAgEgAWABYQL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAV8BZQAsgQELJgKAEEEz9ApvoZQB1wEwkltt4gIlo6Ns82zxXEF8PVxBfD1cQXw8xgGcAWIC86NYg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESKAZwBYwAEVikC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEAFkAWUALIEBCywCgCBBM/QKb6GUAdcAMJJbbeIABl8PMQIBIAFoAWkCAUgBbgFvAHOndxoatLgzOZ0Xl6i2sJmwrLE4GSogtzusKCUrmKuzuyIzmjE4m5oqJiQapzC2uiW5GSE3srs0ILdBAgEgAWoBawIlom9s82zxXEF8PVxBfD1cQXw8xgGcAWwCJaAfbPNs8VxBfD1cQXw9XEF8PMYBnAFtAARWFwACIgIloVNs82zxXEF8PVxBfD1cQXw8xgGcAXACJaMjbPNs8VxBfD1cQXw9XEF8PMYBnAFxAAImAARWHQIBIAF0AXUC+Kmp2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0BnAF9AgFYAXYBdwL3phG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRCJCIkQiQiJAIkIiQCI+IkAiPiI8Ij4iPCI6IjwiOwGcAXsC97+9s8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdgBnAF4AiW9jbPNs8VxBfD1cQXw9XEF8PMYAZwBegHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAXkALoBAVioCgQEBQTP0DG+hlAHXADCSW23iAARWIgHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAXwALoMGViICgQEBQTP0Dm+hlAHXADCSW23iAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBfgAseFYmAoEBAUEz9A5voZQB1wAwkltt4gIBIAGBAYICASABigGLAgEgAYMBhAL3pRe2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRCJCIkQiQiJAIkIiQCI+IkAiPiI8Ij4iPCI6IjwiOwGcAYgC96PjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHYBnAGFAiWj52zzbPFcQXw9XEF8PVxBfDzGAZwBhwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAYYALoEBAVYXAoAgQTP0DG+hlAHXATCSW23iAARWIwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAYkALoEBAVYfAoAQQTP0DG+hlAHXADCSW23iAvekVbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZwBjAIlpVW2ebZ4riC+Hq4gvh6uIL4eYwGcAY4BxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQGNAC6BAQFWGwKDB0Ez9AxvoZQB1wAwkltt4gAEVisCAVgBkQGSAiaoFts82zxXEF8PVxBfD1cQXw8xAZwBnQIlo2ds82zxXEF8PVxBfD1cQXw8xgGcAZMCASABlAGVAARWFQIlvF2zzbPFcQXw9XEF8PVxBfDzGAGcAZYC97/ds8ETARMhEwES8RMREvES4RMBEuES0RLxEtESwRLhEsESsRLRErESoRLBEqESkRKxEpESgRKhEoEScRKREnESYRKBEmESURJxElESQRJhEkESMRJREjESIRJBEiESERIxEhESARIhEgER8RIREfER4RIBEeER0RHxEdgBnAGXAAIgAdIRHBEeERwRGxEdERsRGhEcERoRGREbERkRGBEaERgRFxEZERcRFhEYERYRFREXERURFBEWERQRExEVERMREhEUERIRERETEREREBESERAPEREPDhEQDhDfVRzbPFcQXw9XEF8PVxBfDzEBmAHsbW1tbW1tbQaBAQFTmHghbpVbWfRaMJjIAc8BQTP0QuIFgQEBU5iAECFulVtZ9FowmMgBzwFBM/RC4gSBAQFTmIAgIW6VW1n0WjCYyAHPAUEz9ELiA4EBAVOYgEAhbpVbWfRaMJjIAc8BQTP0QuICgQEBU5iDBgGZAf4hbpVbWfRaMJjIAc8BQTP0QuIBgQEBU5iDByFulVtZ9FowmMgBzwFBM/RC4oEBASAQOFRKE1CqIW6VW1n0WjCYyAHPAEEz9ELiBIEBASh4QTP0DG+hlAHXATCSW23iIG7y0IADgQEBKIAQQTP0DG+hlAHXATCSW23iIG7y0IACAZoB5oEBASiAIEEz9AxvoZQB1wEwkltt4iBu8tCAAYEBASiAQEEz9AxvoZQB1wEwkltt4iBu8tCABYEBASiDBkEz9AxvoZQB1wEwkltt4iBu8tCABoEBASiDB0Ez9AxvoZQB1wEwkltt4iBu8tCAgQEBIBA2QZABmwBAQTP0DG+hlAHXADCSW23iIG7y0IBZoFigWKBYoFigAaACNO1E0NQB+GPSAAHjAjD4KNcLCoMJuvLgids8AZ4BnwACKAL42zxXMREvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHAGgAaEAYm1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW0B9vQE9ATUAdD0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMND0BPQE9ATUMAGiAJwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ4ASND0BPQE9ATUMND0BPQE9ATUMND0BPQEMBEvETERLxEvETARLw=='); - const __system = Cell.fromBase64('te6cckICAaUAAQAAVTsAAAEBwAABAQWgxIMAAgEU/wD0pBP0vPLICwADAgFiAX0ABAIBIADzAAUCASAAewAGAgEgAD4ABwIBIAAnAAgCASAAFgAJAgEgAAwACgImqBbbPNs8VxBfD1cQXw9XEF8PMQGfAAsAAigCAVgAFAANAgEgABMADgL3v92zwRMBEyETARLxExES8RLhEwES4RLREvES0RLBEuESwRKxEtESsRKhEsESoRKRErESkRKBEqESgRJxEpEScRJhEoESYRJREnESURJBEmESQRIxElESMRIhEkESIRIREjESERIBEiESARHxEhER8RHhEgER4RHREfER2AGfAA8B0hEcER4RHBEbER0RGxEaERwRGhEZERsRGREYERoRGBEXERkRFxEWERgRFhEVERcRFREUERYRFBETERURExESERQREhERERMREREQERIREA8REQ8OERAOEN9VHNs8VxBfD1cQXw9XEF8PMQAQAextbW1tbW1tBoEBAVOYeCFulVtZ9FowmMgBzwFBM/RC4gWBAQFTmIAQIW6VW1n0WjCYyAHPAUEz9ELiBIEBAVOYgCAhbpVbWfRaMJjIAc8BQTP0QuIDgQEBU5iAQCFulVtZ9FowmMgBzwFBM/RC4gKBAQFTmIMGABEB/iFulVtZ9FowmMgBzwFBM/RC4gGBAQFTmIMHIW6VW1n0WjCYyAHPAUEz9ELigQEBIBA4VEoTUKohbpVbWfRaMJjIAc8AQTP0QuIEgQEBKHhBM/QMb6GUAdcBMJJbbeIgbvLQgAOBAQEogBBBM/QMb6GUAdcBMJJbbeIgbvLQgAIAEgHmgQEBKIAgQTP0DG+hlAHXATCSW23iIG7y0IABgQEBKIBAQTP0DG+hlAHXATCSW23iIG7y0IAFgQEBKIMGQTP0DG+hlAHXATCSW23iIG7y0IAGgQEBKIMHQTP0DG+hlAHXATCSW23iIG7y0ICBAQEgEDZBkAFQAiW8XbPNs8VxBfD1cQXw9XEF8PMYAZ8BLQIlo2ds82zxXEF8PVxBfD1cQXw8xgGfABUABFYVAgEgAB0AFwIBIAAaABgCJaVVtnm2eK4gvh6uIL4eriC+HmMBnwAZAARWKwL3pFW2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRCJCIkQiQiJAIkIiQCI+IkAiPiI8Ij4iPCI6IjwiOwGfABsBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQAcAC6BAQFWGwKDB0Ez9AxvoZQB1wAwkltt4gIBIAAhAB4C96UXtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnwAfAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAIAAugQEBVh8CgBBBM/QMb6GUAdcAMJJbbeICASAAJAAiAiWj52zzbPFcQXw9XEF8PVxBfDzGAZ8AIwAEViMC96PjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHYBnwAlAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAJgAugQEBVhcCgCBBM/QMb6GUAdcBMJJbbeICASAAMAAoAgEgAC4AKQIBSAAsACoCJaKvbPNs8VxBfD1cQXw9XEF8PMYBnwArAARWHgIloN9s82zxXEF8PVxBfD1cQXw8xgGfAC0AAikCJqr42zzbPFcQXw9XEF8PVxBfDzEBnwAvAARWFgIBIAA0ADEC+Kmp2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0BnwAyAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAMwAseFYmAoEBAUEz9A5voZQB1wAwkltt4gIBIAA4ADUC96YRtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnwA2AcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEANwAugwZWIgKBAQFBM/QOb6GUAdcAMJJbbeICAVgAOwA5AiW9jbPNs8VxBfD1cQXw9XEF8PMYAZ8AOgAEViIC97+9s8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdgBnwA8AcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAPQAugEBWKgKBAQFBM/QMb6GUAdcAMJJbbeICASAAYwA/AgEgAE0AQAIBIABGAEECAUgARABCAiWjI2zzbPFcQXw9XEF8PVxBfDzGAZ8AQwAEVh0CJaFTbPNs8VxBfD1cQXw9XEF8PMYBnwBFAAImAgEgAEwARwIBIABKAEgCJaAfbPNs8VxBfD1cQXw9XEF8PMYBnwBJAAIiAiWib2zzbPFcQXw9XEF8PVxBfDzGAZ8ASwAEVhcAc6d3Ghq0uDM5nReXqLawmbCssTgZKiC3O6woJSuYq7O7IjOaMTibmiomJBqnMLa6JbkZITeyuzQgt0ECASAAWABOAgEgAFUATwIBIABTAFAC86NYg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESKAZ8AUQL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAFIBeQAsgQELLAKAIEEz9ApvoZQB1wAwkltt4gIlo6Ns82zxXEF8PVxBfD1cQXw8xgGfAFQABFYpAvOnSkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGfAFYC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEABXAXkALIEBCyYCgBBBM/QKb6GUAdcBMJJbbeICASAAXABZAvOmCEGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGfAFoC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEABbAXkALIEBCyICgwdBM/QKb6GUAdcBMJJbbeICASAAYABdAvOh3INdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEigGfAF4C/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEABfAXkALoEBCygCgQEBQTP0Cm+hlAHXADCSW23iAvejl2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AZ8AYQHyERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xIG6SMG2ZIG7y0IBvIW8B4iBukjBt3gBiAECBAQFWLwJZ9A1voZIwbd8gbpIwbZrQgQEB1wABMW8B4gIBIABsAGQCASAAagBlAgFIAGgAZgIlo6ds82zxXEF8PVxBfD1cQXw8xgGfAGcABFYcAiWh12zzbPFcQXw9XEF8PVxBfDzGAZ8AaQACJwImqybbPNs8VxBfD1cQXw9XEF8PMQGfAGsAAiECASAAcwBtAgEgAHAAbgIlpZO2ebZ4riC+Hq4gvh6uIL4eYwGfAG8ABFYqAvOnaEGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGfAHEC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEAByAXkAMIEBC1YTAoEBAUEz9ApvoZQB1wAwkltt4gIBIAB5AHQCASAAeAB1AvOgVINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEigGfAHYC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEAB3AXkAHIEBCy8CWfQKb6GSMG3fAA+i+7UTQ0gABgIlpzW2ebZ4riC+Hq4gvh6uIL4eYwGfAHoABFYkAgEgALoAfAIBIACjAH0CASAAjgB+AgEgAIoAfwIBIACFAIAC96S7tngiYCJkImAiXiJiIl4iXCJgIlwiWiJeIloiWCJcIlgiViJaIlYiVCJYIlQiUiJWIlIiUCJUIlAiTiJSIk4iTCJQIkwiSiJOIkoiSCJMIkgiRiJKIkYiRCJIIkQiQiJGIkIiQCJEIkAiPiJCIj4iPCJAIjwiOiI+IjsBnwCBAdIRHBEeERwRGxEdERsRGhEcERoRGREbERkRGBEaERgRFxEZERcRFhEYERYRFREXERURFBEWERQRExEVERMREhEUERIRERETEREREBESERAPEREPDhEQDhDfVRzbPFcQXw9XEF8PVxBfDzEAggHsbW1tbW1tbQaBAQFTmHghbpVbWfRaMJjIAc8AQTP0QuIFgQEBU5iAECFulVtZ9FowmMgBzwBBM/RC4gSBAQFTmIAgIW6VW1n0WjCYyAHPAEEz9ELiA4EBAVOYgEAhbpVbWfRaMJjIAc8AQTP0QuICgQEBU5iDBgCDAf4hbpVbWfRaMJjIAc8AQTP0QuIBgQEBU5iDByFulVtZ9FowmMgBzwBBM/RC4oEBASAQOFRKE1CqIW6VW1n0WjCYyAHPAEEz9ELiBIEBASh4QTP0DG+hlAHXADCSW23iIG7y0IADgQEBKIAQQTP0DG+hlAHXADCSW23iIG7y0IACAIQB5oEBASiAIEEz9AxvoZQB1wAwkltt4iBu8tCAAYEBASiAQEEz9AxvoZQB1wAwkltt4iBu8tCABYEBASiDBkEz9AxvoZQB1wAwkltt4iBu8tCABoEBASiDB0Ez9AxvoZQB1wAwkltt4iBu8tCAgQEBIBA2QZABUAIBIACIAIYCJaA7bPNs8VxBfD1cQXw9XEF8PMYBnwCHAARWGwIlokts82zxXEF8PVxBfD1cQXw8xgGfAIkAAiwCA5fQAIwAiwCToME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4TsunLVmnZbmdB0s2yjN0UkACJaDtnm2eK4gvh6uIL4eriC+HmMABnwCNAAIkAgEgAJkAjwIBIACWAJACASAAlACRAvegr2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AZ8AkgHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAJMALoEBAVYeAoAgQTP0DG+hlAHXADCSW23iAiWgu2zzbPFcQXw9XEF8PVxBfDzGAZ8AlQAEVicC96axtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnwCXAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAmAAugQEBVhgCgBBBM/QMb6GUAdcBMJJbbeICASAAnQCaAven87Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8AmwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAJwALoEBAVYUAoMHQTP0DG+hlAHXATCSW23iAgFYAKEAngL3uK2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AGfAJ8BxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQCgAC6BAQEgVhtQM0Ez9AxvoZQB1wAwkltt4gIlv92zzbPFcQXw9XEF8PVxBfDzGAGfAKIABFYfAgEgAKwApAIBIACnAKUCJqkv2zzbPFcQXw9XEF8PVxBfDzEBnwCmAARWGgIBWACqAKgCJaODbPNs8VxBfD1cQXw9XEF8PMYBnwCpAAIjAiWh82zzbPFcQXw9XEF8PVxBfDzGAZ8AqwAEVhICASAAtwCtAgEgALQArgIBSACyAK8C97qNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdgBnwCwAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAsQAugEBWIwKBAQFBM/QOb6GUAdcAMJJbbeICJbj9s82zxXEF8PVxBfD1cQXw8xgBnwCzAARWKAL3pbe2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRCJCIkQiQiJAIkIiQCI+IkAiPiI8Ij4iPCI6IjwiOwGfALUBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQC2AC6DBlYpAoEBAUEz9AxvoZQB1wAwkltt4gL4qnrbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHQGfALgBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQC5ACx4Vi0CgQEBQTP0DG+hlAHXADCSW23iAgEgAN0AuwIBIADEALwCASAAwgC9AgFIAMAAvgIloTNs82zxXEF8PVxBfD1cQXw8xgGfAL8ABFYZAiWjQ2zzbPFcQXw9XEF8PVxBfDzGAZ8AwQACKgImqh/bPNs8VxBfD1cQXw9XEF8PMQGfAMMABFYTAgEgAM8AxQIBIADIAMYCJaTZtnm2eK4gvh6uIL4eriC+HmMBnwDHAARWJQIBIADMAMkC96EXbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHYBnwDKAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEAywAegQEBVi4CWfQMb6GSMG3fAvOjXINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEigGfAM0C/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEADOAXkALIEBCykCgwdBM/QKb6GUAdcAMJJbbeICASAA1wDQAgEgANQA0QL3o5Ns8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdgGfANIBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQDTAC6BAQEgVjNQM0Ez9AxvoZQB1wAwkltt4gLzodiDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIoBnwDVAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxAA1gF5ACyBAQstAoAQQTP0Cm+hlAHXADCSW23iAgEgANoA2AIloP9s82zxXEF8PVxBfD1cQXw8xgGfANkABFYhAvOgFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEigGfANsC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEADcAXkALIEBCyUCgCBBM/QKb6GUAdcBMJJbbeICASAA6QDeAgEgAOQA3wIBSADiAOACJaG3bPNs8VxBfD1cQXw9XEF8PMYBnwDhAARWGAIlo8ds82zxXEF8PVxBfD1cQXw8xgGfAOMAAisCAVgA5wDlAiWii2zzbPFcQXw9XEF8PVxBfDzGAZ8A5gACJQIloPts82zxXEF8PVxBfD1cQXw8xgGfAOgABFYUAgEgAPEA6gIBagDvAOsC87tSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIoAZ8A7AL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAO4A7QAyXw8xIG6SMG2ZIG7y0IBvIW8B4iBukjBt3gBAgQELVhACWfQLb6GSMG3fIG6SMG2a0IEBAdcAATFvAeICJbzds82zxXEF8PVxBfD1cQXw8xgBnwDwAARWJgImqR7bPNs8VxBfD1cQXw9XEF8PMQGfAPIABFYgAgEgATcA9AIBIAEVAPUCASABBwD2AgEgAQIA9wIBIAD/APgCASAA/AD5Avem1bZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8A+gHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAPsALoEBAVYdAoBAQTP0DG+hlAHXADCSW23iAvemM7Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8A/QHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAP4ALoEBAVYVAoMGQTP0DG+hlAHXATCSW23iAviruNs8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdAZ8BAAHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAQEALIEBAVYZAnhBM/QMb6GUAdcBMJJbbeIC+axe7Z4ImAiZCJgIl4iYiJeIlwiYCJcIloiXiJaIlgiXCJYIlYiWiJWIlQiWCJUIlIiViJSIlAiVCJQIk4iUiJOIkwiUCJMIkoiTiJKIkgiTCJIIkYiSiJGIkQiSCJEIkIiRiJCIkAiRCJAIj4iQiI+IjwiQCI8IjoiPiI7AAZ8BAwHSERwRHhEcERsRHREbERoRHBEaERkRGxEZERgRGhEYERcRGREXERYRGBEWERURFxEVERQRFhEUERMRFRETERIRFBESERERExERERAREhEQDxERDw4REA4Q31Uc2zxXEF8PVxBfD1cQXw8xAQQB6m1tbW1tbQV4U4eBAQEhbpVbWfRbMJjIAc8AQTP0Q+IEgBBTh4EBASFulVtZ9FswmMgBzwBBM/RD4gOAIFOHgQEBIW6VW1n0WzCYyAHPAEEz9EPiAoBAU4eBAQEhbpVbWfRbMJjIAc8AQTP0Q+IBgwZTh4EBAQEFAfwhbpVbWfRbMJjIAc8AQTP0Q+IVgwdUIIiBAQEhbpVbWfRbMJjIAc8AQTP0Q+IDeCeBAQFBM/QOb6GUAdcAMJJbbeIgbvLQgAKAECeBAQFBM/QOb6GUAdcAMJJbbeIgbvLQgAGAICeBAQFBM/QOb6GUAdcAMJJbbeIgbvLQgAQBBgC2gEAngQEBQTP0Dm+hlAHXADCSW23iIG7y0IAFgwYngQEBQTP0Dm+hlAHXADCSW23iIG7y0IATgwdQB4EBAUEz9A5voZQB1wAwkltt4iBu8tCAAqBYoFigWKABoAIBWAESAQgCASABDAEJAvel07Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8BCgHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAQsALoAgViQCgQEBQTP0Dm+hlAHXADCSW23iAgEgAQ8BDQIloYds82zxXEF8PVxBfD1cQXw8xgGfAQ4ABFYRAveia2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AZ8BEAHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAREALoAQViwCgQEBQTP0DG+hlAHXADCSW23iAviqO9s8ETARMREwES8RMBEvES4RLxEuES0RLhEtESwRLREsESsRLBErESoRKxEqESkRKhEpESgRKREoEScRKBEnESYRJxEmESURJhElESQRJREkESMRJBEjESIRIxEiESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdAZ8BEwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xARQALoMHVigCgQEBQTP0DG+hlAHXADCSW23iAgEgAS4BFgIBIAEpARcCASABIgEYAgFIAR8BGQIBywEdARoC9dbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AGfARsBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQEcACyBAQFWMQJxQTP0DG+hlAHXADCSW23iAiNrbPNs8VxBfD1cQXw9XEF8PMYBnwEeAARWEALzoliDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPBEwETERMBEvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIoBnwEgAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxABIQF5ACqBAQsuAnhBM/QKb6GUAdcAMJJbbeICASABJgEjAvOkbkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eCJgImIiYCJeImAiXiJcIl4iXCJaIlwiWiJYIloiWCJWIlgiViJUIlYiVCJSIlQiUiJQIlIiUCJOIlAiTiJMIk4iTCJKIkwiSiJIIkoiSCJGIkgiRiJEIkYiRQGfASQC/BEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEAElAXkALIEBCyoCgwZBM/QKb6GUAdcAMJJbbeIC86SIQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJFAZ8BJwL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQASgBeQAsgQELJAKAQEEz9ApvoZQB1wEwkltt4gIBIAEsASoCJqoi2zzbPFcQXw9XEF8PVxBfDzEBnwErAARWLQImqk7bPNs8VxBfD1cQXw9XEF8PMQGfAS0AAiACASABNQEvAgFYATMBMALzpehBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnwExAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxABMgF5AB6BAQtWEQJZ9AtvoZIwbd8CJaZHtnm2eK4gvh6uIL4eriC+HmMBnwE0AAIvAievAe2ebZ4riC+Hq4gvh6uIL4eYwAGfATYABFYsAgEgAWYBOAIBIAFRATkCASABSAE6AgEgAUEBOwIBSAE+ATwCJaMTbPNs8VxBfD1cQXw9XEF8PMYBnwE9AAIuAvehr2zwRMBExETARLxEwES8RLhEvES4RLREuES0RLBEtESwRKxEsESsRKhErESoRKREqESkRKBEpESgRJxEoEScRJhEnESYRJREmESURJBElESQRIxEkESMRIhEjESIRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER2AZ8BPwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAUAALIEBAVYgAnhBM/QMb6GUAdcAMJJbbeICASABRQFCAvellbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8BQwHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAUQALoEBAVYcAoMGQTP0DG+hlAHXADCSW23iAvelc7Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8BRgHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAUcALoEBAVYWAoBAQTP0DG+hlAHXATCSW23iAgFYAUsBSQIlpcm2ebZ4riC+Hq4gvh6uIL4eYwGfAUoABFYvAvemO7Z4ImAiZCJgIl4iYiJeIlwiYCJcIloiXiJaIlgiXCJYIlYiWiJWIlQiWCJUIlIiViJSIlAiVCJQIk4iUiJOIkwiUCJMIkoiTiJKIkgiTCJIIkYiSiJGIkQiSCJEIkIiRiJCIkAiRCJAIj4iQiI+IjwiQCI8IjoiPiI7AZ8BTAHSERwRHhEcERsRHREbERoRHBEaERkRGxEZERgRGhEYERcRGREXERYRGBEWERURFxEVERQRFhEUERMRFRETERIRFBESERERExERERAREhEQDxERDw4REA4Q31Uc2zxXEF8PVxBfD1cQXw8xAU0B7G1tbW1tbW0GeFOYgQEBIW6VW1n0WjCYyAHPAEEz9ELiBYAQU5iBAQEhbpVbWfRaMJjIAc8AQTP0QuIEgCBTmIEBASFulVtZ9FowmMgBzwBBM/RC4gOAQFOYgQEBIW6VW1n0WjCYyAHPAEEz9ELiAoMGU5iBAQEBTgH+IW6VW1n0WjCYyAHPAEEz9ELiAYMHU5iBAQEhbpVbWfRaMJjIAc8AQTP0QuKBAQEgEDhUShNQqiFulVtZ9FowmMgBzwBBM/RC4gR4KIEBAUEz9AxvoZQB1wAwkltt4iBu8tCAA4AQKIEBAUEz9AxvoZQB1wAwkltt4iBu8tCAAgFPAeaAICiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgAGAQCiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgAWDBiiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgAaDByiBAQFBM/QMb6GUAdcAMJJbbeIgbvLQgIEBASAQNkGQAVAAQEEz9AxvoZQB1wAwkltt4iBu8tCAWaBYoFigWKBYoAGgAgEgAWQBUgIBIAFdAVMCASABVwFUAvenN7Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AZ8BVQHGERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQXw8xAVYALoEBASBWKFAzQTP0DG+hlAHXADCSW23iAgOX0AFbAVgC9d7Z4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJEIkIiRCJCIkAiQiJAIj4iQCI+IjwiPiI8IjoiPCI7AGfAVkBxhEcER0RHBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDts8VxBfD1cQXw9XEF8PMQFaAC6DB1YhAoEBAUEz9A5voZQB1wAwkltt4gIju7Z5tniuIL4eriC+Hq4gvh5jAZ8BXAACLQIBIAFhAV4C96aTtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnwFfAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBYAAugBBWJQKBAQFBM/QOb6GUAdcAMJJbbeIC96Z1tngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnwFiAcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBYwAugCBWKwKBAQFBM/QMb6GUAdcAMJJbbeICJ69i7Z5tniuIL4eriC+Hq4gvh5jAAZ8BZQAEVi4CASABdgFnAgFYAW8BaAIBIAFsAWkC86cuQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJFAZ8BagL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAWsBeQAsgQELKwKAQEEz9ApvoZQB1wAwkltt4gLzp8hBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnwFtAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxABbgF5ACyBAQsjAoMGQTP0Cm+hlAHXATCSW23iAgEgAXMBcALzpopBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkUBnwFxAvwRIREiESERIBEhESARHxEgER8RHhEfER4RHREeER0RHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxABcgF5ACqBAQsnAnhBM/QKb6GUAdcBMJJbbeIC96VJtngiYCJiImAiXiJgIl4iXCJeIlwiWiJcIloiWCJaIlgiViJYIlYiVCJWIlQiUiJUIlIiUCJSIlAiTiJQIk4iTCJOIkwiSiJMIkoiSCJKIkgiRiJIIkYiRCJGIkQiQiJEIkIiQCJCIkAiPiJAIj4iPCI+IjwiOiI8IjsBnwF0AcYRHBEdERwRGxEcERsRGhEbERoRGREaERkRGBEZERgRFxEYERcRFhEXERYRFREWERURFBEVERQRExEUERMREhETERIRERESEREREBERERAPERAPVQ7bPFcQXw9XEF8PVxBfDzEBdQAegQEBVjACWfQNb6GSMG3fAgEgAXsBdwL1raoQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEbZ4ImAiYiJgIl4iYCJeIlwiXiJcIloiXCJaIlgiWiJYIlYiWCJWIlQiViJUIlIiVCJSIlAiUiJQIk4iUCJOIkwiTiJMIkoiTCJKIkgiSiJIIkYiSCJGIkQiRiJFAAZ8BeAL8ESERIhEhESARIREgER8RIBEfER4RHxEeER0RHhEdERwRHREcERsRHBEbERoRGxEaERkRGhEZERgRGREYERcRGBEXERYRFxEWERURFhEVERQRFREUERMRFBETERIRExESEREREhERERAREREQDxEQD1UO2zxXEF8PVxBfD1cQAXoBeQAGXw8xACyBAQtWEgJxQTP0Cm+hlAHXADCSW23iAievQ+2ebZ4riC+Hq4gvh6uIL4eYwAGfAXwABFYwAvDQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zwRMBEyETARLxExES8RLhEwES4RLREvES0RLBEuESwRKxEtESsRKhEsESoRKRErESkRKBEqESgRJxEpEScRJhEoESYBnwF+AfwRJREnESURJBEmESQRIxElESMRIhEkESIRIREjESERIBEiESARHxEhER8RHhEgER4RHREfER0RHBEeERwRGxEdERsRGhEcERoRGREbERkRGBEaERgRFxEZERcRFhEYERYRFREXERURFBEWERQRExEVERMREhEUERIRERETEREBfwLWERAREhEQDxERDw4REA4Q31Uc2zzy4ILI+EMBzH8BygARMREwES8RLhEtESwRKxEqESkRKBEnESYRJREkESMRIhEhESARHxEeER0RHBEbERoRGREYERcRFhEVERQRExESEREREFXg2zzJ7VQBgwGAAfYBETABETH0AAERLgH0ABEsyPQAARErAfQAAREpAfQAESfI9AABESYB9AABESQB9AARIsj0AAERIQH0AAERHwH0ABEdyPQAAREcAfQAAREaAfQAERjI9AABERcB9AABERUB9AARE8j0AAEREgH0AAEREAH0AA7I9AAd9AABgQH+G/QACcj0ABj0ABb0AATI9AAT9AD0AAHI9AAT9AAT9AAEyPQAFfQAFvQABsj0ABj0ABj0AAnI9AAa9AAb9AALyPQAHfQAHfQADsj0AB/0AAEREAH0ABEQyPQAARERAfQAyVAPzMlQCszJUATMyVAIzMlQBczJUAvMyVAKzMkBzAGCADrJUAbMyVAFzMlYzMlQBMzJUAPMyVADzMlYzMkBzAL27aLt+wGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+AgghBaBKMYuo5CMNMfAYIQWgSjGLry4IGBAQHXANIAAZWBAQHXAJJtAeJZbBKBAQEgBBE0BEMwIW6VW1n0WjCYyAHPAEEz9ELiETB/4CCCEGElzva64wIgAZ4BhATQghDXaJJJuo44MNMfAYIQ12iSSbry4IGBAQHXANIAAZHUkm0B4llsEgIRMAKBAQFZIG6VMFn0WjCUQTP0FeIRLn/gIIIQFtRTxbrjAiCCEKd5VT+64wIgghBLBgnKuuMCIIIQ1GIxB7oBnQGcAZkBhQTYjqYw0x8BghDUYjEHuvLggYEBAdcA0gABlYEBAdcAkm0B4llsEts8f+AgghBx4azuuo6mMNMfAYIQceGs7rry4IGBAQHXANIAAZWBAQHXAJJtAeJZbBLbPH/gIIIQaT46h7rjAiCCEGhOXk26AZcBlQGSAYYE/o5eMNMfAYIQaE5eTbry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAAZWBAQHXAJJtAeJZbBICERMCgQELWYEBASFulVtZ9FkwmMgBzwBBM/RB4hERf+AgghAlM+OQuuMCIIIQ/uQnBrrjAiCCEGRcaXm64wIBkQGQAY8BhwTEIIIQZ8tNA7rjAiCCEGff/wK6jsEw0x8BghBn3/8CuvLggfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0gABlYEBAdcAkm0B4llsEts8f+AgghB6bpWPuuMCwAABjgGMAYkBiADIjl75AYLwSu26m23+fLjg+V0SMMsKxwtLu+aj6ZGudnzTY1c9rxu6jjY9PT09PVcnVydXJ1cnVydtbW1tbW0RLG0RLG0RLG0RLG0RLAkREQkIERAIEH8QbhBdVUR/2zHgkTDicAGCMNMfAYIQem6Vj7ry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAAZWBAQHXAJJtAeJZbBLbPH8BigHeB4EBC1MoeCFulVtZ9FkwmMgBzwFBM/RB4gaBAQtTKIAQIW6VW1n0WTCYyAHPAUEz9EHiBYEBC1MogCAhbpVbWfRZMJjIAc8BQTP0QeIEgQELUyiAQCFulVtZ9FkwmMgBzwFBM/RB4gOBAQtTKIMGAYsAYiFulVtZ9FkwmMgBzwFBM/RB4oEBC0AIgwchbpVbWfRZMJjIAc8BQTP0QeIQRRA0QTAB3g6BAQtTL3ghbpVbWfRZMJjIAc8AQTP0QeINgQELUy+AECFulVtZ9FkwmMgBzwBBM/RB4gyBAQtTL4AgIW6VW1n0WTCYyAHPAEEz9EHiC4EBC1MvgEAhbpVbWfRZMJjIAc8AQTP0QeIKgQELUy+DBgGNAKYhbpVbWfRZMJjIAc8AQTP0QeIJgQELUy+DByFulVtZ9FkwmMgBzwBBM/RB4hAogQELQA+BAQEhbpVbWfRZMJjIAc8AQTP0QeIQvBCrEJoQiRB4BgDsMNMfAYIQZ8tNA7ry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAfpAIdcLAcMAjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiJIxbeISbBIQL4EBC1kgbpUwWfRZMJjIAc8WQTP0QeINfwDiMNMfAYIQZFxpebry4IH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAdIAAZiBAQHXAAFvAZFt4hJsEoEBCwEgbpIwbY4QIG7y0IBvIcgBAYEBAc8AyeIDEREDEiBulTBZ9FkwlEEz9BPiDn8ApDDTHwGCEP7kJwa68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGR1JJtAeJZbBICERECgQELWSBulTBZ9FkwlEEz9BPiD38AsjDTHwGCECUz45C68uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAHSAAGS0gCSbQHiWWwSAhESAoEBC1lxIW6VW1n0WTCYyAHPAEEz9EHiERB/AUww0x8BghBpPjqHuvLggYEBAdcA0gABlYEBAdcAkm0B4llsEts8fwGTAfIRGYEBASJWG3ghbpVbWfRaMJjIAc8BQTP0QuIRGIEBASJWG4AQIW6VW1n0WjCYyAHPAUEz9ELiEReBAQEiVhuAICFulVtZ9FowmMgBzwFBM/RC4hEWgQEBIlYbgEAhbpVbWfRaMJjIAc8BQTP0QuIRFYEBASJWG4MGAZQAlCFulVtZ9FowmMgBzwFBM/RC4gIRFAKBAQFZERqDByFulVtZ9FowmMgBzwFBM/RC4hEWERcRFhEVERYRFREUERURFBETERQRExESAfIRIIEBASJWInghbpVbWfRaMJjIAc8AQTP0QuIRH4EBASJWIoAQIW6VW1n0WjCYyAHPAEEz9ELiER6BAQEiViKAICFulVtZ9FowmMgBzwBBM/RC4hEdgQEBIlYigEAhbpVbWfRaMJjIAc8AQTP0QuIRHIEBASJWIoMGAZYA3CFulVtZ9FowmMgBzwBBM/RC4hEbgQEBIlYigwchbpVbWfRaMJjIAc8AQTP0QuKBAQEgBBEcBEMwAREiASFulVtZ9FowmMgBzwBBM/RC4hEdER4RHREcER0RHBEbERwRGxEaERsRGhEZERoRGREYAfIRJngiViiBAQEhbpVbWfRbMJjIAc8AQTP0Q+IRJYAQIlYogQEBIW6VW1n0WzCYyAHPAEEz9EPiESSAICJWKIEBASFulVtZ9FswmMgBzwBBM/RD4hEjgEAiViiBAQEhbpVbWfRbMJjIAc8AQTP0Q+IRIoMGIlYogQEBAZgAlCFulVtZ9FswmMgBzwBBM/RD4gIRIQKDB1kRJ4EBASFulVtZ9FswmMgBzwBBM/RD4hEjESQRIxEiESMRIhEhESIRIREgESERIBEfAUww0x8BghBLBgnKuvLggYEBAdcA0gABlYEBAdcAkm0B4llsEts8fwGaAfIRLXgiVi+BAQEhbpVbWfRaMJjIAc8AQTP0QuIRLIAQIlYvgQEBIW6VW1n0WjCYyAHPAEEz9ELiESuAICJWL4EBASFulVtZ9FowmMgBzwBBM/RC4hEqgEAiVi+BAQEhbpVbWfRaMJjIAc8AQTP0QuIRKYMGIlYvgQEBAZsA3CFulVtZ9FowmMgBzwBBM/RC4hEogwciVi+BAQEhbpVbWfRaMJjIAc8AQTP0QuKBAQEgBBEpBEMwAREvASFulVtZ9FowmMgBzwBBM/RC4hEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElALQw0x8BghCneVU/uvLggYEBAdcA+kAh1wsBwwCOHQEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIkjFt4hJsEgIRLgKBAQFZIG6VMFn0WjCUQTP0FOIRLH8ArjDTHwGCEBbUU8W68uCBgQEB1wDSAAGYgQEB1wABbwGRbeISbBKBAQEBIG6SMG2OECBu8tCAbyHIAQGBAQHPAMniAxEwAxIgbpUwWfRaMJRBM/QV4hEtfwB8MNMfAYIQYSXO9rry4IGBAQHXANIAAZLSAJJtAeJZbBICETECgQEBWXEhbpVbWfRaMJjIAc8AQTP0QuIRL38CNO1E0NQB+GPSAAHjAjD4KNcLCoMJuvLgids8AaEBoABibW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbQL42zxXMREvETARLxEuES8RLhEtES4RLREsES0RLBErESwRKxEqESsRKhEpESoRKREoESkRKBEnESgRJxEmEScRJhElESYRJREkESURJBEjESQRIxEiESMRIhEhESIRIREgESERIBEfESARHxEeER8RHhEdER4RHREcER0RHAGjAaIAnBEbERwRGxEaERsRGhEZERoRGREYERkRGBEXERgRFxEWERcRFhEVERYRFREUERURFBETERQRExESERMREhERERIREREQEREREA8REA9VDgH29AT0BNQB0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQw0PQE9AT0BNQwAaQASND0BPQE9ATUMND0BPQE9ATUMND0BPQEMBEvETERLxEvETARL6j9CC4='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initMapTestContract_init_args({ $$type: 'MapTestContract_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const MapTestContract_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const MapTestContract_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"SetIntMap1","header":1510253336,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]}, - {"name":"SetIntMap2","header":1629867766,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"bool","optional":true}}]}, - {"name":"SetIntMap3","header":3613954633,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"SetIntMap4","header":383013829,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"SomeStruct","optional":true}}]}, - {"name":"SetIntMap5","header":2809746751,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"address","optional":true}}]}, - {"name":"SetIntMap6","header":1258686922,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]}, - {"name":"SetUIntMap7","header":3563204871,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]}, - {"name":"SetIntMap8","header":1910615278,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]}, - {"name":"SetUIntMap9","header":1765685895,"fields":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]}, - {"name":"SetAddrMap1","header":1749966413,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]}, - {"name":"SetAddrMap2","header":624157584,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"bool","optional":true}}]}, - {"name":"SetAddrMap3","header":4276365062,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"SetAddrMap4","header":1683777913,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"SomeStruct","optional":true}}]}, - {"name":"SetAddrMap5","header":1741376771,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"address","optional":true}}]}, - {"name":"SetAddrMap6","header":1742733058,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]}, - {"name":"SetAddrMap7","header":2054067599,"fields":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":true,"format":257}}]}, - {"name":"SomeStruct","header":null,"fields":[{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const MapTestContract_getters: ABIGetter[] = [ - {"name":"intMap1","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int"}}, - {"name":"intMap1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap2","arguments":[],"returnType":{"kind":"dict","key":"int","value":"bool"}}, - {"name":"intMap2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":true}}, - {"name":"intMap3","arguments":[],"returnType":{"kind":"dict","key":"int","value":"cell","valueFormat":"ref"}}, - {"name":"intMap3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"cell","optional":true}}, - {"name":"intMap4","arguments":[],"returnType":{"kind":"dict","key":"int","value":"SomeStruct","valueFormat":"ref"}}, - {"name":"intMap4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"SomeStruct","optional":true}}, - {"name":"intMap5","arguments":[],"returnType":{"kind":"dict","key":"int","value":"address"}}, - {"name":"intMap5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"address","optional":true}}, - {"name":"intMap6_1","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":8,"value":"int"}}, - {"name":"intMap6_1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap6_2","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":16,"value":"int"}}, - {"name":"intMap6_2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap6_3","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":32,"value":"int"}}, - {"name":"intMap6_3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap6_4","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":64,"value":"int"}}, - {"name":"intMap6_4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap6_5","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":128,"value":"int"}}, - {"name":"intMap6_5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap6_6","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":256,"value":"int"}}, - {"name":"intMap6_6Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap6_7","arguments":[],"returnType":{"kind":"dict","key":"int","keyFormat":257,"value":"int"}}, - {"name":"intMap6_7Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap7_1","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":8,"value":"int"}}, - {"name":"intMap7_1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap7_2","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":16,"value":"int"}}, - {"name":"intMap7_2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap7_3","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":32,"value":"int"}}, - {"name":"intMap7_3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap7_4","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":64,"value":"int"}}, - {"name":"intMap7_4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap7_5","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":128,"value":"int"}}, - {"name":"intMap7_5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap7_6","arguments":[],"returnType":{"kind":"dict","key":"uint","keyFormat":256,"value":"int"}}, - {"name":"intMap7_6Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap8_1","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":8}}, - {"name":"intMap8_1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap8_2","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":16}}, - {"name":"intMap8_2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap8_3","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":32}}, - {"name":"intMap8_3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap8_4","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":64}}, - {"name":"intMap8_4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap8_5","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":128}}, - {"name":"intMap8_5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap8_6","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":256}}, - {"name":"intMap8_6Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap8_7","arguments":[],"returnType":{"kind":"dict","key":"int","value":"int","valueFormat":257}}, - {"name":"intMap8_7Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap9_1","arguments":[],"returnType":{"kind":"dict","key":"int","value":"uint","valueFormat":8}}, - {"name":"intMap9_1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap9_2","arguments":[],"returnType":{"kind":"dict","key":"int","value":"uint","valueFormat":16}}, - {"name":"intMap9_2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap9_3","arguments":[],"returnType":{"kind":"dict","key":"int","value":"uint","valueFormat":32}}, - {"name":"intMap9_3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap9_4","arguments":[],"returnType":{"kind":"dict","key":"int","value":"uint","valueFormat":64}}, - {"name":"intMap9_4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap9_5","arguments":[],"returnType":{"kind":"dict","key":"int","value":"uint","valueFormat":128}}, - {"name":"intMap9_5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap9_6","arguments":[],"returnType":{"kind":"dict","key":"int","value":"uint","valueFormat":256}}, - {"name":"intMap9_6Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"intMap10Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"intMap11Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"intMap12Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"intMap13Value","arguments":[{"name":"key","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"addrMap1","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int"}}, - {"name":"addrMap1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap2","arguments":[],"returnType":{"kind":"dict","key":"address","value":"bool"}}, - {"name":"addrMap2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":true}}, - {"name":"addrMap3","arguments":[],"returnType":{"kind":"dict","key":"address","value":"cell","valueFormat":"ref"}}, - {"name":"addrMap3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"cell","optional":true}}, - {"name":"addrMap4","arguments":[],"returnType":{"kind":"dict","key":"address","value":"SomeStruct","valueFormat":"ref"}}, - {"name":"addrMap4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"SomeStruct","optional":true}}, - {"name":"addrMap5","arguments":[],"returnType":{"kind":"dict","key":"address","value":"address"}}, - {"name":"addrMap5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"address","optional":true}}, - {"name":"addrMap6_1","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":8}}, - {"name":"addrMap6_1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap6_2","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":16}}, - {"name":"addrMap6_2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap6_3","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":32}}, - {"name":"addrMap6_3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap6_4","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":64}}, - {"name":"addrMap6_4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap6_5","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":128}}, - {"name":"addrMap6_5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap6_6","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":256}}, - {"name":"addrMap6_6Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap6_7","arguments":[],"returnType":{"kind":"dict","key":"address","value":"int","valueFormat":257}}, - {"name":"addrMap6_7Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap7_1","arguments":[],"returnType":{"kind":"dict","key":"address","value":"uint","valueFormat":8}}, - {"name":"addrMap7_1Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap7_2","arguments":[],"returnType":{"kind":"dict","key":"address","value":"uint","valueFormat":16}}, - {"name":"addrMap7_2Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap7_3","arguments":[],"returnType":{"kind":"dict","key":"address","value":"uint","valueFormat":32}}, - {"name":"addrMap7_3Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap7_4","arguments":[],"returnType":{"kind":"dict","key":"address","value":"uint","valueFormat":64}}, - {"name":"addrMap7_4Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap7_5","arguments":[],"returnType":{"kind":"dict","key":"address","value":"uint","valueFormat":128}}, - {"name":"addrMap7_5Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"addrMap7_6","arguments":[],"returnType":{"kind":"dict","key":"address","value":"uint","valueFormat":256}}, - {"name":"addrMap7_6Value","arguments":[{"name":"key","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"mapAsCell","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":true}}, -] - -const MapTestContract_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetIntMap1"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetIntMap2"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetIntMap3"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetIntMap4"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetIntMap5"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetIntMap6"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetUIntMap7"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetIntMap8"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetUIntMap9"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap1"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap2"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap3"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap4"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap5"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap6"}}, - {"receiver":"internal","message":{"kind":"typed","type":"SetAddrMap7"}}, - {"receiver":"internal","message":{"kind":"text","text":"reset"}}, -] - -export class MapTestContract implements Contract { - - static async init() { - return await MapTestContract_init(); - } - - static async fromInit() { - const init = await MapTestContract_init(); - const address = contractAddress(0, init); - return new MapTestContract(address, init); - } - - static fromAddress(address: Address) { - return new MapTestContract(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: MapTestContract_types, - getters: MapTestContract_getters, - receivers: MapTestContract_receivers, - errors: MapTestContract_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null | SetIntMap1 | SetIntMap2 | SetIntMap3 | SetIntMap4 | SetIntMap5 | SetIntMap6 | SetUIntMap7 | SetIntMap8 | SetUIntMap9 | SetAddrMap1 | SetAddrMap2 | SetAddrMap3 | SetAddrMap4 | SetAddrMap5 | SetAddrMap6 | SetAddrMap7 | 'reset') { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetIntMap1') { - body = beginCell().store(storeSetIntMap1(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetIntMap2') { - body = beginCell().store(storeSetIntMap2(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetIntMap3') { - body = beginCell().store(storeSetIntMap3(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetIntMap4') { - body = beginCell().store(storeSetIntMap4(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetIntMap5') { - body = beginCell().store(storeSetIntMap5(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetIntMap6') { - body = beginCell().store(storeSetIntMap6(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetUIntMap7') { - body = beginCell().store(storeSetUIntMap7(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetIntMap8') { - body = beginCell().store(storeSetIntMap8(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetUIntMap9') { - body = beginCell().store(storeSetUIntMap9(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetAddrMap1') { - body = beginCell().store(storeSetAddrMap1(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetAddrMap2') { - body = beginCell().store(storeSetAddrMap2(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetAddrMap3') { - body = beginCell().store(storeSetAddrMap3(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetAddrMap4') { - body = beginCell().store(storeSetAddrMap4(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetAddrMap5') { - body = beginCell().store(storeSetAddrMap5(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetAddrMap6') { - body = beginCell().store(storeSetAddrMap6(message)).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'SetAddrMap7') { - body = beginCell().store(storeSetAddrMap7(message)).endCell(); - } - if (message === 'reset') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getIntMap1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap1', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap1Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap1Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap2', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Bool(), source.readCellOpt()); - return result; - } - - async getIntMap2Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap2Value', builder.build())).stack; - let result = source.readBooleanOpt(); - return result; - } - - async getIntMap3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap3', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Cell(), source.readCellOpt()); - return result; - } - - async getIntMap3Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap3Value', builder.build())).stack; - let result = source.readCellOpt(); - return result; - } - - async getIntMap4(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap4', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), dictValueParserSomeStruct(), source.readCellOpt()); - return result; - } - - async getIntMap4Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap4Value', builder.build())).stack; - const result_p = source.readTupleOpt(); - const result = result_p ? loadTupleSomeStruct(result_p) : null; - return result; - } - - async getIntMap5(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap5', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Address(), source.readCellOpt()); - return result; - } - - async getIntMap5Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap5Value', builder.build())).stack; - let result = source.readAddressOpt(); - return result; - } - - async getIntMap6_1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap6_1', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Int(8), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap6_1Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap6_1Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap6_2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap6_2', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Int(16), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap6_2Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap6_2Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap6_3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap6_3', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Int(32), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap6_3Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap6_3Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap6_4(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap6_4', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(64), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap6_4Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap6_4Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap6_5(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap6_5', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(128), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap6_5Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap6_5Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap6_6(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap6_6', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(256), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap6_6Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap6_6Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap6_7(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap6_7', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap6_7Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap6_7Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap7_1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap7_1', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Uint(8), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap7_1Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap7_1Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap7_2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap7_2', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Uint(16), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap7_2Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap7_2Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap7_3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap7_3', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Uint(32), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap7_3Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap7_3Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap7_4(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap7_4', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigUint(64), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap7_4Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap7_4Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap7_5(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap7_5', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigUint(128), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap7_5Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap7_5Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap7_6(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap7_6', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigUint(256), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap7_6Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap7_6Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap8_1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap8_1', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Int(8), source.readCellOpt()); - return result; - } - - async getIntMap8_1Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap8_1Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap8_2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap8_2', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Int(16), source.readCellOpt()); - return result; - } - - async getIntMap8_2Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap8_2Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap8_3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap8_3', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Int(32), source.readCellOpt()); - return result; - } - - async getIntMap8_3Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap8_3Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap8_4(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap8_4', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.BigInt(64), source.readCellOpt()); - return result; - } - - async getIntMap8_4Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap8_4Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap8_5(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap8_5', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.BigInt(128), source.readCellOpt()); - return result; - } - - async getIntMap8_5Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap8_5Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap8_6(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap8_6', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.BigInt(256), source.readCellOpt()); - return result; - } - - async getIntMap8_6Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap8_6Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap8_7(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap8_7', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getIntMap8_7Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap8_7Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap9_1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap9_1', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Uint(8), source.readCellOpt()); - return result; - } - - async getIntMap9_1Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap9_1Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap9_2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap9_2', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Uint(16), source.readCellOpt()); - return result; - } - - async getIntMap9_2Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap9_2Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap9_3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap9_3', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.Uint(32), source.readCellOpt()); - return result; - } - - async getIntMap9_3Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap9_3Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap9_4(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap9_4', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.BigUint(64), source.readCellOpt()); - return result; - } - - async getIntMap9_4Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap9_4Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap9_5(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap9_5', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.BigUint(128), source.readCellOpt()); - return result; - } - - async getIntMap9_5Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap9_5Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap9_6(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('intMap9_6', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.BigInt(257), Dictionary.Values.BigUint(256), source.readCellOpt()); - return result; - } - - async getIntMap9_6Value(provider: ContractProvider, key: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - let source = (await provider.get('intMap9_6Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getIntMap10Value(provider: ContractProvider, key: bigint, value: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - builder.writeNumber(value); - let source = (await provider.get('intMap10Value', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getIntMap11Value(provider: ContractProvider, key: bigint, value: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - builder.writeNumber(value); - let source = (await provider.get('intMap11Value', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getIntMap12Value(provider: ContractProvider, key: bigint, value: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - builder.writeNumber(value); - let source = (await provider.get('intMap12Value', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getIntMap13Value(provider: ContractProvider, key: bigint, value: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(key); - builder.writeNumber(value); - let source = (await provider.get('intMap13Value', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getAddrMap1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap1', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getAddrMap1Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap1Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap2', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.Bool(), source.readCellOpt()); - return result; - } - - async getAddrMap2Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap2Value', builder.build())).stack; - let result = source.readBooleanOpt(); - return result; - } - - async getAddrMap3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap3', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.Cell(), source.readCellOpt()); - return result; - } - - async getAddrMap3Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap3Value', builder.build())).stack; - let result = source.readCellOpt(); - return result; - } - - async getAddrMap4(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap4', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), dictValueParserSomeStruct(), source.readCellOpt()); - return result; - } - - async getAddrMap4Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap4Value', builder.build())).stack; - const result_p = source.readTupleOpt(); - const result = result_p ? loadTupleSomeStruct(result_p) : null; - return result; - } - - async getAddrMap5(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap5', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.Address(), source.readCellOpt()); - return result; - } - - async getAddrMap5Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap5Value', builder.build())).stack; - let result = source.readAddressOpt(); - return result; - } - - async getAddrMap6_1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap6_1', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.Int(8), source.readCellOpt()); - return result; - } - - async getAddrMap6_1Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap6_1Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap6_2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap6_2', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.Int(16), source.readCellOpt()); - return result; - } - - async getAddrMap6_2Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap6_2Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap6_3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap6_3', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.Int(32), source.readCellOpt()); - return result; - } - - async getAddrMap6_3Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap6_3Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap6_4(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap6_4', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.BigInt(64), source.readCellOpt()); - return result; - } - - async getAddrMap6_4Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap6_4Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap6_5(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap6_5', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.BigInt(128), source.readCellOpt()); - return result; - } - - async getAddrMap6_5Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap6_5Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap6_6(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap6_6', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.BigInt(256), source.readCellOpt()); - return result; - } - - async getAddrMap6_6Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap6_6Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap6_7(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap6_7', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.BigInt(257), source.readCellOpt()); - return result; - } - - async getAddrMap6_7Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap6_7Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap7_1(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap7_1', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.Uint(8), source.readCellOpt()); - return result; - } - - async getAddrMap7_1Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap7_1Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap7_2(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap7_2', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.Uint(16), source.readCellOpt()); - return result; - } - - async getAddrMap7_2Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap7_2Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap7_3(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap7_3', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.Uint(32), source.readCellOpt()); - return result; - } - - async getAddrMap7_3Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap7_3Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap7_4(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap7_4', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.BigUint(64), source.readCellOpt()); - return result; - } - - async getAddrMap7_4Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap7_4Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap7_5(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap7_5', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.BigUint(128), source.readCellOpt()); - return result; - } - - async getAddrMap7_5Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap7_5Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getAddrMap7_6(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('addrMap7_6', builder.build())).stack; - let result = Dictionary.loadDirect(Dictionary.Keys.Address(), Dictionary.Values.BigUint(256), source.readCellOpt()); - return result; - } - - async getAddrMap7_6Value(provider: ContractProvider, key: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(key); - let source = (await provider.get('addrMap7_6Value', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getMapAsCell(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('mapAsCell', builder.build())).stack; - let result = source.readCellOpt(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/masterchain-allow_MasterchainTester.abi b/src/test/features/output/masterchain-allow_MasterchainTester.abi deleted file mode 100644 index d75b1171e..000000000 --- a/src/test/features/output/masterchain-allow_MasterchainTester.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"MasterchainTester","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TestMessage","header":3679600542,"fields":[{"name":"address","type":{"kind":"simple","type":"address","optional":false}},{"name":"address2","type":{"kind":"simple","type":"address","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Deploy"}},{"receiver":"internal","message":{"kind":"typed","type":"TestMessage"}}],"getters":[{"name":"createAddress","arguments":[{"name":"chain","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"hash","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"address","optional":false}},{"name":"parseAddress","arguments":[{"name":"src","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"address","optional":false}},{"name":"serializeAddress","arguments":[{"name":"src","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"handleStruct","arguments":[{"name":"src","type":{"kind":"simple","type":"TestMessage","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.any.v0"]} \ No newline at end of file diff --git a/src/test/features/output/masterchain-allow_MasterchainTester.code.boc b/src/test/features/output/masterchain-allow_MasterchainTester.code.boc deleted file mode 100644 index 465b458f5..000000000 Binary files a/src/test/features/output/masterchain-allow_MasterchainTester.code.boc and /dev/null differ diff --git a/src/test/features/output/masterchain-allow_MasterchainTester.code.boc.html b/src/test/features/output/masterchain-allow_MasterchainTester.code.boc.html deleted file mode 100644 index 60b52d89c..000000000 --- a/src/test/features/output/masterchain-allow_MasterchainTester.code.boc.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_67662;
-            ..DECLPROC ?fun_73429;
-            ..DECLPROC ?fun_102482;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_125712;
-            ..DECLPROC ?fun_ref_1037bc20fd152f5c;
-            ..DECLPROC ?fun_ref_12c7412c3c44d083;
-            ..DECLPROC ?fun_ref_3c99f607c2c0535d;
-            ..DECLPROC ?fun_ref_7b5e5f9943d82ceb;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            ..DECLPROC ?fun_ref_d70fb1f1f09059ac;
-            ..DECLPROC ?fun_ref_f38b7270fbc3f695;
-            x9..recv_internal PROC:<{
-            18x9....s0 s1 XCHG
-            118x9....CTOS
-            26x9....4 LDU
-            18x9....s0 s1 XCHG
-            18x9....1 PUSHINT
-            18x9....AND
-            18x9....-1 MULCONST
-            18x9....s0 s1 XCHG
-            26x9....LDMSGADDR
-            18x9....s0 s1 XCHG
-            18x9....s0 PUSH
-            26x9....SBITS
-            34x9....267 PUSHINT
-            18x9....EQUAL
-            34x9....136 THROWIFNOT
-            18x9....s0 PUSH
-            34x9....11 PLDU
-            18x9....s0 PUSH
-            26x9....10 PUSHPOW2
-            18x9....EQUAL
-            18x9....s0 s1 XCHG
-            34x9....1279 PUSHINT
-            18x9....EQUAL
-            18x9....OR
-            34x9....136 THROWIFNOT
-            34x9....s0 s6 s4 PUXCPU
-            18x9....s0 s3 XCHG
-            30x9....4 TUPLE
-            28x9....1 SETGLOBVAR
-            18x9....s0 s2 XCHG
-            29x9....2 SETGLOBVAR
-            126x9....?fun_ref_f38b7270fbc3f695 INLINECALLDICT
-            18x9....ROTREV
-            126x9....?fun_ref_7b5e5f9943d82ceb INLINECALLDICT
-            34x9....130 THROWIFNOT
-            18x9....s0 POP
-            18x9....NEWC
-            26x9....3 GETGLOBVAR
-            18x9....s0 s1 XCHG
-            18x9....STREF
-            18x9....-1 PUSHINT
-            18x9....s0 s1 XCHG
-            26x9....1 STI
-            518x9....ENDC
-            26x9....c4 POP
-            x9..}>
-            x2..?fun_67662 PROC:<{
-            28x2....2 UNTUPLE
-            18x2....s0 s1 XCHG
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            18x2....s0 s1 XCHG
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            18x2....OR
-            34x2....136 THROWIFNOT
-            18x2....s1 PUSH
-            18x2....ISNULL
-            18x2....<{
-            ......s1 POP
-            ......NULL
-            18x2....}> PUSHCONT
-            26x2....<{
-            18x2......s0 s1 XCHG
-            18x2......s0 PUSH
-            26x2......SBITS
-            34x2......267 PUSHINT
-            18x2......EQUAL
-            34x2......136 THROWIFNOT
-            18x2......s0 PUSH
-            34x2......11 PLDU
-            18x2......s0 PUSH
-            26x2......10 PUSHPOW2
-            18x2......EQUAL
-            18x2......s0 s1 XCHG
-            34x2......1279 PUSHINT
-            18x2......EQUAL
-            18x2......OR
-            34x2......136 THROWIFNOT
-            26x2....}> PUSHCONT
-            18x2....IFELSE
-            126x2....?fun_ref_f38b7270fbc3f695 INLINECALLDICT
-            18x2....ROTREV
-            126x2....?fun_ref_3c99f607c2c0535d INLINECALLDICT
-            18x2....s1 POP
-            x2..}>
-            x2..?fun_73429 PROC:<{
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            18x2....s0 s1 XCHG
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            18x2....OR
-            34x2....136 THROWIFNOT
-            126x2....?fun_ref_f38b7270fbc3f695 INLINECALLDICT
-            18x2....s0 s1 XCHG
-            126x2....?fun_ref_12c7412c3c44d083 INLINECALLDICT
-            18x2....s1 POP
-            x2..}>
-            x2..?fun_102482 PROC:<{
-            126x2....?fun_ref_f38b7270fbc3f695 INLINECALLDICT
-            18x2....s0 s1 XCHG
-            126x2....?fun_ref_1037bc20fd152f5c INLINECALLDICT
-            18x2....s1 POP
-            x2..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....289074767680806556846472852687671582181 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D4E73624D4A474558396F35617A716E61746642445079514155617A657952773638706E646F6A6B693838777382_} PUSHSLICE
-            ..}>
-            x1..?fun_125712 PROC:<{
-            126x1....?fun_ref_f38b7270fbc3f695 INLINECALLDICT
-            18x1....ROTREV
-            126x1....?fun_ref_d70fb1f1f09059ac INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x2..?fun_ref_1037bc20fd152f5c PROCREF:<{
-            26x2....LDMSGADDR
-            18x2....s0 s1 XCHG
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            18x2....s0 s1 XCHG
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            18x2....OR
-            34x2....136 THROWIFNOT
-            18x2....s1 POP
-            x2..}>
-            x3..?fun_ref_12c7412c3c44d083 PROCREF:<{
-            18x3....s0 POP
-            18x3....-1 PUSHINT
-            x3..}>
-            x4..?fun_ref_3c99f607c2c0535d PROCREF:<{
-            18x4....DROP2
-            18x4....-1 PUSHINT
-            x4..}>
-            x9..?fun_ref_7b5e5f9943d82ceb PROCREF:<{
-            26x9....2 SAVE
-            26x9....SAMEALTSAVE
-            18x9....s0 s1 XCHG
-            18x9....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x9....}> PUSHCONT
-            18x9....IFJMP
-            18x9....0 PUSHINT
-            18x9....s1 PUSH
-            26x9....SBITS
-            26x9....31 GTINT
-            18x9....<{
-            18x9......s0 POP
-            18x9......s0 PUSH
-            34x9......32 PLDU
-            18x9....}> PUSHCONT
-            18x9....IF
-            18x9....s0 PUSH
-            23x9....3679600542 PUSHINT
-            18x9....EQUAL
-            26x9....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......3679600542 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......s0 s1 XCHG
-            ......1279 PUSHINT
-            ......EQUAL
-            ......OR
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......LDMSGADDR
-            ......s1 PUSH
-            ......2 PLDU
-            ......0 NEQINT
-            ......<{
-            ........s0 s1 XCHG
-            ........s0 PUSH
-            ........SBITS
-            ........267 PUSHINT
-            ........EQUAL
-            ........136 THROWIFNOT
-            ........s0 PUSH
-            ........11 PLDU
-            ........s0 PUSH
-            ........10 PUSHPOW2
-            ........EQUAL
-            ........s0 s1 XCHG
-            ........1279 PUSHINT
-            ........EQUAL
-            ........OR
-            ........136 THROWIFNOT
-            ......}> PUSHCONT
-            ......<{
-            ........s1 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s1 s2 XCHG
-            ......1 2 BLKDROP2
-            ......DROP2
-            ......-1 PUSHINT
-            26x9....}> IFJMPREF
-            26x9....0 EQINT
-            26x9....<{
-            526x9......HASHSU
-            23x9......60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT
-            18x9......EQUAL
-            18x9......<{
-            18x9........-1 PUSHINT
-            26x9........RETFALSE
-            18x9......}> PUSHCONT
-            18x9......IFJMP
-            26x9....}> PUSHCONT
-            18x9....<{
-            ......s0 POP
-            18x9....}> PUSHCONT
-            18x9....IFELSE
-            ....0 PUSHINT
-            x9..}>
-            x80..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x80....NULL
-            x80..}>
-            x1..?fun_ref_d70fb1f1f09059ac PROCREF:<{
-            18x1....NEWC
-            18x1....2 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....2 STU
-            18x1....0 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STU
-            18x1....s1 s2 XCHG
-            26x1....8 STI
-            26x1....256 STU
-            518x1....ENDC
-            118x1....CTOS
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            18x1....s0 s1 XCHG
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            18x1....OR
-            34x1....136 THROWIFNOT
-            x1..}>
-            x16..?fun_ref_f38b7270fbc3f695 PROCREF:<{
-            26x16....c4 PUSH
-            118x16....CTOS
-            18x16....LDREF
-            18x16....s0 s1 XCHG
-            30x16....3 SETGLOBVAR
-            26x16....1 LDI
-            18x16....s0 POP
-            18x16....<{
-            18x7......NULL
-            18x16....}> PUSHCONT
-            18x16....IFJMP
-            126x9....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x16..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/masterchain-allow_MasterchainTester.code.fc b/src/test/features/output/masterchain-allow_MasterchainTester.code.fc deleted file mode 100644 index f19fc2ec6..000000000 --- a/src/test/features/output/masterchain-allow_MasterchainTester.code.fc +++ /dev/null @@ -1,164 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "masterchain-allow_MasterchainTester.headers.fc"; -#include "masterchain-allow_MasterchainTester.stdlib.fc"; -#include "masterchain-allow_MasterchainTester.storage.fc"; - -;; -;; Contract MasterchainTester functions -;; - -tuple $MasterchainTester$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -(tuple, slice) $MasterchainTester$_fun_createAddress(tuple $self, int $chain, int $hash) impure inline_ref { - var ($self) = $self; - return ($self, __tact_create_address($chain, $hash)); -} - -(tuple, slice) $MasterchainTester$_fun_parseAddress(tuple $self, slice $src) impure inline_ref { - var ($self) = $self; - return ($self, $src~__tact_load_address()); -} - -(tuple, int) $MasterchainTester$_fun_serializeAddress(tuple $self, slice $src) impure inline_ref { - var ($self) = $self; - return ($self, true); -} - -(tuple, int) $MasterchainTester$_fun_handleStruct(tuple $self, (slice, slice) $src) impure inline_ref { - var ($self) = $self; - var (($src'address, $src'address2)) = $src; - return ($self, true); -} - -;; -;; Receivers of a Contract MasterchainTester -;; - -(tuple, ()) $MasterchainTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246(tuple $self) impure inline { - var $self = $self; - return ($self, ()); -} - -((tuple), ()) $MasterchainTester$_internal_binary_TestMessage(tuple $self, (slice, slice) $message) impure inline { - var $self = $self; - var ($message'address, $message'address2) = $message; - return ($self, ()); -} - -;; -;; Get methods of a Contract MasterchainTester -;; - -_ %createAddress(int $$chain, int $$hash) method_id(125712) { - int $chain = $$chain; - int $hash = $$hash; - var self = $MasterchainTester$_contract_load(); - var res = self~$MasterchainTester$_fun_createAddress($chain, $hash); - return res; -} - -_ %parseAddress(slice $$src) method_id(102482) { - slice $src = $$src; - var self = $MasterchainTester$_contract_load(); - var res = self~$MasterchainTester$_fun_parseAddress($src); - return res; -} - -_ %serializeAddress(slice $$src) method_id(73429) { - slice $src = __tact_verify_address($$src); - var self = $MasterchainTester$_contract_load(); - var res = self~$MasterchainTester$_fun_serializeAddress($src); - return res; -} - -_ %handleStruct(tuple $$src) method_id(67662) { - (slice, slice) $src = $TestMessage$_from_tuple($$src); - var self = $MasterchainTester$_contract_load(); - var res = self~$MasterchainTester$_fun_handleStruct($src); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.any.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmNsbMJGEX9o5azqnatfBDPyQAUazeyRw68pndojki88ws"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract MasterchainTester -;; - -(tuple, int) $MasterchainTester$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive TestMessage message - if (op == 3679600542) { - var msg = in_msg~$TestMessage$_load(); - self~$MasterchainTester$_internal_binary_TestMessage(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Deploy" message - if (text_op == 0x85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246) { - self~$MasterchainTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $MasterchainTester$_contract_load(); - - ;; Handle operation - int handled = self~$MasterchainTester$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $MasterchainTester$_contract_store(self); -} diff --git a/src/test/features/output/masterchain-allow_MasterchainTester.code.fif b/src/test/features/output/masterchain-allow_MasterchainTester.code.fif deleted file mode 100644 index 7c962a003..000000000 --- a/src/test/features/output/masterchain-allow_MasterchainTester.code.fif +++ /dev/null @@ -1,261 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_load_address_opt - DECLPROC __tact_create_address - DECLPROC $TestMessage$_load - DECLPROC $TestMessage$_from_tuple - DECLPROC $MasterchainTester$_contract_init - DECLPROC $MasterchainTester$_contract_load - DECLPROC $MasterchainTester$_contract_store - DECLPROC $MasterchainTester$_fun_createAddress - DECLPROC $MasterchainTester$_fun_parseAddress - DECLPROC $MasterchainTester$_fun_serializeAddress - DECLPROC $MasterchainTester$_fun_handleStruct - DECLPROC $MasterchainTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 - DECLPROC $MasterchainTester$_internal_binary_TestMessage - 125712 DECLMETHOD %createAddress - 102482 DECLMETHOD %parseAddress - 73429 DECLMETHOD %serializeAddress - 67662 DECLMETHOD %handleStruct - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $MasterchainTester$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 10 PUSHPOW2 - EQUAL - SWAP - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_load_address_opt PROCINLINE:<{ - LDMSGADDR - OVER - 2 PLDU - 0 NEQINT - IF:<{ - SWAP - __tact_verify_address INLINECALLDICT - }>ELSE<{ - NIP - PUSHNULL - }> - }> - __tact_create_address PROCINLINE:<{ - NEWC - 2 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - __tact_verify_address INLINECALLDICT - }> - $TestMessage$_load PROCINLINE:<{ - 32 LDU - SWAP - 3679600542 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address_opt INLINECALLDICT - s1 s2 XCHG - }> - $TestMessage$_from_tuple PROCINLINE:<{ - 2 UNTUPLE - SWAP - __tact_verify_address INLINECALLDICT - OVER - ISNULL - IF:<{ - NIP - PUSHNULL - }>ELSE<{ - SWAP - __tact_verify_address INLINECALLDICT - }> - }> - $MasterchainTester$_contract_init PROCREF:<{ - PUSHNULL - }> - $MasterchainTester$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - $MasterchainTester$_contract_init INLINECALLDICT - }> - $MasterchainTester$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $MasterchainTester$_fun_createAddress PROCREF:<{ - __tact_create_address INLINECALLDICT - }> - $MasterchainTester$_fun_parseAddress PROCREF:<{ - __tact_load_address INLINECALLDICT - NIP - }> - $MasterchainTester$_fun_serializeAddress PROCREF:<{ - DROP - TRUE - }> - $MasterchainTester$_fun_handleStruct PROCREF:<{ - 2DROP - TRUE - }> - $MasterchainTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 PROCINLINE:<{ - }> - $MasterchainTester$_internal_binary_TestMessage PROCINLINE:<{ - 2DROP - }> - %createAddress PROC:<{ - $MasterchainTester$_contract_load INLINECALLDICT - -ROT - $MasterchainTester$_fun_createAddress INLINECALLDICT - NIP - }> - %parseAddress PROC:<{ - $MasterchainTester$_contract_load INLINECALLDICT - SWAP - $MasterchainTester$_fun_parseAddress INLINECALLDICT - NIP - }> - %serializeAddress PROC:<{ - __tact_verify_address INLINECALLDICT - $MasterchainTester$_contract_load INLINECALLDICT - SWAP - $MasterchainTester$_fun_serializeAddress INLINECALLDICT - NIP - }> - %handleStruct PROC:<{ - $TestMessage$_from_tuple INLINECALLDICT - $MasterchainTester$_contract_load INLINECALLDICT - -ROT - $MasterchainTester$_fun_handleStruct INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 289074767680806556846472852687671582181 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d4e73624d4a474558396f35617a716e61746642445079514155617a657952773638706e646f6a6b6938387773} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $MasterchainTester$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 3679600542 PUSHINT - EQUAL - IFJMP:<{ - DROP - $TestMessage$_load INLINECALLDICT - 1 2 BLKDROP2 - $MasterchainTester$_internal_binary_TestMessage INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - 60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT - EQUAL - IFJMP:<{ - $MasterchainTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $MasterchainTester$_contract_load INLINECALLDICT - -ROT - $MasterchainTester$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $MasterchainTester$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/masterchain-allow_MasterchainTester.code.rev.fif b/src/test/features/output/masterchain-allow_MasterchainTester.code.rev.fif deleted file mode 100644 index a1f3e0080..000000000 --- a/src/test/features/output/masterchain-allow_MasterchainTester.code.rev.fif +++ /dev/null @@ -1,331 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_67662; - DECLPROC ?fun_73429; - DECLPROC ?fun_102482; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_125712; - DECLPROC ?fun_ref_1037bc20fd152f5c; - DECLPROC ?fun_ref_12c7412c3c44d083; - DECLPROC ?fun_ref_3c99f607c2c0535d; - DECLPROC ?fun_ref_7b5e5f9943d82ceb; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_d70fb1f1f09059ac; - DECLPROC ?fun_ref_f38b7270fbc3f695; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_f38b7270fbc3f695 INLINECALLDICT - ROTREV - ?fun_ref_7b5e5f9943d82ceb INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_67662 PROC:<{ - 2 UNTUPLE - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - s1 PUSH - ISNULL - <{ - s1 POP - NULL - }> PUSHCONT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - }> PUSHCONT - IFELSE - ?fun_ref_f38b7270fbc3f695 INLINECALLDICT - ROTREV - ?fun_ref_3c99f607c2c0535d INLINECALLDICT - s1 POP - }> - ?fun_73429 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - ?fun_ref_f38b7270fbc3f695 INLINECALLDICT - s0 s1 XCHG - ?fun_ref_12c7412c3c44d083 INLINECALLDICT - s1 POP - }> - ?fun_102482 PROC:<{ - ?fun_ref_f38b7270fbc3f695 INLINECALLDICT - s0 s1 XCHG - ?fun_ref_1037bc20fd152f5c INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 289074767680806556846472852687671582181 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D4E73624D4A474558396F35617A716E61746642445079514155617A657952773638706E646F6A6B693838777382_} PUSHSLICE - }> - ?fun_125712 PROC:<{ - ?fun_ref_f38b7270fbc3f695 INLINECALLDICT - ROTREV - ?fun_ref_d70fb1f1f09059ac INLINECALLDICT - s1 POP - }> - ?fun_ref_1037bc20fd152f5c PROCREF:<{ - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - s1 POP - }> - ?fun_ref_12c7412c3c44d083 PROCREF:<{ - s0 POP - -1 PUSHINT - }> - ?fun_ref_3c99f607c2c0535d PROCREF:<{ - DROP2 - -1 PUSHINT - }> - ?fun_ref_7b5e5f9943d82ceb PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 3679600542 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 3679600542 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s1 PUSH - 2 PLDU - 0 NEQINT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - }> PUSHCONT - <{ - s1 POP - NULL - }> PUSHCONT - IFELSE - s1 s2 XCHG - 1 2 BLKDROP2 - DROP2 - -1 PUSHINT - }> IFJMPREF - 0 EQINT - <{ - HASHSU - 60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT - EQUAL - <{ - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - 0 PUSHINT - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_d70fb1f1f09059ac PROCREF:<{ - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - }> - ?fun_ref_f38b7270fbc3f695 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/masterchain-allow_MasterchainTester.headers.fc b/src/test/features/output/masterchain-allow_MasterchainTester.headers.fc deleted file mode 100644 index 81ce34b2c..000000000 --- a/src/test/features/output/masterchain-allow_MasterchainTester.headers.fc +++ /dev/null @@ -1,43 +0,0 @@ -;; -;; Header files for MasterchainTester -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_load_address_opt -(slice, slice) __tact_load_address_opt(slice cs) inline; - -;; __tact_create_address -slice __tact_create_address(int chain, int hash) inline; - -;; $TestMessage$_load -(slice, ((slice, slice))) $TestMessage$_load(slice sc_0) inline; - -;; $TestMessage$_from_tuple -(slice, slice) $TestMessage$_from_tuple(tuple v) inline; - -;; $MasterchainTester$_contract_init -tuple $MasterchainTester$_contract_init() impure inline_ref; - -;; $MasterchainTester$_contract_load -tuple $MasterchainTester$_contract_load() impure inline_ref; - -;; $MasterchainTester$_contract_store -() $MasterchainTester$_contract_store(tuple v) impure inline; - -;; $MasterchainTester$_fun_createAddress -(tuple, slice) $MasterchainTester$_fun_createAddress(tuple $self, int $chain, int $hash) impure inline_ref; - -;; $MasterchainTester$_fun_parseAddress -(tuple, slice) $MasterchainTester$_fun_parseAddress(tuple $self, slice $src) impure inline_ref; - -;; $MasterchainTester$_fun_serializeAddress -(tuple, int) $MasterchainTester$_fun_serializeAddress(tuple $self, slice $src) impure inline_ref; - -;; $MasterchainTester$_fun_handleStruct -(tuple, int) $MasterchainTester$_fun_handleStruct(tuple $self, (slice, slice) $src) impure inline_ref; diff --git a/src/test/features/output/masterchain-allow_MasterchainTester.md b/src/test/features/output/masterchain-allow_MasterchainTester.md deleted file mode 100644 index 37e025ab3..000000000 --- a/src/test/features/output/masterchain-allow_MasterchainTester.md +++ /dev/null @@ -1,64 +0,0 @@ -# TACT Compilation Report -Contract: MasterchainTester -BOC Size: 734 bytes - -# Types -Total Types: 4 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## TestMessage -TLB: `test_message#db523f9e address:address address2:Maybe address = TestMessage` -Signature: `TestMessage{address:address,address2:Maybe address}` - -# Get Methods -Total Get Methods: 4 - -## createAddress -Argument: chain -Argument: hash - -## parseAddress -Argument: src - -## serializeAddress -Argument: src - -## handleStruct -Argument: src - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/masterchain-allow_MasterchainTester.pkg b/src/test/features/output/masterchain-allow_MasterchainTester.pkg deleted file mode 100644 index 3fe737b27..000000000 --- a/src/test/features/output/masterchain-allow_MasterchainTester.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"MasterchainTester","code":"te6ccgECGAEAAtIAART/APSkE/S88sgLAQIBYgIDApDQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQVBAIBIAYHAaTtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQ21I/nrrjAsAAjir5AYLwhdKIOEwAQ0WLAoA8siBZ9ogDxVPDZWNENGRo2slh8ka6k3/bMeCRMOJwBQC4MNMfAYIQ21I/nrry4IH6QAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IgB+kAh1wsBwwCOHAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IiSMW3iEmwSW38CAWIICQIBIAwNApWyE5vIgEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IghbpIxbY4cASDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiOLbPFnbPDGAVCgJHs7VINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCI2zwB2zwxgFQsABFt/AAQwfwIBIA4PAgEgERICEbYKW2eAO2eGMBUQALm3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOGy84zdGHN4T1ltQmJrcbvLAAPvpAASDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiDECASATFAIRtWIbZ4s7Z4YwFRYAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtTnNiTUpHRVg5bzVhenFuYXRmQkRQeVFBVWF6ZXlSdzY4cG5kb2praTg4d3OCABHu1E0NQB+GPSADCRbeDbPBcAVshyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IgAAm0=","abi":"{\"name\":\"MasterchainTester\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TestMessage\",\"header\":3679600542,\"fields\":[{\"name\":\"address\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"address2\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Deploy\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TestMessage\"}}],\"getters\":[{\"name\":\"createAddress\",\"arguments\":[{\"name\":\"chain\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"hash\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"parseAddress\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"serializeAddress\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"handleStruct\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"TestMessage\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.any.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECGgEAAtwAAQHAAQEFoAxHAgEU/wD0pBP0vPLICwMCAWIVBAIBIBAFAgEgDAYCASAJBwIRtWIbZ4s7Z4YwGAgAVshyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IgCASALCgB1sm7jQ1aXBmczovL1FtTnNiTUpHRVg5bzVhenFuYXRmQkRQeVFBVWF6ZXlSdzY4cG5kb2praTg4d3OCAAEbCvu1E0NIAAYAIBIA4NALm3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOGy84zdGHN4T1ltQmJrcbvLACEbYKW2eAO2eGMBgPAD76QAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IgxAgFiExECR7O1SDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiNs8Ads8MYBgSAAQwfwKVshObyIBINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIIW6SMW2OHAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4Iji2zxZ2zwxgGBQABFt/ApDQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQYFgGk7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCENtSP5664wLAAI4q+QGC8IXSiDhMAENFiwKAPLIgWfaIA8VTw2VjRDRkaNrJYfJGupN/2zHgkTDicBcAuDDTHwGCENtSP5668uCB+kABINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIAfpAIdcLAcMAjhwBINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIkjFt4hJsElt/AR7tRNDUAfhj0gAwkW3g2zwZAAJtjp/o5w=="}},"sources":{"src\\test\\features\\masterchain.tact":"bWVzc2FnZSBUZXN0TWVzc2FnZSB7DQogICAgYWRkcmVzczogQWRkcmVzczsNCiAgICBhZGRyZXNzMjogQWRkcmVzcz87DQp9DQoNCmNvbnRyYWN0IE1hc3RlcmNoYWluVGVzdGVyIHsNCg0KICAgIGluaXQoKSB7DQogICAgICAgIA0KICAgIH0NCiAgICANCiAgICByZWNlaXZlKCJEZXBsb3kiKSB7DQogICAgICAgIC8vIERlcGxveQ0KICAgIH0NCg0KICAgIHJlY2VpdmUobWVzc2FnZTogVGVzdE1lc3NhZ2UpIHsNCiAgICAgICAgLy8gU2hvdWxkIGZhaWwgZm9yIG5vbi1tYXN0ZXJjaGFpbg0KICAgIH0NCg0KICAgIGdldCBmdW4gY3JlYXRlQWRkcmVzcyhjaGFpbjogSW50LCBoYXNoOiBJbnQpOiBBZGRyZXNzIHsNCiAgICAgICAgcmV0dXJuIG5ld0FkZHJlc3MoY2hhaW4sIGhhc2gpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gcGFyc2VBZGRyZXNzKHNyYzogU2xpY2UpOiBBZGRyZXNzIHsNCiAgICAgICAgcmV0dXJuIHNyYy5sb2FkQWRkcmVzcygpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gc2VyaWFsaXplQWRkcmVzcyhzcmM6IEFkZHJlc3MpOiBCb29sIHsNCiAgICAgICAgcmV0dXJuIHRydWU7IC8vIE5PVEU6IHNyYyBpcyB1bnVzZWQgYnV0IHN0aWxsIGhhdmUgdG8gYmUgY2hlY2tlZA0KICAgIH0NCg0KICAgIGdldCBmdW4gaGFuZGxlU3RydWN0KHNyYzogVGVzdE1lc3NhZ2UpOiBCb29sIHsNCiAgICAgICAgcmV0dXJuIHRydWU7IC8vIE5PVEU6IHNyYyBpcyB1bnVzZWQgYnV0IHN0aWxsIGhhdmUgdG8gYmUgY2hlY2tlZA0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/masterchain.tact\",\"options\":{\"debug\":true,\"masterchain\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/masterchain-allow_MasterchainTester.stdlib.fc b/src/test/features/output/masterchain-allow_MasterchainTester.stdlib.fc deleted file mode 100644 index b362eda1b..000000000 --- a/src/test/features/output/masterchain-allow_MasterchainTester.stdlib.fc +++ /dev/null @@ -1,37 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_unless(136, (h == 1024) | (h == 1279)); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -(slice, slice) __tact_load_address_opt(slice cs) inline { - slice raw = cs~load_msg_addr(); - if (raw.preload_uint(2) != 0) { - return (cs, __tact_verify_address(raw)); - } else { - return (cs, null()); - } -} - -slice __tact_create_address(int chain, int hash) inline { - var b = begin_cell(); - b = b.store_uint(2, 2); - b = b.store_uint(0, 1); - b = b.store_int(chain, 8); - b = b.store_uint(hash, 256); - var addr = b.end_cell().begin_parse(); - return __tact_verify_address(addr); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; \ No newline at end of file diff --git a/src/test/features/output/masterchain-allow_MasterchainTester.storage.fc b/src/test/features/output/masterchain-allow_MasterchainTester.storage.fc deleted file mode 100644 index 7f80a2cd7..000000000 --- a/src/test/features/output/masterchain-allow_MasterchainTester.storage.fc +++ /dev/null @@ -1,39 +0,0 @@ -;; -;; Type: TestMessage -;; Header: 0xdb523f9e -;; TLB: test_message#db523f9e address:address address2:Maybe address = TestMessage -;; - -(slice, ((slice, slice))) $TestMessage$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 3679600542); - var v'address = sc_0~__tact_load_address(); - var v'address2 = sc_0~__tact_load_address_opt(); - return (sc_0, (v'address, v'address2)); -} - -(slice, slice) $TestMessage$_from_tuple(tuple v) inline { - var (slice v'address, slice v'address2) = __tact_tuple_destroy_2(v); - return (__tact_verify_address(v'address), null?(v'address2) ? null() : __tact_verify_address(v'address2)); -} - -;; -;; Type: MasterchainTester -;; - -tuple $MasterchainTester$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - return $MasterchainTester$_contract_init(); - } -} - -() $MasterchainTester$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/masterchain-allow_MasterchainTester.ts b/src/test/features/output/masterchain-allow_MasterchainTester.ts deleted file mode 100644 index e1b66fa34..000000000 --- a/src/test/features/output/masterchain-allow_MasterchainTester.ts +++ /dev/null @@ -1,385 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type TestMessage = { - $$type: 'TestMessage'; - address: Address; - address2: Address | null; -} - -export function storeTestMessage(src: TestMessage) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3679600542, 32); - b_0.storeAddress(src.address); - b_0.storeAddress(src.address2); - }; -} - -export function loadTestMessage(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3679600542) { throw Error('Invalid prefix'); } - let _address = sc_0.loadAddress(); - let _address2 = sc_0.loadMaybeAddress(); - return { $$type: 'TestMessage' as const, address: _address, address2: _address2 }; -} - -function loadTupleTestMessage(source: TupleReader) { - let _address = source.readAddress(); - let _address2 = source.readAddressOpt(); - return { $$type: 'TestMessage' as const, address: _address, address2: _address2 }; -} - -function storeTupleTestMessage(source: TestMessage) { - let builder = new TupleBuilder(); - builder.writeAddress(source.address); - builder.writeAddress(source.address2); - return builder.build(); -} - -function dictValueParserTestMessage(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTestMessage(src)).endCell()); - }, - parse: (src) => { - return loadTestMessage(src.loadRef().beginParse()); - } - } -} - - type MasterchainTester_init_args = { - $$type: 'MasterchainTester_init_args'; -} - -function initMasterchainTester_init_args(src: MasterchainTester_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function MasterchainTester_init() { - const __code = Cell.fromBase64('te6ccgECGAEAAtIAART/APSkE/S88sgLAQIBYgIDApDQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQVBAIBIAYHAaTtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQ21I/nrrjAsAAjir5AYLwhdKIOEwAQ0WLAoA8siBZ9ogDxVPDZWNENGRo2slh8ka6k3/bMeCRMOJwBQC4MNMfAYIQ21I/nrry4IH6QAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IgB+kAh1wsBwwCOHAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IiSMW3iEmwSW38CAWIICQIBIAwNApWyE5vIgEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IghbpIxbY4cASDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiOLbPFnbPDGAVCgJHs7VINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCI2zwB2zwxgFQsABFt/AAQwfwIBIA4PAgEgERICEbYKW2eAO2eGMBUQALm3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOGy84zdGHN4T1ltQmJrcbvLAAPvpAASDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiDECASATFAIRtWIbZ4s7Z4YwFRYAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtTnNiTUpHRVg5bzVhenFuYXRmQkRQeVFBVWF6ZXlSdzY4cG5kb2praTg4d3OCABHu1E0NQB+GPSADCRbeDbPBcAVshyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IgAAm0='); - const __system = Cell.fromBase64('te6cckECGgEAAtwAAQHAAQEFoAxHAgEU/wD0pBP0vPLICwMCAWIVBAIBIBAFAgEgDAYCASAJBwIRtWIbZ4s7Z4YwGAgAVshyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IgCASALCgB1sm7jQ1aXBmczovL1FtTnNiTUpHRVg5bzVhenFuYXRmQkRQeVFBVWF6ZXlSdzY4cG5kb2praTg4d3OCAAEbCvu1E0NIAAYAIBIA4NALm3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOGy84zdGHN4T1ltQmJrcbvLACEbYKW2eAO2eGMBgPAD76QAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IgxAgFiExECR7O1SDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiNs8Ads8MYBgSAAQwfwKVshObyIBINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIIW6SMW2OHAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4Iji2zxZ2zwxgGBQABFt/ApDQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQYFgGk7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCENtSP5664wLAAI4q+QGC8IXSiDhMAENFiwKAPLIgWfaIA8VTw2VjRDRkaNrJYfJGupN/2zHgkTDicBcAuDDTHwGCENtSP5668uCB+kABINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIAfpAIdcLAcMAjhwBINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIkjFt4hJsElt/AR7tRNDUAfhj0gAwkW3g2zwZAAJtjp/o5w=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initMasterchainTester_init_args({ $$type: 'MasterchainTester_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const MasterchainTester_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const MasterchainTester_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"TestMessage","header":3679600542,"fields":[{"name":"address","type":{"kind":"simple","type":"address","optional":false}},{"name":"address2","type":{"kind":"simple","type":"address","optional":true}}]}, -] - -const MasterchainTester_getters: ABIGetter[] = [ - {"name":"createAddress","arguments":[{"name":"chain","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"hash","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"address","optional":false}}, - {"name":"parseAddress","arguments":[{"name":"src","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"address","optional":false}}, - {"name":"serializeAddress","arguments":[{"name":"src","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"handleStruct","arguments":[{"name":"src","type":{"kind":"simple","type":"TestMessage","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, -] - -const MasterchainTester_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Deploy"}}, - {"receiver":"internal","message":{"kind":"typed","type":"TestMessage"}}, -] - -export class MasterchainTester implements Contract { - - static async init() { - return await MasterchainTester_init(); - } - - static async fromInit() { - const init = await MasterchainTester_init(); - const address = contractAddress(0, init); - return new MasterchainTester(address, init); - } - - static fromAddress(address: Address) { - return new MasterchainTester(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: MasterchainTester_types, - getters: MasterchainTester_getters, - receivers: MasterchainTester_receivers, - errors: MasterchainTester_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Deploy' | TestMessage) { - - let body: Cell | null = null; - if (message === 'Deploy') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'TestMessage') { - body = beginCell().store(storeTestMessage(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getCreateAddress(provider: ContractProvider, chain: bigint, hash: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(chain); - builder.writeNumber(hash); - let source = (await provider.get('createAddress', builder.build())).stack; - let result = source.readAddress(); - return result; - } - - async getParseAddress(provider: ContractProvider, src: Cell) { - let builder = new TupleBuilder(); - builder.writeSlice(src); - let source = (await provider.get('parseAddress', builder.build())).stack; - let result = source.readAddress(); - return result; - } - - async getSerializeAddress(provider: ContractProvider, src: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(src); - let source = (await provider.get('serializeAddress', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getHandleStruct(provider: ContractProvider, src: TestMessage) { - let builder = new TupleBuilder(); - builder.writeTuple(storeTupleTestMessage(src)); - let source = (await provider.get('handleStruct', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/masterchain_MasterchainTester.abi b/src/test/features/output/masterchain_MasterchainTester.abi deleted file mode 100644 index 7a8088790..000000000 --- a/src/test/features/output/masterchain_MasterchainTester.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"MasterchainTester","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"TestMessage","header":3679600542,"fields":[{"name":"address","type":{"kind":"simple","type":"address","optional":false}},{"name":"address2","type":{"kind":"simple","type":"address","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Deploy"}},{"receiver":"internal","message":{"kind":"typed","type":"TestMessage"}}],"getters":[{"name":"createAddress","arguments":[{"name":"chain","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"hash","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"address","optional":false}},{"name":"parseAddress","arguments":[{"name":"src","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"address","optional":false}},{"name":"serializeAddress","arguments":[{"name":"src","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"handleStruct","arguments":[{"name":"src","type":{"kind":"simple","type":"TestMessage","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/masterchain_MasterchainTester.code.boc b/src/test/features/output/masterchain_MasterchainTester.code.boc deleted file mode 100644 index eb2d5af87..000000000 Binary files a/src/test/features/output/masterchain_MasterchainTester.code.boc and /dev/null differ diff --git a/src/test/features/output/masterchain_MasterchainTester.code.boc.html b/src/test/features/output/masterchain_MasterchainTester.code.boc.html deleted file mode 100644 index 2c637ffda..000000000 --- a/src/test/features/output/masterchain_MasterchainTester.code.boc.html +++ /dev/null @@ -1,364 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_67662;
-            ..DECLPROC ?fun_73429;
-            ..DECLPROC ?fun_102482;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_125712;
-            ..DECLPROC ?fun_ref_12c7412c3c44d083;
-            ..DECLPROC ?fun_ref_3c99f607c2c0535d;
-            ..DECLPROC ?fun_ref_992721538b459951;
-            ..DECLPROC ?fun_ref_a05e0042bce184fb;
-            ..DECLPROC ?fun_ref_aaf9e17355ae3248;
-            ..DECLPROC ?fun_ref_bcd1f497b26e948f;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            x11..recv_internal PROC:<{
-            18x11....s0 s1 XCHG
-            118x11....CTOS
-            26x11....4 LDU
-            18x11....s0 s1 XCHG
-            18x11....1 PUSHINT
-            18x11....AND
-            18x11....-1 MULCONST
-            18x11....s0 s1 XCHG
-            26x11....LDMSGADDR
-            18x11....s0 s1 XCHG
-            18x11....s0 PUSH
-            26x11....SBITS
-            34x11....267 PUSHINT
-            18x11....EQUAL
-            34x11....136 THROWIFNOT
-            18x11....s0 PUSH
-            34x11....11 PLDU
-            18x11....s0 PUSH
-            34x11....1279 PUSHINT
-            18x11....EQUAL
-            84x11....137 THROWIF
-            26x10....10 PUSHPOW2
-            18x10....EQUAL
-            34x10....136 THROWIFNOT
-            34x10....s0 s6 s4 PUXCPU
-            18x10....s0 s3 XCHG
-            30x10....4 TUPLE
-            28x10....1 SETGLOBVAR
-            18x10....s0 s2 XCHG
-            29x10....2 SETGLOBVAR
-            126x10....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x10....ROTREV
-            126x10....?fun_ref_992721538b459951 INLINECALLDICT
-            34x10....130 THROWIFNOT
-            18x10....s0 POP
-            18x10....NEWC
-            26x10....3 GETGLOBVAR
-            18x10....s0 s1 XCHG
-            18x10....STREF
-            18x10....-1 PUSHINT
-            18x10....s0 s1 XCHG
-            26x10....1 STI
-            518x10....ENDC
-            26x10....c4 POP
-            x11..}>
-            x4..?fun_67662 PROC:<{
-            28x4....2 UNTUPLE
-            18x4....s0 s1 XCHG
-            18x4....s0 PUSH
-            26x4....SBITS
-            34x4....267 PUSHINT
-            18x4....EQUAL
-            34x4....136 THROWIFNOT
-            18x4....s0 PUSH
-            34x4....11 PLDU
-            18x4....s0 PUSH
-            34x4....1279 PUSHINT
-            18x4....EQUAL
-            84x4....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s1 PUSH
-            18x3....ISNULL
-            18x3....<{
-            18x1......s1 POP
-            18x1......NULL
-            18x3....}> PUSHCONT
-            26x3....<{
-            18x2......s0 s1 XCHG
-            18x2......s0 PUSH
-            26x2......SBITS
-            34x2......267 PUSHINT
-            18x2......EQUAL
-            34x2......136 THROWIFNOT
-            18x2......s0 PUSH
-            34x2......11 PLDU
-            18x2......s0 PUSH
-            34x2......1279 PUSHINT
-            18x2......EQUAL
-            84x2......137 THROWIF
-            26x1......10 PUSHPOW2
-            18x1......EQUAL
-            34x1......136 THROWIFNOT
-            26x3....}> PUSHCONT
-            18x3....IFELSE
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....ROTREV
-            126x2....?fun_ref_3c99f607c2c0535d INLINECALLDICT
-            18x2....s1 POP
-            x4..}>
-            x2..?fun_73429 PROC:<{
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            84x2....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x1....s0 s1 XCHG
-            126x1....?fun_ref_12c7412c3c44d083 INLINECALLDICT
-            18x1....s1 POP
-            x2..}>
-            x2..?fun_102482 PROC:<{
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....s0 s1 XCHG
-            126x2....?fun_ref_aaf9e17355ae3248 INLINECALLDICT
-            18x1....s1 POP
-            x2..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D5A5664537A445A524A55377946716A433141354A75645A37544C48317351506142676543686348715951695782_} PUSHSLICE
-            ..}>
-            x3..?fun_125712 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_bcd1f497b26e948f INLINECALLDICT
-            18x1....s1 POP
-            x3..}>
-            x3..?fun_ref_12c7412c3c44d083 PROCREF:<{
-            18x3....s0 POP
-            18x3....-1 PUSHINT
-            x3..}>
-            x4..?fun_ref_3c99f607c2c0535d PROCREF:<{
-            18x4....DROP2
-            18x4....-1 PUSHINT
-            x4..}>
-            x10..?fun_ref_992721538b459951 PROCREF:<{
-            26x10....2 SAVE
-            26x10....SAMEALTSAVE
-            18x10....s0 s1 XCHG
-            18x10....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x10....}> PUSHCONT
-            18x10....IFJMP
-            18x10....0 PUSHINT
-            18x10....s1 PUSH
-            26x10....SBITS
-            26x10....31 GTINT
-            18x10....<{
-            18x10......s0 POP
-            18x10......s0 PUSH
-            34x10......32 PLDU
-            18x10....}> PUSHCONT
-            18x10....IF
-            18x10....s0 PUSH
-            23x10....3679600542 PUSHINT
-            18x10....EQUAL
-            26x10....<{
-            ......s0 POP
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......3679600542 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......LDMSGADDR
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......1279 PUSHINT
-            ......EQUAL
-            ......137 THROWIF
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 s1 XCHG
-            ......LDMSGADDR
-            ......s1 PUSH
-            ......2 PLDU
-            ......0 NEQINT
-            ......<{
-            ........s0 s1 XCHG
-            ........s0 PUSH
-            ........SBITS
-            ........267 PUSHINT
-            ........EQUAL
-            ........136 THROWIFNOT
-            ........s0 PUSH
-            ........11 PLDU
-            ........s0 PUSH
-            ........1279 PUSHINT
-            ........EQUAL
-            ........137 THROWIF
-            ........10 PUSHPOW2
-            ........EQUAL
-            ........136 THROWIFNOT
-            ......}> PUSHCONT
-            ......<{
-            ........s1 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s1 s2 XCHG
-            ......1 2 BLKDROP2
-            ......DROP2
-            ......-1 PUSHINT
-            26x10....}> IFJMPREF
-            26x10....0 EQINT
-            26x10....<{
-            526x10......HASHSU
-            23x10......60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT
-            18x10......EQUAL
-            18x10......<{
-            18x10........-1 PUSHINT
-            26x10........RETFALSE
-            18x10......}> PUSHCONT
-            18x10......IFJMP
-            26x10....}> PUSHCONT
-            18x10....<{
-            ......s0 POP
-            18x10....}> PUSHCONT
-            18x10....IFELSE
-            ....0 PUSHINT
-            x10..}>
-            x344..?fun_ref_a05e0042bce184fb PROCREF:<{
-            26x344....c4 PUSH
-            118x344....CTOS
-            18x344....LDREF
-            18x344....s0 s1 XCHG
-            30x344....3 SETGLOBVAR
-            26x344....1 LDI
-            18x344....s0 POP
-            18x344....<{
-            18x273......NULL
-            18x344....}> PUSHCONT
-            18x344....IFJMP
-            26x71....MYADDR
-            34x71....11 PLDU
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....137 THROWIFNOT
-            126x71....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x344..}>
-            x2..?fun_ref_aaf9e17355ae3248 PROCREF:<{
-            26x2....LDMSGADDR
-            18x2....s0 s1 XCHG
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            84x2....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s1 POP
-            x2..}>
-            x3..?fun_ref_bcd1f497b26e948f PROCREF:<{
-            18x3....NEWC
-            18x3....2 PUSHINT
-            18x3....s0 s1 XCHG
-            26x3....2 STU
-            18x3....0 PUSHINT
-            18x3....s0 s1 XCHG
-            26x3....1 STU
-            18x3....s1 s2 XCHG
-            26x3....8 STI
-            26x3....256 STU
-            518x3....ENDC
-            118x3....CTOS
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            84x3....137 THROWIF
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            84x2....136 THROWIFNOT
-            x3..}>
-            x80..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x80....NULL
-            x80..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/masterchain_MasterchainTester.code.fc b/src/test/features/output/masterchain_MasterchainTester.code.fc deleted file mode 100644 index 6c2898053..000000000 --- a/src/test/features/output/masterchain_MasterchainTester.code.fc +++ /dev/null @@ -1,164 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "masterchain_MasterchainTester.headers.fc"; -#include "masterchain_MasterchainTester.stdlib.fc"; -#include "masterchain_MasterchainTester.storage.fc"; - -;; -;; Contract MasterchainTester functions -;; - -tuple $MasterchainTester$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -(tuple, slice) $MasterchainTester$_fun_createAddress(tuple $self, int $chain, int $hash) impure inline_ref { - var ($self) = $self; - return ($self, __tact_create_address($chain, $hash)); -} - -(tuple, slice) $MasterchainTester$_fun_parseAddress(tuple $self, slice $src) impure inline_ref { - var ($self) = $self; - return ($self, $src~__tact_load_address()); -} - -(tuple, int) $MasterchainTester$_fun_serializeAddress(tuple $self, slice $src) impure inline_ref { - var ($self) = $self; - return ($self, true); -} - -(tuple, int) $MasterchainTester$_fun_handleStruct(tuple $self, (slice, slice) $src) impure inline_ref { - var ($self) = $self; - var (($src'address, $src'address2)) = $src; - return ($self, true); -} - -;; -;; Receivers of a Contract MasterchainTester -;; - -(tuple, ()) $MasterchainTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246(tuple $self) impure inline { - var $self = $self; - return ($self, ()); -} - -((tuple), ()) $MasterchainTester$_internal_binary_TestMessage(tuple $self, (slice, slice) $message) impure inline { - var $self = $self; - var ($message'address, $message'address2) = $message; - return ($self, ()); -} - -;; -;; Get methods of a Contract MasterchainTester -;; - -_ %createAddress(int $$chain, int $$hash) method_id(125712) { - int $chain = $$chain; - int $hash = $$hash; - var self = $MasterchainTester$_contract_load(); - var res = self~$MasterchainTester$_fun_createAddress($chain, $hash); - return res; -} - -_ %parseAddress(slice $$src) method_id(102482) { - slice $src = $$src; - var self = $MasterchainTester$_contract_load(); - var res = self~$MasterchainTester$_fun_parseAddress($src); - return res; -} - -_ %serializeAddress(slice $$src) method_id(73429) { - slice $src = __tact_verify_address($$src); - var self = $MasterchainTester$_contract_load(); - var res = self~$MasterchainTester$_fun_serializeAddress($src); - return res; -} - -_ %handleStruct(tuple $$src) method_id(67662) { - (slice, slice) $src = $TestMessage$_from_tuple($$src); - var self = $MasterchainTester$_contract_load(); - var res = self~$MasterchainTester$_fun_handleStruct($src); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmZVdSzDZRJU7yFqjC1A5JudZ7TLH1sQPaBgeChcHqYQiW"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract MasterchainTester -;; - -(tuple, int) $MasterchainTester$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive TestMessage message - if (op == 3679600542) { - var msg = in_msg~$TestMessage$_load(); - self~$MasterchainTester$_internal_binary_TestMessage(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Deploy" message - if (text_op == 0x85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246) { - self~$MasterchainTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $MasterchainTester$_contract_load(); - - ;; Handle operation - int handled = self~$MasterchainTester$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $MasterchainTester$_contract_store(self); -} diff --git a/src/test/features/output/masterchain_MasterchainTester.code.fif b/src/test/features/output/masterchain_MasterchainTester.code.fif deleted file mode 100644 index 4529e09d0..000000000 --- a/src/test/features/output/masterchain_MasterchainTester.code.fif +++ /dev/null @@ -1,265 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_load_address_opt - DECLPROC __tact_create_address - DECLPROC $TestMessage$_load - DECLPROC $TestMessage$_from_tuple - DECLPROC $MasterchainTester$_contract_init - DECLPROC $MasterchainTester$_contract_load - DECLPROC $MasterchainTester$_contract_store - DECLPROC $MasterchainTester$_fun_createAddress - DECLPROC $MasterchainTester$_fun_parseAddress - DECLPROC $MasterchainTester$_fun_serializeAddress - DECLPROC $MasterchainTester$_fun_handleStruct - DECLPROC $MasterchainTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 - DECLPROC $MasterchainTester$_internal_binary_TestMessage - 125712 DECLMETHOD %createAddress - 102482 DECLMETHOD %parseAddress - 73429 DECLMETHOD %serializeAddress - 67662 DECLMETHOD %handleStruct - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $MasterchainTester$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_load_address_opt PROCINLINE:<{ - LDMSGADDR - OVER - 2 PLDU - 0 NEQINT - IF:<{ - SWAP - __tact_verify_address INLINECALLDICT - }>ELSE<{ - NIP - PUSHNULL - }> - }> - __tact_create_address PROCINLINE:<{ - NEWC - 2 PUSHINT - SWAP - 2 STU - 0 PUSHINT - SWAP - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - __tact_verify_address INLINECALLDICT - }> - $TestMessage$_load PROCINLINE:<{ - 32 LDU - SWAP - 3679600542 PUSHINT - EQUAL - 129 THROWIFNOT - __tact_load_address INLINECALLDICT - SWAP - __tact_load_address_opt INLINECALLDICT - s1 s2 XCHG - }> - $TestMessage$_from_tuple PROCINLINE:<{ - 2 UNTUPLE - SWAP - __tact_verify_address INLINECALLDICT - OVER - ISNULL - IF:<{ - NIP - PUSHNULL - }>ELSE<{ - SWAP - __tact_verify_address INLINECALLDICT - }> - }> - $MasterchainTester$_contract_init PROCREF:<{ - PUSHNULL - }> - $MasterchainTester$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $MasterchainTester$_contract_init INLINECALLDICT - }> - $MasterchainTester$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $MasterchainTester$_fun_createAddress PROCREF:<{ - __tact_create_address INLINECALLDICT - }> - $MasterchainTester$_fun_parseAddress PROCREF:<{ - __tact_load_address INLINECALLDICT - NIP - }> - $MasterchainTester$_fun_serializeAddress PROCREF:<{ - DROP - TRUE - }> - $MasterchainTester$_fun_handleStruct PROCREF:<{ - 2DROP - TRUE - }> - $MasterchainTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 PROCINLINE:<{ - }> - $MasterchainTester$_internal_binary_TestMessage PROCINLINE:<{ - 2DROP - }> - %createAddress PROC:<{ - $MasterchainTester$_contract_load INLINECALLDICT - -ROT - $MasterchainTester$_fun_createAddress INLINECALLDICT - NIP - }> - %parseAddress PROC:<{ - $MasterchainTester$_contract_load INLINECALLDICT - SWAP - $MasterchainTester$_fun_parseAddress INLINECALLDICT - NIP - }> - %serializeAddress PROC:<{ - __tact_verify_address INLINECALLDICT - $MasterchainTester$_contract_load INLINECALLDICT - SWAP - $MasterchainTester$_fun_serializeAddress INLINECALLDICT - NIP - }> - %handleStruct PROC:<{ - $TestMessage$_from_tuple INLINECALLDICT - $MasterchainTester$_contract_load INLINECALLDICT - -ROT - $MasterchainTester$_fun_handleStruct INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d5a5664537a445a524a55377946716a433141354a75645a37544c483173515061426765436863487159516957} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $MasterchainTester$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 3679600542 PUSHINT - EQUAL - IFJMP:<{ - DROP - $TestMessage$_load INLINECALLDICT - 1 2 BLKDROP2 - $MasterchainTester$_internal_binary_TestMessage INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - 60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT - EQUAL - IFJMP:<{ - $MasterchainTester$_internal_text_85d288384c0043458b02803cb22059f68803c553c3656344346468dac961f246 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $MasterchainTester$_contract_load INLINECALLDICT - -ROT - $MasterchainTester$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $MasterchainTester$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/masterchain_MasterchainTester.code.rev.fif b/src/test/features/output/masterchain_MasterchainTester.code.rev.fif deleted file mode 100644 index 3cf54f4b1..000000000 --- a/src/test/features/output/masterchain_MasterchainTester.code.rev.fif +++ /dev/null @@ -1,328 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_67662; - DECLPROC ?fun_73429; - DECLPROC ?fun_102482; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_125712; - DECLPROC ?fun_ref_12c7412c3c44d083; - DECLPROC ?fun_ref_3c99f607c2c0535d; - DECLPROC ?fun_ref_992721538b459951; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_aaf9e17355ae3248; - DECLPROC ?fun_ref_bcd1f497b26e948f; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_992721538b459951 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_67662 PROC:<{ - 2 UNTUPLE - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 PUSH - ISNULL - <{ - s1 POP - NULL - }> PUSHCONT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - IFELSE - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_3c99f607c2c0535d INLINECALLDICT - s1 POP - }> - ?fun_73429 PROC:<{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_12c7412c3c44d083 INLINECALLDICT - s1 POP - }> - ?fun_102482 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_aaf9e17355ae3248 INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D5A5664537A445A524A55377946716A433141354A75645A37544C48317351506142676543686348715951695782_} PUSHSLICE - }> - ?fun_125712 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_bcd1f497b26e948f INLINECALLDICT - s1 POP - }> - ?fun_ref_12c7412c3c44d083 PROCREF:<{ - s0 POP - -1 PUSHINT - }> - ?fun_ref_3c99f607c2c0535d PROCREF:<{ - DROP2 - -1 PUSHINT - }> - ?fun_ref_992721538b459951 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 3679600542 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 3679600542 PUSHINT - EQUAL - 129 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - LDMSGADDR - s1 PUSH - 2 PLDU - 0 NEQINT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - <{ - s1 POP - NULL - }> PUSHCONT - IFELSE - s1 s2 XCHG - 1 2 BLKDROP2 - DROP2 - -1 PUSHINT - }> IFJMPREF - 0 EQINT - <{ - HASHSU - 60529586900441909508163366315693238357781362892506273907639555627111304786502 PUSHINT - EQUAL - <{ - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - 0 PUSHINT - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_aaf9e17355ae3248 PROCREF:<{ - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 POP - }> - ?fun_ref_bcd1f497b26e948f PROCREF:<{ - NEWC - 2 PUSHINT - s0 s1 XCHG - 2 STU - 0 PUSHINT - s0 s1 XCHG - 1 STU - s1 s2 XCHG - 8 STI - 256 STU - ENDC - CTOS - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/masterchain_MasterchainTester.headers.fc b/src/test/features/output/masterchain_MasterchainTester.headers.fc deleted file mode 100644 index 81ce34b2c..000000000 --- a/src/test/features/output/masterchain_MasterchainTester.headers.fc +++ /dev/null @@ -1,43 +0,0 @@ -;; -;; Header files for MasterchainTester -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_load_address_opt -(slice, slice) __tact_load_address_opt(slice cs) inline; - -;; __tact_create_address -slice __tact_create_address(int chain, int hash) inline; - -;; $TestMessage$_load -(slice, ((slice, slice))) $TestMessage$_load(slice sc_0) inline; - -;; $TestMessage$_from_tuple -(slice, slice) $TestMessage$_from_tuple(tuple v) inline; - -;; $MasterchainTester$_contract_init -tuple $MasterchainTester$_contract_init() impure inline_ref; - -;; $MasterchainTester$_contract_load -tuple $MasterchainTester$_contract_load() impure inline_ref; - -;; $MasterchainTester$_contract_store -() $MasterchainTester$_contract_store(tuple v) impure inline; - -;; $MasterchainTester$_fun_createAddress -(tuple, slice) $MasterchainTester$_fun_createAddress(tuple $self, int $chain, int $hash) impure inline_ref; - -;; $MasterchainTester$_fun_parseAddress -(tuple, slice) $MasterchainTester$_fun_parseAddress(tuple $self, slice $src) impure inline_ref; - -;; $MasterchainTester$_fun_serializeAddress -(tuple, int) $MasterchainTester$_fun_serializeAddress(tuple $self, slice $src) impure inline_ref; - -;; $MasterchainTester$_fun_handleStruct -(tuple, int) $MasterchainTester$_fun_handleStruct(tuple $self, (slice, slice) $src) impure inline_ref; diff --git a/src/test/features/output/masterchain_MasterchainTester.md b/src/test/features/output/masterchain_MasterchainTester.md deleted file mode 100644 index 25970fd81..000000000 --- a/src/test/features/output/masterchain_MasterchainTester.md +++ /dev/null @@ -1,64 +0,0 @@ -# TACT Compilation Report -Contract: MasterchainTester -BOC Size: 753 bytes - -# Types -Total Types: 4 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## TestMessage -TLB: `test_message#db523f9e address:address address2:Maybe address = TestMessage` -Signature: `TestMessage{address:address,address2:Maybe address}` - -# Get Methods -Total Get Methods: 4 - -## createAddress -Argument: chain -Argument: hash - -## parseAddress -Argument: src - -## serializeAddress -Argument: src - -## handleStruct -Argument: src - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/masterchain_MasterchainTester.pkg b/src/test/features/output/masterchain_MasterchainTester.pkg deleted file mode 100644 index 94fb5aea1..000000000 --- a/src/test/features/output/masterchain_MasterchainTester.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"MasterchainTester","code":"te6ccgECGAEAAuUAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UFQQCASAGBwGk7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCENtSP5664wLAAI4q+QGC8IXSiDhMAENFiwKAPLIgWfaIA8VTw2VjRDRkaNrJYfJGupN/2zHgkTDicAUAvDDTHwGCENtSP5668uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QCHXCwHDAI4dASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IiSMW3iEmwSW38CAWIICQIBIAwNApmyE5vIgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIIW6SMW2OHQEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI4ts8Wds8MYBUKAkmztUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zwB2zwxgFQsABFt/AAQwfwIBIA4PAgEgERICEbYKW2eAO2eGMBUQALm3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOE7Lpy1Zp2W5nQdLNsozdFJAAQPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgxAgEgExQCEbViG2eLO2eGMBUWABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVpWZFN6RFpSSlU3eUZxakMxQTVKdWRaN1RMSDFzUVBhQmdlQ2hjSHFZUWlXggATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPBcAWMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAAJt","abi":"{\"name\":\"MasterchainTester\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"TestMessage\",\"header\":3679600542,\"fields\":[{\"name\":\"address\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"address2\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Deploy\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"TestMessage\"}}],\"getters\":[{\"name\":\"createAddress\",\"arguments\":[{\"name\":\"chain\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"hash\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"parseAddress\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"serializeAddress\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"handleStruct\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"TestMessage\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECGgEAAu8AAQHAAQEFoAxHAgEU/wD0pBP0vPLICwMCAWIVBAIBIBAFAgEgDAYCASAJBwIRtWIbZ4s7Z4YwGAgAWMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAgEgCwoAdbJu40NWlwZnM6Ly9RbVpWZFN6RFpSSlU3eUZxakMxQTVKdWRaN1RMSDFzUVBhQmdlQ2hjSHFZUWlXggABGwr7tRNDSAAGACASAODQC5t3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAhG2CltngDtnhjAYDwBA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiDECAWITEQJJs7VINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8Ads8MYBgSAAQwfwKZshObyIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiCFukjFtjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPFnbPDGAYFAAEW38CktAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQYFgGk7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCENtSP5664wLAAI4q+QGC8IXSiDhMAENFiwKAPLIgWfaIA8VTw2VjRDRkaNrJYfJGupN/2zHgkTDicBcAvDDTHwGCENtSP5668uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QCHXCwHDAI4dASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IiSMW3iEmwSW38BNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8GQACbfa6CGI="}},"sources":{"src\\test\\features\\masterchain.tact":"bWVzc2FnZSBUZXN0TWVzc2FnZSB7DQogICAgYWRkcmVzczogQWRkcmVzczsNCiAgICBhZGRyZXNzMjogQWRkcmVzcz87DQp9DQoNCmNvbnRyYWN0IE1hc3RlcmNoYWluVGVzdGVyIHsNCg0KICAgIGluaXQoKSB7DQogICAgICAgIA0KICAgIH0NCiAgICANCiAgICByZWNlaXZlKCJEZXBsb3kiKSB7DQogICAgICAgIC8vIERlcGxveQ0KICAgIH0NCg0KICAgIHJlY2VpdmUobWVzc2FnZTogVGVzdE1lc3NhZ2UpIHsNCiAgICAgICAgLy8gU2hvdWxkIGZhaWwgZm9yIG5vbi1tYXN0ZXJjaGFpbg0KICAgIH0NCg0KICAgIGdldCBmdW4gY3JlYXRlQWRkcmVzcyhjaGFpbjogSW50LCBoYXNoOiBJbnQpOiBBZGRyZXNzIHsNCiAgICAgICAgcmV0dXJuIG5ld0FkZHJlc3MoY2hhaW4sIGhhc2gpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gcGFyc2VBZGRyZXNzKHNyYzogU2xpY2UpOiBBZGRyZXNzIHsNCiAgICAgICAgcmV0dXJuIHNyYy5sb2FkQWRkcmVzcygpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gc2VyaWFsaXplQWRkcmVzcyhzcmM6IEFkZHJlc3MpOiBCb29sIHsNCiAgICAgICAgcmV0dXJuIHRydWU7IC8vIE5PVEU6IHNyYyBpcyB1bnVzZWQgYnV0IHN0aWxsIGhhdmUgdG8gYmUgY2hlY2tlZA0KICAgIH0NCg0KICAgIGdldCBmdW4gaGFuZGxlU3RydWN0KHNyYzogVGVzdE1lc3NhZ2UpOiBCb29sIHsNCiAgICAgICAgcmV0dXJuIHRydWU7IC8vIE5PVEU6IHNyYyBpcyB1bnVzZWQgYnV0IHN0aWxsIGhhdmUgdG8gYmUgY2hlY2tlZA0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/masterchain.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/masterchain_MasterchainTester.stdlib.fc b/src/test/features/output/masterchain_MasterchainTester.stdlib.fc deleted file mode 100644 index ffbdb1823..000000000 --- a/src/test/features/output/masterchain_MasterchainTester.stdlib.fc +++ /dev/null @@ -1,38 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -(slice, slice) __tact_load_address_opt(slice cs) inline { - slice raw = cs~load_msg_addr(); - if (raw.preload_uint(2) != 0) { - return (cs, __tact_verify_address(raw)); - } else { - return (cs, null()); - } -} - -slice __tact_create_address(int chain, int hash) inline { - var b = begin_cell(); - b = b.store_uint(2, 2); - b = b.store_uint(0, 1); - b = b.store_int(chain, 8); - b = b.store_uint(hash, 256); - var addr = b.end_cell().begin_parse(); - return __tact_verify_address(addr); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; \ No newline at end of file diff --git a/src/test/features/output/masterchain_MasterchainTester.storage.fc b/src/test/features/output/masterchain_MasterchainTester.storage.fc deleted file mode 100644 index ed8adbe02..000000000 --- a/src/test/features/output/masterchain_MasterchainTester.storage.fc +++ /dev/null @@ -1,41 +0,0 @@ -;; -;; Type: TestMessage -;; Header: 0xdb523f9e -;; TLB: test_message#db523f9e address:address address2:Maybe address = TestMessage -;; - -(slice, ((slice, slice))) $TestMessage$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 3679600542); - var v'address = sc_0~__tact_load_address(); - var v'address2 = sc_0~__tact_load_address_opt(); - return (sc_0, (v'address, v'address2)); -} - -(slice, slice) $TestMessage$_from_tuple(tuple v) inline { - var (slice v'address, slice v'address2) = __tact_tuple_destroy_2(v); - return (__tact_verify_address(v'address), null?(v'address2) ? null() : __tact_verify_address(v'address2)); -} - -;; -;; Type: MasterchainTester -;; - -tuple $MasterchainTester$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $MasterchainTester$_contract_init(); - } -} - -() $MasterchainTester$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/masterchain_MasterchainTester.ts b/src/test/features/output/masterchain_MasterchainTester.ts deleted file mode 100644 index 4ffa5339d..000000000 --- a/src/test/features/output/masterchain_MasterchainTester.ts +++ /dev/null @@ -1,385 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type TestMessage = { - $$type: 'TestMessage'; - address: Address; - address2: Address | null; -} - -export function storeTestMessage(src: TestMessage) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(3679600542, 32); - b_0.storeAddress(src.address); - b_0.storeAddress(src.address2); - }; -} - -export function loadTestMessage(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 3679600542) { throw Error('Invalid prefix'); } - let _address = sc_0.loadAddress(); - let _address2 = sc_0.loadMaybeAddress(); - return { $$type: 'TestMessage' as const, address: _address, address2: _address2 }; -} - -function loadTupleTestMessage(source: TupleReader) { - let _address = source.readAddress(); - let _address2 = source.readAddressOpt(); - return { $$type: 'TestMessage' as const, address: _address, address2: _address2 }; -} - -function storeTupleTestMessage(source: TestMessage) { - let builder = new TupleBuilder(); - builder.writeAddress(source.address); - builder.writeAddress(source.address2); - return builder.build(); -} - -function dictValueParserTestMessage(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeTestMessage(src)).endCell()); - }, - parse: (src) => { - return loadTestMessage(src.loadRef().beginParse()); - } - } -} - - type MasterchainTester_init_args = { - $$type: 'MasterchainTester_init_args'; -} - -function initMasterchainTester_init_args(src: MasterchainTester_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function MasterchainTester_init() { - const __code = Cell.fromBase64('te6ccgECGAEAAuUAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UFQQCASAGBwGk7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCENtSP5664wLAAI4q+QGC8IXSiDhMAENFiwKAPLIgWfaIA8VTw2VjRDRkaNrJYfJGupN/2zHgkTDicAUAvDDTHwGCENtSP5668uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QCHXCwHDAI4dASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IiSMW3iEmwSW38CAWIICQIBIAwNApmyE5vIgEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIIW6SMW2OHQEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI4ts8Wds8MYBUKAkmztUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zwB2zwxgFQsABFt/AAQwfwIBIA4PAgEgERICEbYKW2eAO2eGMBUQALm3ejBOC52Hq6WVz2PQnYc6yVCjbNBOE7rGpaVsj5ZkWnXlv74sRzBOBAq4A3AM7HKZywdVyOS2WHBOA3qTvfKost446np7wKs4ZNBOE7Lpy1Zp2W5nQdLNsozdFJAAQPpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgxAgEgExQCEbViG2eLO2eGMBUWABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVpWZFN6RFpSSlU3eUZxakMxQTVKdWRaN1RMSDFzUVBhQmdlQ2hjSHFZUWlXggATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPBcAWMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAAJt'); - const __system = Cell.fromBase64('te6cckECGgEAAu8AAQHAAQEFoAxHAgEU/wD0pBP0vPLICwMCAWIVBAIBIBAFAgEgDAYCASAJBwIRtWIbZ4s7Z4YwGAgAWMhyAcsBcAHLABLKB8v/ydAg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIAgEgCwoAdbJu40NWlwZnM6Ly9RbVpWZFN6RFpSSlU3eUZxakMxQTVKdWRaN1RMSDFzUVBhQmdlQ2hjSHFZUWlXggABGwr7tRNDSAAGACASAODQC5t3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAhG2CltngDtnhjAYDwBA+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiDECAWITEQJJs7VINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8Ads8MYBgSAAQwfwKZshObyIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiCFukjFtjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPFnbPDGAYFAAEW38CktAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQYFgGk7aLt+wGSMH/gcCHXScIflTAg1wsf3iCCENtSP5664wLAAI4q+QGC8IXSiDhMAENFiwKAPLIgWfaIA8VTw2VjRDRkaNrJYfJGupN/2zHgkTDicBcAvDDTHwGCENtSP5668uCB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAH6QCHXCwHDAI4dASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IiSMW3iEmwSW38BNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8GQACbfa6CGI='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initMasterchainTester_init_args({ $$type: 'MasterchainTester_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const MasterchainTester_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const MasterchainTester_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"TestMessage","header":3679600542,"fields":[{"name":"address","type":{"kind":"simple","type":"address","optional":false}},{"name":"address2","type":{"kind":"simple","type":"address","optional":true}}]}, -] - -const MasterchainTester_getters: ABIGetter[] = [ - {"name":"createAddress","arguments":[{"name":"chain","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"hash","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"address","optional":false}}, - {"name":"parseAddress","arguments":[{"name":"src","type":{"kind":"simple","type":"slice","optional":false}}],"returnType":{"kind":"simple","type":"address","optional":false}}, - {"name":"serializeAddress","arguments":[{"name":"src","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"handleStruct","arguments":[{"name":"src","type":{"kind":"simple","type":"TestMessage","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, -] - -const MasterchainTester_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Deploy"}}, - {"receiver":"internal","message":{"kind":"typed","type":"TestMessage"}}, -] - -export class MasterchainTester implements Contract { - - static async init() { - return await MasterchainTester_init(); - } - - static async fromInit() { - const init = await MasterchainTester_init(); - const address = contractAddress(0, init); - return new MasterchainTester(address, init); - } - - static fromAddress(address: Address) { - return new MasterchainTester(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: MasterchainTester_types, - getters: MasterchainTester_getters, - receivers: MasterchainTester_receivers, - errors: MasterchainTester_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Deploy' | TestMessage) { - - let body: Cell | null = null; - if (message === 'Deploy') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'TestMessage') { - body = beginCell().store(storeTestMessage(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getCreateAddress(provider: ContractProvider, chain: bigint, hash: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(chain); - builder.writeNumber(hash); - let source = (await provider.get('createAddress', builder.build())).stack; - let result = source.readAddress(); - return result; - } - - async getParseAddress(provider: ContractProvider, src: Cell) { - let builder = new TupleBuilder(); - builder.writeSlice(src); - let source = (await provider.get('parseAddress', builder.build())).stack; - let result = source.readAddress(); - return result; - } - - async getSerializeAddress(provider: ContractProvider, src: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(src); - let source = (await provider.get('serializeAddress', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getHandleStruct(provider: ContractProvider, src: TestMessage) { - let builder = new TupleBuilder(); - builder.writeTuple(storeTupleTestMessage(src)); - let source = (await provider.get('handleStruct', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/math_MathTester.abi b/src/test/features/output/math_MathTester.abi deleted file mode 100644 index 8abc62c1e..000000000 --- a/src/test/features/output/math_MathTester.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"MathTester","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}],"getters":[{"name":"add","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"sub","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mul","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"div","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mod","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"shr","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"shl","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"and","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"or","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"addAug","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"subAug","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mulAug","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"divAug","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"modAug","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"compare1","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":true,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare2","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":true,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare3","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare4","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare5","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":true,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare6","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":true,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare7","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare8","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare9","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare10","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare11","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":false}},{"name":"b","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare12","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":false}},{"name":"b","type":{"kind":"simple","type":"address","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare13","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":true}},{"name":"b","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare14","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":true}},{"name":"b","type":{"kind":"simple","type":"address","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare15","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":false}},{"name":"b","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare16","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":false}},{"name":"b","type":{"kind":"simple","type":"address","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare17","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":true}},{"name":"b","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare18","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":true}},{"name":"b","type":{"kind":"simple","type":"address","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare19","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":false}},{"name":"b","type":{"kind":"simple","type":"cell","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare20","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":false}},{"name":"b","type":{"kind":"simple","type":"cell","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare21","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":true}},{"name":"b","type":{"kind":"simple","type":"cell","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare22","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":true}},{"name":"b","type":{"kind":"simple","type":"cell","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare23","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":false}},{"name":"b","type":{"kind":"simple","type":"cell","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare24","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":false}},{"name":"b","type":{"kind":"simple","type":"cell","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare25","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":true}},{"name":"b","type":{"kind":"simple","type":"cell","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare26","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":true}},{"name":"b","type":{"kind":"simple","type":"cell","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare27","arguments":[{"name":"a","type":{"kind":"dict","key":"int","value":"int"}},{"name":"b","type":{"kind":"dict","key":"int","value":"int"}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"compare28","arguments":[{"name":"a","type":{"kind":"dict","key":"int","value":"int"}},{"name":"b","type":{"kind":"dict","key":"int","value":"int"}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"isNull1","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"isNotNull1","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"isNull2","arguments":[{"name":"address","type":{"kind":"simple","type":"address","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"isNotNull2","arguments":[{"name":"address","type":{"kind":"simple","type":"address","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"isNull3","arguments":[{"name":"cell","type":{"kind":"simple","type":"cell","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"isNotNull3","arguments":[{"name":"cell","type":{"kind":"simple","type":"cell","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/math_MathTester.code.boc b/src/test/features/output/math_MathTester.code.boc deleted file mode 100644 index 4c7226653..000000000 Binary files a/src/test/features/output/math_MathTester.code.boc and /dev/null differ diff --git a/src/test/features/output/math_MathTester.code.boc.html b/src/test/features/output/math_MathTester.code.boc.html deleted file mode 100644 index 1454ce8a7..000000000 --- a/src/test/features/output/math_MathTester.code.boc.html +++ /dev/null @@ -1,1760 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_67104;
-            ..DECLPROC ?fun_68387;
-            ..DECLPROC ?fun_69278;
-            ..DECLPROC ?fun_71169;
-            ..DECLPROC ?fun_72450;
-            ..DECLPROC ?fun_73407;
-            ..DECLPROC ?fun_75056;
-            ..DECLPROC ?fun_77532;
-            ..DECLPROC ?fun_79121;
-            ..DECLPROC ?fun_80400;
-            ..DECLPROC ?fun_80704;
-            ..DECLPROC ?fun_81661;
-            ..DECLPROC ?fun_81709;
-            ..DECLPROC ?fun_83393;
-            ..DECLPROC ?fun_83863;
-            ..DECLPROC ?fun_84903;
-            ..DECLPROC ?fun_85125;
-            ..DECLPROC ?fun_85530;
-            ..DECLPROC ?fun_88966;
-            ..DECLPROC ?fun_89158;
-            ..DECLPROC ?fun_89358;
-            ..DECLPROC ?fun_90178;
-            ..DECLPROC ?fun_93157;
-            ..DECLPROC ?fun_93221;
-            ..DECLPROC ?fun_94307;
-            ..DECLPROC ?fun_97220;
-            ..DECLPROC ?fun_97284;
-            ..DECLPROC ?fun_98700;
-            ..DECLPROC ?fun_99260;
-            ..DECLPROC ?fun_99450;
-            ..DECLPROC ?fun_99590;
-            ..DECLPROC ?fun_100136;
-            ..DECLPROC ?fun_102829;
-            ..DECLPROC ?fun_103515;
-            ..DECLPROC ?fun_103719;
-            ..DECLPROC ?fun_104201;
-            ..DECLPROC ?fun_106958;
-            ..DECLPROC ?fun_107576;
-            ..DECLPROC ?fun_108394;
-            ..DECLPROC ?fun_108636;
-            ..DECLPROC ?fun_109161;
-            ..DECLPROC ?fun_110321;
-            ..DECLPROC ?fun_111087;
-            ..DECLPROC ?fun_111641;
-            ..DECLPROC ?fun_111973;
-            ..DECLPROC ?fun_112459;
-            ..DECLPROC ?fun_113224;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC ?fun_114791;
-            ..DECLPROC ?fun_114952;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC ?fun_115966;
-            ..DECLPROC ?fun_116652;
-            ..DECLPROC ?fun_119081;
-            ..DECLPROC ?fun_120031;
-            ..DECLPROC ?fun_120717;
-            ..DECLPROC ?fun_120881;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_123210;
-            ..DECLPROC ?fun_124092;
-            ..DECLPROC ?fun_124910;
-            ..DECLPROC ?fun_125000;
-            ..DECLPROC ?fun_126476;
-            ..DECLPROC ?fun_127339;
-            ..DECLPROC ?fun_128157;
-            ..DECLPROC ?fun_128975;
-            ..DECLPROC ?fun_129050;
-            ..DECLPROC ?fun_ref_06b3879f92816ea8;
-            ..DECLPROC ?fun_ref_0bddee3e66194d71;
-            ..DECLPROC ?fun_ref_1665824c3631042e;
-            ..DECLPROC ?fun_ref_1a5aedf76777daf0;
-            ..DECLPROC ?fun_ref_1dd4b06caa854cc5;
-            ..DECLPROC ?fun_ref_1e8474cb72f85f98;
-            ..DECLPROC ?fun_ref_251a304e2f13da63;
-            ..DECLPROC ?fun_ref_25d3dcb88f5e1c81;
-            ..DECLPROC ?fun_ref_278488dac308342b;
-            ..DECLPROC ?fun_ref_2de3f30de2cef910;
-            ..DECLPROC ?fun_ref_2e8105a0f1ba34b1;
-            ..DECLPROC ?fun_ref_2f14994fd76434ab;
-            ..DECLPROC ?fun_ref_39d09f18c03b037a;
-            ..DECLPROC ?fun_ref_3df1ed9c149f3ddc;
-            ..DECLPROC ?fun_ref_4473d19174b70b6c;
-            ..DECLPROC ?fun_ref_45e06f8a133863ea;
-            ..DECLPROC ?fun_ref_49c7034f83091de6;
-            ..DECLPROC ?fun_ref_5026e72acd3f4702;
-            ..DECLPROC ?fun_ref_502827ca8e8185dc;
-            ..DECLPROC ?fun_ref_52ebac4ebc285034;
-            ..DECLPROC ?fun_ref_5c56423ce8e9ee73;
-            ..DECLPROC ?fun_ref_7299352e77d5a022;
-            ..DECLPROC ?fun_ref_81da9ce5747a9d33;
-            ..DECLPROC ?fun_ref_8b1b2058f0ba717f;
-            ..DECLPROC ?fun_ref_8ffaafaa854bd141;
-            ..DECLPROC ?fun_ref_943f0cebd640e361;
-            ..DECLPROC ?fun_ref_977c111ff228eb82;
-            ..DECLPROC ?fun_ref_9855e2156586b67c;
-            ..DECLPROC ?fun_ref_9a0c5e8798cc0509;
-            ..DECLPROC ?fun_ref_a05e0042bce184fb;
-            ..DECLPROC ?fun_ref_acf9c214ccee2d81;
-            ..DECLPROC ?fun_ref_ad657d0473ebdc2c;
-            ..DECLPROC ?fun_ref_b35400841b15fc2d;
-            ..DECLPROC ?fun_ref_b4fde213ffa24781;
-            ..DECLPROC ?fun_ref_b78be06772ce3abe;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_bf9d36be65618269;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            ..DECLPROC ?fun_ref_c29a788970be0722;
-            ..DECLPROC ?fun_ref_c4dfd32efb676592;
-            ..DECLPROC ?fun_ref_d078cffef374dca6;
-            ..DECLPROC ?fun_ref_d5c7d946856b384e;
-            ..DECLPROC ?fun_ref_d90a47bc5659815b;
-            ..DECLPROC ?fun_ref_dac218b13a72ff8a;
-            ..DECLPROC ?fun_ref_dbbd90e91bdad5c0;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            ..DECLPROC ?fun_ref_ebb984d6b6cfd144;
-            ..DECLPROC ?fun_ref_ec91dcef8bc865b1;
-            ..DECLPROC ?fun_ref_edec8407367eca46;
-            ..DECLPROC ?fun_ref_ff17a983a407f70d;
-            x2..recv_internal PROC:<{
-            18x2....s0 s1 XCHG
-            118x2....CTOS
-            26x2....4 LDU
-            18x2....s0 s1 XCHG
-            18x2....1 PUSHINT
-            18x2....AND
-            18x2....-1 MULCONST
-            18x2....s0 s1 XCHG
-            26x2....LDMSGADDR
-            18x2....s0 s1 XCHG
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            34x2....137 THROWIF
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            34x2....s0 s6 s4 PUXCPU
-            18x2....s0 s3 XCHG
-            30x2....4 TUPLE
-            28x2....1 SETGLOBVAR
-            18x2....s0 s2 XCHG
-            29x2....2 SETGLOBVAR
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....ROTREV
-            126x2....?fun_ref_1dd4b06caa854cc5 INLINECALLDICT
-            34x2....130 THROWIFNOT
-            18x2....s0 POP
-            18x2....NEWC
-            26x2....3 GETGLOBVAR
-            18x2....s0 s1 XCHG
-            18x2....STREF
-            18x2....-1 PUSHINT
-            18x2....s0 s1 XCHG
-            26x2....1 STI
-            518x2....ENDC
-            26x2....c4 POP
-            x2..}>
-            x5..?fun_67104 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_9855e2156586b67c INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x5..?fun_68387 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_b35400841b15fc2d INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x9..?fun_69278 PROC:<{
-            126x9....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x9....ROTREV
-            126x9....?fun_ref_06b3879f92816ea8 INLINECALLDICT
-            18x9....s1 POP
-            x9..}>
-            x5..?fun_71169 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_25d3dcb88f5e1c81 INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x3..?fun_72450 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_2de3f30de2cef910 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x3..?fun_73407 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_dac218b13a72ff8a INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x3..?fun_75056 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_81da9ce5747a9d33 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x5..?fun_77532 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_977c111ff228eb82 INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x3..?fun_79121 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_ec91dcef8bc865b1 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x2..?fun_80400 PROC:<{
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....ROTREV
-            126x2....?fun_ref_edec8407367eca46 INLINECALLDICT
-            18x2....s1 POP
-            x2..}>
-            x5..?fun_80704 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_d078cffef374dca6 INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x5..?fun_81661 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_278488dac308342b INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x2..?fun_81709 PROC:<{
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....ROTREV
-            126x2....?fun_ref_b4fde213ffa24781 INLINECALLDICT
-            18x2....s1 POP
-            x2..}>
-            ..?fun_83393 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....ROTREV
-            ....?fun_ref_3df1ed9c149f3ddc INLINECALLDICT
-            ....s1 POP
-            ..}>
-            x2..?fun_83863 PROC:<{
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....ROTREV
-            126x2....?fun_ref_2e8105a0f1ba34b1 INLINECALLDICT
-            18x2....s1 POP
-            x2..}>
-            x5..?fun_84903 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_943f0cebd640e361 INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x1..?fun_85125 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x1....ROTREV
-            126x1....?fun_ref_1a5aedf76777daf0 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x9..?fun_85530 PROC:<{
-            126x9....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x9....ROTREV
-            126x9....?fun_ref_502827ca8e8185dc INLINECALLDICT
-            18x9....s1 POP
-            x9..}>
-            x3..?fun_88966 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_9a0c5e8798cc0509 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x4..?fun_89158 PROC:<{
-            126x4....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x4....s0 s1 XCHG
-            126x4....?fun_ref_0bddee3e66194d71 INLINECALLDICT
-            18x4....s1 POP
-            x4..}>
-            ..?fun_89358 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....ROTREV
-            ....?fun_ref_49c7034f83091de6 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            x3..?fun_90178 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_ebb984d6b6cfd144 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x3..?fun_93157 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_d5c7d946856b384e INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x3..?fun_93221 PROC:<{
-            18x3....s0 PUSH
-            18x3....ISNULL
-            18x3....<{
-            18x1......s0 POP
-            18x1......NULL
-            18x3....}> PUSHCONT
-            26x3....<{
-            18x2......s0 PUSH
-            26x2......SBITS
-            34x2......267 PUSHINT
-            18x2......EQUAL
-            34x2......136 THROWIFNOT
-            18x2......s0 PUSH
-            34x2......11 PLDU
-            18x2......s0 PUSH
-            34x2......1279 PUSHINT
-            18x2......EQUAL
-            34x2......137 THROWIF
-            26x2......10 PUSHPOW2
-            18x2......EQUAL
-            34x2......136 THROWIFNOT
-            26x3....}> PUSHCONT
-            18x3....IFELSE
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....s0 s1 XCHG
-            126x3....?fun_ref_0bddee3e66194d71 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x9..?fun_94307 PROC:<{
-            18x9....s1 PUSH
-            18x9....ISNULL
-            18x9....<{
-            18x4......s1 POP
-            18x4......NULL
-            18x9....}> PUSHCONT
-            26x9....<{
-            18x5......s0 s1 XCHG
-            18x5......s0 PUSH
-            26x5......SBITS
-            34x5......267 PUSHINT
-            18x5......EQUAL
-            34x5......136 THROWIFNOT
-            18x5......s0 PUSH
-            34x5......11 PLDU
-            18x5......s0 PUSH
-            34x5......1279 PUSHINT
-            18x5......EQUAL
-            34x5......137 THROWIF
-            26x5......10 PUSHPOW2
-            18x5......EQUAL
-            34x5......136 THROWIFNOT
-            26x9....}> PUSHCONT
-            18x9....IFELSE
-            18x9....s1 PUSH
-            18x9....ISNULL
-            18x9....<{
-            18x4......s1 POP
-            18x4......NULL
-            18x9....}> PUSHCONT
-            26x9....<{
-            18x5......s0 s1 XCHG
-            18x5......s0 PUSH
-            26x5......SBITS
-            34x5......267 PUSHINT
-            18x5......EQUAL
-            34x5......136 THROWIFNOT
-            18x5......s0 PUSH
-            34x5......11 PLDU
-            18x5......s0 PUSH
-            34x5......1279 PUSHINT
-            18x5......EQUAL
-            34x5......137 THROWIF
-            26x5......10 PUSHPOW2
-            18x5......EQUAL
-            34x5......136 THROWIFNOT
-            26x9....}> PUSHCONT
-            18x9....IFELSE
-            126x9....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x9....ROTREV
-            126x9....?fun_ref_8ffaafaa854bd141 INLINECALLDICT
-            18x9....s1 POP
-            x9..}>
-            x5..?fun_97220 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_251a304e2f13da63 INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x3..?fun_97284 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....s0 s1 XCHG
-            126x3....?fun_ref_0bddee3e66194d71 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x5..?fun_98700 PROC:<{
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x2......s1 POP
-            18x2......NULL
-            18x5....}> PUSHCONT
-            26x5....<{
-            18x3......s0 s1 XCHG
-            18x3......s0 PUSH
-            26x3......SBITS
-            34x3......267 PUSHINT
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s0 PUSH
-            34x3......11 PLDU
-            18x3......s0 PUSH
-            34x3......1279 PUSHINT
-            18x3......EQUAL
-            34x3......137 THROWIF
-            26x3......10 PUSHPOW2
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            26x5....}> PUSHCONT
-            18x5....IFELSE
-            18x5....s0 s1 XCHG
-            18x5....s0 PUSH
-            26x5....SBITS
-            34x5....267 PUSHINT
-            18x5....EQUAL
-            34x5....136 THROWIFNOT
-            18x5....s0 PUSH
-            34x5....11 PLDU
-            18x5....s0 PUSH
-            34x5....1279 PUSHINT
-            18x5....EQUAL
-            34x5....137 THROWIF
-            26x5....10 PUSHPOW2
-            18x5....EQUAL
-            34x5....136 THROWIFNOT
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_c4dfd32efb676592 INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x1..?fun_99260 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x1....ROTREV
-            126x1....?fun_ref_1e8474cb72f85f98 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x9..?fun_99450 PROC:<{
-            126x9....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x9....ROTREV
-            126x9....?fun_ref_52ebac4ebc285034 INLINECALLDICT
-            18x9....s1 POP
-            x9..}>
-            x3..?fun_99590 PROC:<{
-            18x3....s0 PUSH
-            18x3....ISNULL
-            18x3....<{
-            18x1......s0 POP
-            18x1......NULL
-            18x3....}> PUSHCONT
-            26x3....<{
-            18x2......s0 PUSH
-            26x2......SBITS
-            34x2......267 PUSHINT
-            18x2......EQUAL
-            34x2......136 THROWIFNOT
-            18x2......s0 PUSH
-            34x2......11 PLDU
-            18x2......s0 PUSH
-            34x2......1279 PUSHINT
-            18x2......EQUAL
-            34x2......137 THROWIF
-            26x2......10 PUSHPOW2
-            18x2......EQUAL
-            34x2......136 THROWIFNOT
-            26x3....}> PUSHCONT
-            18x3....IFELSE
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....s0 s1 XCHG
-            126x3....?fun_ref_dbbd90e91bdad5c0 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x5..?fun_100136 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_9855e2156586b67c INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x5..?fun_102829 PROC:<{
-            18x5....s0 s1 XCHG
-            18x5....s0 PUSH
-            26x5....SBITS
-            34x5....267 PUSHINT
-            18x5....EQUAL
-            34x5....136 THROWIFNOT
-            18x5....s0 PUSH
-            34x5....11 PLDU
-            18x5....s0 PUSH
-            34x5....1279 PUSHINT
-            18x5....EQUAL
-            34x5....137 THROWIF
-            26x5....10 PUSHPOW2
-            18x5....EQUAL
-            34x5....136 THROWIFNOT
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x2......s1 POP
-            18x2......NULL
-            18x5....}> PUSHCONT
-            26x5....<{
-            18x3......s0 s1 XCHG
-            18x3......s0 PUSH
-            26x3......SBITS
-            34x3......267 PUSHINT
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s0 PUSH
-            34x3......11 PLDU
-            18x3......s0 PUSH
-            34x3......1279 PUSHINT
-            18x3......EQUAL
-            34x3......137 THROWIF
-            26x3......10 PUSHPOW2
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            26x5....}> PUSHCONT
-            18x5....IFELSE
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_ad657d0473ebdc2c INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x3..?fun_103515 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_bf9d36be65618269 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x3..?fun_103719 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....s0 s1 XCHG
-            126x3....?fun_ref_dbbd90e91bdad5c0 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x5..?fun_104201 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_25d3dcb88f5e1c81 INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x3..?fun_106958 PROC:<{
-            18x3....s0 s1 XCHG
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 s1 XCHG
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_d90a47bc5659815b INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x5..?fun_107576 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_39d09f18c03b037a INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x3..?fun_108394 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_dac218b13a72ff8a INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            ..?fun_108636 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....ROTREV
-            ....?fun_ref_acf9c214ccee2d81 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            x3..?fun_109161 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_8b1b2058f0ba717f INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            ..?fun_110321 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....ROTREV
-            ....?fun_ref_1665824c3631042e INLINECALLDICT
-            ....s1 POP
-            ..}>
-            x9..?fun_111087 PROC:<{
-            18x9....s1 PUSH
-            18x9....ISNULL
-            18x9....<{
-            18x4......s1 POP
-            18x4......NULL
-            18x9....}> PUSHCONT
-            26x9....<{
-            18x5......s0 s1 XCHG
-            18x5......s0 PUSH
-            26x5......SBITS
-            34x5......267 PUSHINT
-            18x5......EQUAL
-            34x5......136 THROWIFNOT
-            18x5......s0 PUSH
-            34x5......11 PLDU
-            18x5......s0 PUSH
-            34x5......1279 PUSHINT
-            18x5......EQUAL
-            34x5......137 THROWIF
-            26x5......10 PUSHPOW2
-            18x5......EQUAL
-            34x5......136 THROWIFNOT
-            26x9....}> PUSHCONT
-            18x9....IFELSE
-            18x9....s1 PUSH
-            18x9....ISNULL
-            18x9....<{
-            18x4......s1 POP
-            18x4......NULL
-            18x9....}> PUSHCONT
-            26x9....<{
-            18x5......s0 s1 XCHG
-            18x5......s0 PUSH
-            26x5......SBITS
-            34x5......267 PUSHINT
-            18x5......EQUAL
-            34x5......136 THROWIFNOT
-            18x5......s0 PUSH
-            34x5......11 PLDU
-            18x5......s0 PUSH
-            34x5......1279 PUSHINT
-            18x5......EQUAL
-            34x5......137 THROWIF
-            26x5......10 PUSHPOW2
-            18x5......EQUAL
-            34x5......136 THROWIFNOT
-            26x9....}> PUSHCONT
-            18x9....IFELSE
-            126x9....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x9....ROTREV
-            126x9....?fun_ref_45e06f8a133863ea INLINECALLDICT
-            18x9....s1 POP
-            x9..}>
-            x5..?fun_111641 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_c29a788970be0722 INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x4..?fun_111973 PROC:<{
-            126x4....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x4....s0 s1 XCHG
-            126x4....?fun_ref_dbbd90e91bdad5c0 INLINECALLDICT
-            18x4....s1 POP
-            x4..}>
-            x9..?fun_112459 PROC:<{
-            126x9....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x9....ROTREV
-            126x9....?fun_ref_06b3879f92816ea8 INLINECALLDICT
-            18x9....s1 POP
-            x9..}>
-            x3..?fun_113224 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_5026e72acd3f4702 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            x2..?fun_114791 PROC:<{
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....ROTREV
-            126x2....?fun_ref_edec8407367eca46 INLINECALLDICT
-            18x2....s1 POP
-            x2..}>
-            x5..?fun_114952 PROC:<{
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x2......s1 POP
-            18x2......NULL
-            18x5....}> PUSHCONT
-            26x5....<{
-            18x3......s0 s1 XCHG
-            18x3......s0 PUSH
-            26x3......SBITS
-            34x3......267 PUSHINT
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s0 PUSH
-            34x3......11 PLDU
-            18x3......s0 PUSH
-            34x3......1279 PUSHINT
-            18x3......EQUAL
-            34x3......137 THROWIF
-            26x3......10 PUSHPOW2
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            26x5....}> PUSHCONT
-            18x5....IFELSE
-            18x5....s0 s1 XCHG
-            18x5....s0 PUSH
-            26x5....SBITS
-            34x5....267 PUSHINT
-            18x5....EQUAL
-            34x5....136 THROWIFNOT
-            18x5....s0 PUSH
-            34x5....11 PLDU
-            18x5....s0 PUSH
-            34x5....1279 PUSHINT
-            18x5....EQUAL
-            34x5....137 THROWIF
-            26x5....10 PUSHPOW2
-            18x5....EQUAL
-            34x5....136 THROWIFNOT
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_ff17a983a407f70d INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            x9..?fun_115966 PROC:<{
-            126x9....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x9....ROTREV
-            126x9....?fun_ref_81da9ce5747a9d33 INLINECALLDICT
-            18x9....s1 POP
-            x9..}>
-            x5..?fun_116652 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_278488dac308342b INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x5..?fun_119081 PROC:<{
-            18x5....s0 s1 XCHG
-            18x5....s0 PUSH
-            26x5....SBITS
-            34x5....267 PUSHINT
-            18x5....EQUAL
-            34x5....136 THROWIFNOT
-            18x5....s0 PUSH
-            34x5....11 PLDU
-            18x5....s0 PUSH
-            34x5....1279 PUSHINT
-            18x5....EQUAL
-            34x5....137 THROWIF
-            26x5....10 PUSHPOW2
-            18x5....EQUAL
-            34x5....136 THROWIFNOT
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x2......s1 POP
-            18x2......NULL
-            18x5....}> PUSHCONT
-            26x5....<{
-            18x3......s0 s1 XCHG
-            18x3......s0 PUSH
-            26x3......SBITS
-            34x3......267 PUSHINT
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s0 PUSH
-            34x3......11 PLDU
-            18x3......s0 PUSH
-            34x3......1279 PUSHINT
-            18x3......EQUAL
-            34x3......137 THROWIF
-            26x3......10 PUSHPOW2
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            26x5....}> PUSHCONT
-            18x5....IFELSE
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_2f14994fd76434ab INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x3..?fun_120031 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_52ebac4ebc285034 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x5..?fun_120717 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_977c111ff228eb82 INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x2..?fun_120881 PROC:<{
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....ROTREV
-            126x2....?fun_ref_2e8105a0f1ba34b1 INLINECALLDICT
-            18x2....s1 POP
-            x2..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D4E637167555A53426976636150655974634A7A67577131487872337563504A38657A577436376B4A5642456E82_} PUSHSLICE
-            ..}>
-            x3..?fun_123210 PROC:<{
-            18x3....s0 s1 XCHG
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 s1 XCHG
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_b78be06772ce3abe INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x5..?fun_124092 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_5c56423ce8e9ee73 INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x3..?fun_124910 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_ec91dcef8bc865b1 INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x1..?fun_125000 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x1....ROTREV
-            126x1....?fun_ref_1a5aedf76777daf0 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            ..?fun_126476 PROC:<{
-            ....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            ....ROTREV
-            ....?fun_ref_b4fde213ffa24781 INLINECALLDICT
-            ....s1 POP
-            ..}>
-            x3..?fun_127339 PROC:<{
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_4473d19174b70b6c INLINECALLDICT
-            18x3....s1 POP
-            x3..}>
-            x5..?fun_128157 PROC:<{
-            126x5....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x5....ROTREV
-            126x5....?fun_ref_7299352e77d5a022 INLINECALLDICT
-            18x5....s1 POP
-            x5..}>
-            x9..?fun_128975 PROC:<{
-            126x9....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x9....ROTREV
-            126x9....?fun_ref_502827ca8e8185dc INLINECALLDICT
-            18x9....s1 POP
-            x9..}>
-            x1..?fun_129050 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x1....ROTREV
-            126x1....?fun_ref_1e8474cb72f85f98 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x18..?fun_ref_06b3879f92816ea8 PROCREF:<{
-            18x18....s1 PUSH
-            18x18....ISNULL
-            18x18....s1 PUSH
-            18x18....ISNULL
-            18x18....DUP2
-            18x18....AND
-            18x18....<{
-            26x4......4 BLKDROP
-            18x4......-1 PUSHINT
-            18x18....}> PUSHCONT
-            26x18....<{
-            18x14......s0 s1 XCHG
-            18x14......NOT
-            18x14......s0 s1 XCHG
-            18x14......NOT
-            18x14......AND
-            18x14......<{
-            18x6........s0 s1 XCHG
-            526x6........HASHSU
-            18x6........s0 s1 XCHG
-            526x6........HASHSU
-            18x6........EQUAL
-            18x14......}> PUSHCONT
-            18x14......<{
-            18x8........DROP2
-            18x8........0 PUSHINT
-            18x14......}> PUSHCONT
-            18x14......IFELSE
-            26x18....}> PUSHCONT
-            18x18....IFELSE
-            x18..}>
-            x10..?fun_ref_0bddee3e66194d71 PROCREF:<{
-            18x10....ISNULL
-            18x10....NOT
-            x10..}>
-            ..?fun_ref_1665824c3631042e PROCREF:<{
-            ....LSHIFTX
-            ..}>
-            x2..?fun_ref_1a5aedf76777daf0 PROCREF:<{
-            26x2....false 0 false 1 0 DIV
-            x2..}>
-            x58..?fun_ref_1dd4b06caa854cc5 PROCREF:<{
-            18x58....s0 s1 XCHG
-            18x58....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x58....}> PUSHCONT
-            18x58....IFJMP
-            18x58....0 PUSHINT
-            18x58....s1 PUSH
-            26x58....SBITS
-            26x58....31 GTINT
-            18x58....<{
-            18x58......s0 POP
-            18x58......s0 PUSH
-            34x58......32 PLDU
-            18x58....}> PUSHCONT
-            18x58....IF
-            23x58....2490013878 PUSHINT
-            18x58....EQUAL
-            26x58....<{
-            26x58......32 LDU
-            18x58......s0 s1 XCHG
-            23x58......2490013878 PUSHINT
-            18x58......EQUAL
-            34x58......129 THROWIFNOT
-            26x58......64 LDU
-            18x58......s0 s1 XCHG
-            18x58......s1 POP
-            18x58......NEWC
-            18x58......s0 s1 XCHG
-            23x58......2952335191 PUSHINT
-            18x58......ROT
-            26x58......32 STU
-            26x58......64 STU
-            518x58......ENDC
-            26x58......2 GETGLOBVAR
-            18x58......s0 s1 XCHG
-            18x58......0 PUSHINT
-            18x58......NULL
-            126x58......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            18x58......-1 PUSHINT
-            26x58....}> PUSHCONT
-            18x58....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            x58..}>
-            x2..?fun_ref_1e8474cb72f85f98 PROCREF:<{
-            18x2....MUL
-            x2..}>
-            x5..?fun_ref_251a304e2f13da63 PROCREF:<{
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....DUP2
-            18x5....AND
-            18x5....<{
-            26x1......4 BLKDROP
-            18x1......-1 PUSHINT
-            18x5....}> PUSHCONT
-            18x5....<{
-            18x4......s0 s1 XCHG
-            18x4......NOT
-            18x4......s0 s1 XCHG
-            18x4......NOT
-            18x4......AND
-            18x4......<{
-            18x2........EQUAL
-            18x4......}> PUSHCONT
-            18x4......<{
-            18x2........DROP2
-            18x2........0 PUSHINT
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x5....}> PUSHCONT
-            18x5....IFELSE
-            x5..}>
-            x10..?fun_ref_25d3dcb88f5e1c81 PROCREF:<{
-            18x10....s0 s1 XCHG
-            18x10....s1 PUSH
-            18x10....ISNULL
-            18x10....<{
-            18x4......DROP2
-            18x4......0 PUSHINT
-            18x10....}> PUSHCONT
-            18x10....<{
-            18x6......s0 s1 XCHG
-            526x6......HASHSU
-            18x6......s0 s1 XCHG
-            526x6......HASHSU
-            18x6......EQUAL
-            18x10....}> PUSHCONT
-            18x10....IFELSE
-            x10..}>
-            x10..?fun_ref_278488dac308342b PROCREF:<{
-            18x10....s1 PUSH
-            18x10....ISNULL
-            18x10....<{
-            18x4......DROP2
-            18x4......-1 PUSHINT
-            18x10....}> PUSHCONT
-            18x10....<{
-            18x6......s0 s1 XCHG
-            526x6......HASHSU
-            18x6......s0 s1 XCHG
-            526x6......HASHSU
-            18x6......NEQ
-            18x10....}> PUSHCONT
-            18x10....IFELSE
-            x10..}>
-            x3..?fun_ref_2de3f30de2cef910 PROCREF:<{
-            18x3....s1 PUSH
-            18x3....ISNULL
-            18x3....<{
-            18x1......DROP2
-            18x1......0 PUSHINT
-            18x3....}> PUSHCONT
-            18x3....<{
-            18x2......EQUAL
-            18x3....}> PUSHCONT
-            18x3....IFELSE
-            x3..}>
-            x5..?fun_ref_2e8105a0f1ba34b1 PROCREF:<{
-            18x5....ADD
-            x5..}>
-            x5..?fun_ref_2f14994fd76434ab PROCREF:<{
-            18x5....s0 s1 XCHG
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x2......DROP2
-            18x2......0 PUSHINT
-            18x5....}> PUSHCONT
-            18x5....<{
-            26x3......SDEQ
-            18x5....}> PUSHCONT
-            18x5....IFELSE
-            x5..}>
-            x5..?fun_ref_39d09f18c03b037a PROCREF:<{
-            18x5....s0 s1 XCHG
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x2......DROP2
-            18x2......0 PUSHINT
-            18x5....}> PUSHCONT
-            18x5....<{
-            18x3......s0 s1 XCHG
-            26x3......HASHCU
-            18x3......s0 s1 XCHG
-            26x3......HASHCU
-            18x3......EQUAL
-            18x5....}> PUSHCONT
-            18x5....IFELSE
-            x5..}>
-            ..?fun_ref_3df1ed9c149f3ddc PROCREF:<{
-            ....OR
-            ..}>
-            x3..?fun_ref_4473d19174b70b6c PROCREF:<{
-            18x3....LEQ
-            x3..}>
-            x9..?fun_ref_45e06f8a133863ea PROCREF:<{
-            18x9....s1 PUSH
-            18x9....ISNULL
-            18x9....s1 PUSH
-            18x9....ISNULL
-            18x9....DUP2
-            18x9....AND
-            18x9....<{
-            26x2......4 BLKDROP
-            18x2......-1 PUSHINT
-            18x9....}> PUSHCONT
-            18x9....<{
-            18x7......s0 s1 XCHG
-            18x7......NOT
-            18x7......s0 s1 XCHG
-            18x7......NOT
-            18x7......AND
-            18x7......<{
-            26x3........SDEQ
-            18x7......}> PUSHCONT
-            18x7......<{
-            18x4........DROP2
-            18x4........0 PUSHINT
-            18x7......}> PUSHCONT
-            18x7......IFELSE
-            18x9....}> PUSHCONT
-            18x9....IFELSE
-            x9..}>
-            ..?fun_ref_49c7034f83091de6 PROCREF:<{
-            ....RSHIFTX
-            ..}>
-            x3..?fun_ref_5026e72acd3f4702 PROCREF:<{
-            18x3....LESS
-            x3..}>
-            x18..?fun_ref_502827ca8e8185dc PROCREF:<{
-            18x18....s1 PUSH
-            18x18....ISNULL
-            18x18....s1 PUSH
-            18x18....ISNULL
-            18x18....DUP2
-            18x18....AND
-            18x18....<{
-            26x4......4 BLKDROP
-            18x4......0 PUSHINT
-            18x18....}> PUSHCONT
-            26x18....<{
-            18x14......s0 s1 XCHG
-            18x14......NOT
-            18x14......s0 s1 XCHG
-            18x14......NOT
-            18x14......AND
-            18x14......<{
-            18x6........s0 s1 XCHG
-            526x6........HASHSU
-            18x6........s0 s1 XCHG
-            526x6........HASHSU
-            18x6........NEQ
-            18x14......}> PUSHCONT
-            18x14......<{
-            18x8........DROP2
-            18x8........-1 PUSHINT
-            18x14......}> PUSHCONT
-            18x14......IFELSE
-            26x18....}> PUSHCONT
-            18x18....IFELSE
-            x18..}>
-            x12..?fun_ref_52ebac4ebc285034 PROCREF:<{
-            18x12....s1 PUSH
-            18x12....ISNULL
-            18x12....s1 PUSH
-            18x12....ISNULL
-            18x12....DUP2
-            18x12....AND
-            18x12....<{
-            26x2......4 BLKDROP
-            18x2......-1 PUSHINT
-            18x12....}> PUSHCONT
-            26x12....<{
-            18x10......s0 s1 XCHG
-            18x10......NOT
-            18x10......s0 s1 XCHG
-            18x10......NOT
-            18x10......AND
-            18x10......<{
-            18x6........s0 s1 XCHG
-            26x6........HASHCU
-            18x6........s0 s1 XCHG
-            26x6........HASHCU
-            18x6........EQUAL
-            18x10......}> PUSHCONT
-            18x10......<{
-            18x4........DROP2
-            18x4........0 PUSHINT
-            18x10......}> PUSHCONT
-            18x10......IFELSE
-            26x12....}> PUSHCONT
-            18x12....IFELSE
-            x12..}>
-            x5..?fun_ref_5c56423ce8e9ee73 PROCREF:<{
-            18x5....s0 s1 XCHG
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x2......DROP2
-            18x2......-1 PUSHINT
-            18x5....}> PUSHCONT
-            18x5....<{
-            18x3......s0 s1 XCHG
-            26x3......HASHCU
-            18x3......s0 s1 XCHG
-            26x3......HASHCU
-            18x3......NEQ
-            18x5....}> PUSHCONT
-            18x5....IFELSE
-            x5..}>
-            x5..?fun_ref_7299352e77d5a022 PROCREF:<{
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x2......DROP2
-            18x2......-1 PUSHINT
-            18x5....}> PUSHCONT
-            18x5....<{
-            18x3......s0 s1 XCHG
-            26x3......HASHCU
-            18x3......s0 s1 XCHG
-            26x3......HASHCU
-            18x3......NEQ
-            18x5....}> PUSHCONT
-            18x5....IFELSE
-            x5..}>
-            x12..?fun_ref_81da9ce5747a9d33 PROCREF:<{
-            18x12....s1 PUSH
-            18x12....ISNULL
-            18x12....s1 PUSH
-            18x12....ISNULL
-            18x12....DUP2
-            18x12....AND
-            18x12....<{
-            26x2......4 BLKDROP
-            18x2......0 PUSHINT
-            18x12....}> PUSHCONT
-            26x12....<{
-            18x10......s0 s1 XCHG
-            18x10......NOT
-            18x10......s0 s1 XCHG
-            18x10......NOT
-            18x10......AND
-            18x10......<{
-            18x6........s0 s1 XCHG
-            26x6........HASHCU
-            18x6........s0 s1 XCHG
-            26x6........HASHCU
-            18x6........NEQ
-            18x10......}> PUSHCONT
-            18x10......<{
-            18x4........DROP2
-            18x4........-1 PUSHINT
-            18x10......}> PUSHCONT
-            18x10......IFELSE
-            26x12....}> PUSHCONT
-            18x12....IFELSE
-            x12..}>
-            x3..?fun_ref_8b1b2058f0ba717f PROCREF:<{
-            18x3....GEQ
-            x3..}>
-            x9..?fun_ref_8ffaafaa854bd141 PROCREF:<{
-            18x9....s1 PUSH
-            18x9....ISNULL
-            18x9....s1 PUSH
-            18x9....ISNULL
-            18x9....DUP2
-            18x9....AND
-            18x9....<{
-            26x2......4 BLKDROP
-            18x2......-1 PUSHINT
-            18x9....}> PUSHCONT
-            18x9....<{
-            18x7......s0 s1 XCHG
-            18x7......NOT
-            18x7......s0 s1 XCHG
-            18x7......NOT
-            18x7......AND
-            18x7......<{
-            26x3........SDEQ
-            18x7......}> PUSHCONT
-            18x7......<{
-            18x4........DROP2
-            18x4........0 PUSHINT
-            18x7......}> PUSHCONT
-            18x7......IFELSE
-            18x9....}> PUSHCONT
-            18x9....IFELSE
-            18x9....NOT
-            x9..}>
-            x5..?fun_ref_943f0cebd640e361 PROCREF:<{
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....DUP2
-            18x5....AND
-            18x5....<{
-            26x1......4 BLKDROP
-            18x1......0 PUSHINT
-            18x5....}> PUSHCONT
-            18x5....<{
-            18x4......s0 s1 XCHG
-            18x4......NOT
-            18x4......s0 s1 XCHG
-            18x4......NOT
-            18x4......AND
-            18x4......<{
-            18x2........NEQ
-            18x4......}> PUSHCONT
-            18x4......<{
-            18x2........DROP2
-            18x2........-1 PUSHINT
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x5....}> PUSHCONT
-            18x5....IFELSE
-            x5..}>
-            x10..?fun_ref_977c111ff228eb82 PROCREF:<{
-            18x10....s0 s1 XCHG
-            18x10....s1 PUSH
-            18x10....ISNULL
-            18x10....<{
-            18x4......DROP2
-            18x4......-1 PUSHINT
-            18x10....}> PUSHCONT
-            18x10....<{
-            18x6......s0 s1 XCHG
-            526x6......HASHSU
-            18x6......s0 s1 XCHG
-            526x6......HASHSU
-            18x6......NEQ
-            18x10....}> PUSHCONT
-            18x10....IFELSE
-            x10..}>
-            x10..?fun_ref_9855e2156586b67c PROCREF:<{
-            18x10....s1 PUSH
-            18x10....ISNULL
-            18x10....<{
-            18x4......DROP2
-            18x4......0 PUSHINT
-            18x10....}> PUSHCONT
-            18x10....<{
-            18x6......s0 s1 XCHG
-            526x6......HASHSU
-            18x6......s0 s1 XCHG
-            526x6......HASHSU
-            18x6......EQUAL
-            18x10....}> PUSHCONT
-            18x10....IFELSE
-            x10..}>
-            x3..?fun_ref_9a0c5e8798cc0509 PROCREF:<{
-            18x3....GREATER
-            x3..}>
-            x475..?fun_ref_a05e0042bce184fb PROCREF:<{
-            26x475....c4 PUSH
-            118x475....CTOS
-            18x475....LDREF
-            18x475....s0 s1 XCHG
-            30x475....3 SETGLOBVAR
-            26x475....1 LDI
-            18x475....s0 POP
-            18x475....<{
-            18x402......NULL
-            18x475....}> PUSHCONT
-            18x475....IFJMP
-            26x73....MYADDR
-            34x73....11 PLDU
-            26x73....10 PUSHPOW2
-            18x73....EQUAL
-            34x73....137 THROWIFNOT
-            126x73....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x475..}>
-            ..?fun_ref_acf9c214ccee2d81 PROCREF:<{
-            ....AND
-            ..}>
-            x5..?fun_ref_ad657d0473ebdc2c PROCREF:<{
-            18x5....s0 s1 XCHG
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x2......DROP2
-            18x2......0 PUSHINT
-            18x5....}> PUSHCONT
-            18x5....<{
-            26x3......SDEQ
-            18x5....}> PUSHCONT
-            18x5....IFELSE
-            18x5....NOT
-            x5..}>
-            x5..?fun_ref_b35400841b15fc2d PROCREF:<{
-            18x5....s0 s1 XCHG
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x1......DROP2
-            18x1......-1 PUSHINT
-            18x5....}> PUSHCONT
-            18x5....<{
-            18x4......NEQ
-            18x5....}> PUSHCONT
-            18x5....IFELSE
-            x5..}>
-            x2..?fun_ref_b4fde213ffa24781 PROCREF:<{
-            26x2....false 0 false 2 0 DIV
-            x2..}>
-            x3..?fun_ref_b78be06772ce3abe PROCREF:<{
-            18x3....s0 s1 XCHG
-            26x3....SDEQ
-            x3..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x3..?fun_ref_bf9d36be65618269 PROCREF:<{
-            18x3....s0 s1 XCHG
-            18x3....s0 s1 XCHG
-            26x3....HASHCU
-            18x3....s0 s1 XCHG
-            26x3....HASHCU
-            18x3....NEQ
-            x3..}>
-            x82..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x82....NULL
-            x82..}>
-            x5..?fun_ref_c29a788970be0722 PROCREF:<{
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x2......DROP2
-            18x2......0 PUSHINT
-            18x5....}> PUSHCONT
-            18x5....<{
-            18x3......s0 s1 XCHG
-            26x3......HASHCU
-            18x3......s0 s1 XCHG
-            26x3......HASHCU
-            18x3......EQUAL
-            18x5....}> PUSHCONT
-            18x5....IFELSE
-            x5..}>
-            x5..?fun_ref_c4dfd32efb676592 PROCREF:<{
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x2......DROP2
-            18x2......0 PUSHINT
-            18x5....}> PUSHCONT
-            18x5....<{
-            26x3......SDEQ
-            18x5....}> PUSHCONT
-            18x5....IFELSE
-            18x5....NOT
-            x5..}>
-            x5..?fun_ref_d078cffef374dca6 PROCREF:<{
-            18x5....s0 s1 XCHG
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x1......DROP2
-            18x1......0 PUSHINT
-            18x5....}> PUSHCONT
-            18x5....<{
-            18x4......EQUAL
-            18x5....}> PUSHCONT
-            18x5....IFELSE
-            x5..}>
-            x3..?fun_ref_d5c7d946856b384e PROCREF:<{
-            18x3....s1 PUSH
-            18x3....ISNULL
-            18x3....<{
-            18x1......DROP2
-            18x1......-1 PUSHINT
-            18x3....}> PUSHCONT
-            18x3....<{
-            18x2......NEQ
-            18x3....}> PUSHCONT
-            18x3....IFELSE
-            x3..}>
-            x3..?fun_ref_d90a47bc5659815b PROCREF:<{
-            18x3....s0 s1 XCHG
-            26x3....SDEQ
-            18x3....NOT
-            x3..}>
-            x6..?fun_ref_dac218b13a72ff8a PROCREF:<{
-            18x6....s0 s1 XCHG
-            18x6....s0 s1 XCHG
-            526x6....HASHSU
-            18x6....s0 s1 XCHG
-            526x6....HASHSU
-            18x6....NEQ
-            x6..}>
-            x10..?fun_ref_dbbd90e91bdad5c0 PROCREF:<{
-            18x10....ISNULL
-            x10..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            x3..?fun_ref_ebb984d6b6cfd144 PROCREF:<{
-            18x3....s0 s1 XCHG
-            18x3....s0 s1 XCHG
-            26x3....HASHCU
-            18x3....s0 s1 XCHG
-            26x3....HASHCU
-            18x3....EQUAL
-            x3..}>
-            x6..?fun_ref_ec91dcef8bc865b1 PROCREF:<{
-            18x6....s0 s1 XCHG
-            18x6....s0 s1 XCHG
-            526x6....HASHSU
-            18x6....s0 s1 XCHG
-            526x6....HASHSU
-            18x6....EQUAL
-            x6..}>
-            x4..?fun_ref_edec8407367eca46 PROCREF:<{
-            18x4....SUB
-            x4..}>
-            x5..?fun_ref_ff17a983a407f70d PROCREF:<{
-            18x5....s1 PUSH
-            18x5....ISNULL
-            18x5....<{
-            18x2......DROP2
-            18x2......0 PUSHINT
-            18x5....}> PUSHCONT
-            18x5....<{
-            26x3......SDEQ
-            18x5....}> PUSHCONT
-            18x5....IFELSE
-            x5..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/math_MathTester.code.fc b/src/test/features/output/math_MathTester.code.fc deleted file mode 100644 index 93bee5362..000000000 --- a/src/test/features/output/math_MathTester.code.fc +++ /dev/null @@ -1,722 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "math_MathTester.headers.fc"; -#include "math_MathTester.stdlib.fc"; -#include "math_MathTester.storage.fc"; - -;; -;; Contract MathTester functions -;; - -tuple $MathTester$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -(tuple, int) $MathTester$_fun_add(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a + $b)); -} - -(tuple, int) $MathTester$_fun_sub(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a - $b)); -} - -(tuple, int) $MathTester$_fun_mul(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a * $b)); -} - -(tuple, int) $MathTester$_fun_div(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a / $b)); -} - -(tuple, int) $MathTester$_fun_mod(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a % $b)); -} - -(tuple, int) $MathTester$_fun_shr(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a >> $b)); -} - -(tuple, int) $MathTester$_fun_shl(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a << $b)); -} - -(tuple, int) $MathTester$_fun_and(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a & $b)); -} - -(tuple, int) $MathTester$_fun_or(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a | $b)); -} - -(tuple, int) $MathTester$_fun_addAug(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - $a = $a + $b; - return ($self, $a); -} - -(tuple, int) $MathTester$_fun_subAug(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - $a = $a - $b; - return ($self, $a); -} - -(tuple, int) $MathTester$_fun_mulAug(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - $a = $a * $b; - return ($self, $a); -} - -(tuple, int) $MathTester$_fun_divAug(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - $a = $a / $b; - return ($self, $a); -} - -(tuple, int) $MathTester$_fun_modAug(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - $a = $a % $b; - return ($self, $a); -} - -(tuple, int) $MathTester$_fun_compare1(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_int_eq_nullable_one($b, $a)); -} - -(tuple, int) $MathTester$_fun_compare2(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_int_neq_nullable_one($b, $a)); -} - -(tuple, int) $MathTester$_fun_compare3(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_int_eq_nullable_one($a, $b)); -} - -(tuple, int) $MathTester$_fun_compare4(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_int_neq_nullable_one($a, $b)); -} - -(tuple, int) $MathTester$_fun_compare5(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_int_eq_nullable($a, $b)); -} - -(tuple, int) $MathTester$_fun_compare6(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_int_neq_nullable($a, $b)); -} - -(tuple, int) $MathTester$_fun_compare7(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a > $b)); -} - -(tuple, int) $MathTester$_fun_compare8(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a >= $b)); -} - -(tuple, int) $MathTester$_fun_compare9(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a < $b)); -} - -(tuple, int) $MathTester$_fun_compare10(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, ($a <= $b)); -} - -(tuple, int) $MathTester$_fun_compare11(tuple $self, slice $a, slice $b) impure inline_ref { - var ($self) = $self; - return ($self, ( __tact_slice_eq_bits($b, $a) )); -} - -(tuple, int) $MathTester$_fun_compare12(tuple $self, slice $a, slice $b) impure inline_ref { - var ($self) = $self; - return ($self, ( __tact_slice_eq_bits_nullable_one($b, $a) )); -} - -(tuple, int) $MathTester$_fun_compare13(tuple $self, slice $a, slice $b) impure inline_ref { - var ($self) = $self; - return ($self, ( __tact_slice_eq_bits_nullable_one($a, $b) )); -} - -(tuple, int) $MathTester$_fun_compare14(tuple $self, slice $a, slice $b) impure inline_ref { - var ($self) = $self; - return ($self, ( __tact_slice_eq_bits_nullable($a, $b) )); -} - -(tuple, int) $MathTester$_fun_compare15(tuple $self, slice $a, slice $b) impure inline_ref { - var ($self) = $self; - return ($self, ( ~ __tact_slice_eq_bits($b, $a) )); -} - -(tuple, int) $MathTester$_fun_compare16(tuple $self, slice $a, slice $b) impure inline_ref { - var ($self) = $self; - return ($self, ( ~ __tact_slice_eq_bits_nullable_one($b, $a) )); -} - -(tuple, int) $MathTester$_fun_compare17(tuple $self, slice $a, slice $b) impure inline_ref { - var ($self) = $self; - return ($self, ( ~ __tact_slice_eq_bits_nullable_one($a, $b) )); -} - -(tuple, int) $MathTester$_fun_compare18(tuple $self, slice $a, slice $b) impure inline_ref { - var ($self) = $self; - return ($self, ( ~ __tact_slice_eq_bits_nullable($a, $b) )); -} - -(tuple, int) $MathTester$_fun_compare19(tuple $self, cell $a, cell $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_cell_eq($b, $a)); -} - -(tuple, int) $MathTester$_fun_compare20(tuple $self, cell $a, cell $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_cell_eq_nullable_one($b, $a)); -} - -(tuple, int) $MathTester$_fun_compare21(tuple $self, cell $a, cell $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_cell_eq_nullable_one($a, $b)); -} - -(tuple, int) $MathTester$_fun_compare22(tuple $self, cell $a, cell $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_cell_eq_nullable($a, $b)); -} - -(tuple, int) $MathTester$_fun_compare23(tuple $self, cell $a, cell $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_cell_neq($b, $a)); -} - -(tuple, int) $MathTester$_fun_compare24(tuple $self, cell $a, cell $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_cell_neq_nullable_one($b, $a)); -} - -(tuple, int) $MathTester$_fun_compare25(tuple $self, cell $a, cell $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_cell_neq_nullable_one($a, $b)); -} - -(tuple, int) $MathTester$_fun_compare26(tuple $self, cell $a, cell $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_cell_neq_nullable($a, $b)); -} - -(tuple, int) $MathTester$_fun_compare27(tuple $self, cell $a, cell $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_cell_eq_nullable($a, $b)); -} - -(tuple, int) $MathTester$_fun_compare28(tuple $self, cell $a, cell $b) impure inline_ref { - var ($self) = $self; - return ($self, __tact_cell_neq_nullable($a, $b)); -} - -(tuple, int) $MathTester$_fun_isNull1(tuple $self, int $a) impure inline_ref { - var ($self) = $self; - return ($self, null?($a)); -} - -(tuple, int) $MathTester$_fun_isNotNull1(tuple $self, int $a) impure inline_ref { - var ($self) = $self; - return ($self, (~ null?($a))); -} - -(tuple, int) $MathTester$_fun_isNull2(tuple $self, slice $address) impure inline_ref { - var ($self) = $self; - return ($self, null?($address)); -} - -(tuple, int) $MathTester$_fun_isNotNull2(tuple $self, slice $address) impure inline_ref { - var ($self) = $self; - return ($self, (~ null?($address))); -} - -(tuple, int) $MathTester$_fun_isNull3(tuple $self, cell $cell) impure inline_ref { - var ($self) = $self; - return ($self, null?($cell)); -} - -(tuple, int) $MathTester$_fun_isNotNull3(tuple $self, cell $cell) impure inline_ref { - var ($self) = $self; - return ($self, (~ null?($cell))); -} - -;; -;; Receivers of a Contract MathTester -;; - -((tuple), ()) $MathTester$_internal_binary_Deploy(tuple $self, (int) $deploy) impure inline { - var $self = $self; - var ($deploy'queryId) = $deploy; - $self~$MathTester$_fun_notify($DeployOk$_store_cell($DeployOk$_constructor_queryId($deploy'queryId))); - return ($self, ()); -} - -;; -;; Get methods of a Contract MathTester -;; - -_ %add(int $$a, int $$b) method_id(83863) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_add($a, $b); - return res; -} - -_ %sub(int $$a, int $$b) method_id(80400) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_sub($a, $b); - return res; -} - -_ %mul(int $$a, int $$b) method_id(99260) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_mul($a, $b); - return res; -} - -_ %div(int $$a, int $$b) method_id(125000) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_div($a, $b); - return res; -} - -_ %mod(int $$a, int $$b) method_id(126476) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_mod($a, $b); - return res; -} - -_ %shr(int $$a, int $$b) method_id(89358) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_shr($a, $b); - return res; -} - -_ %shl(int $$a, int $$b) method_id(110321) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_shl($a, $b); - return res; -} - -_ %and(int $$a, int $$b) method_id(108636) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_and($a, $b); - return res; -} - -_ %or(int $$a, int $$b) method_id(83393) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_or($a, $b); - return res; -} - -_ %addAug(int $$a, int $$b) method_id(120881) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_addAug($a, $b); - return res; -} - -_ %subAug(int $$a, int $$b) method_id(114791) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_subAug($a, $b); - return res; -} - -_ %mulAug(int $$a, int $$b) method_id(129050) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_mulAug($a, $b); - return res; -} - -_ %divAug(int $$a, int $$b) method_id(85125) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_divAug($a, $b); - return res; -} - -_ %modAug(int $$a, int $$b) method_id(81709) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_modAug($a, $b); - return res; -} - -_ %compare1(int $$a, int $$b) method_id(80704) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare1($a, $b); - return res; -} - -_ %compare2(int $$a, int $$b) method_id(68387) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare2($a, $b); - return res; -} - -_ %compare3(int $$a, int $$b) method_id(72450) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare3($a, $b); - return res; -} - -_ %compare4(int $$a, int $$b) method_id(93157) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare4($a, $b); - return res; -} - -_ %compare5(int $$a, int $$b) method_id(97220) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare5($a, $b); - return res; -} - -_ %compare6(int $$a, int $$b) method_id(84903) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare6($a, $b); - return res; -} - -_ %compare7(int $$a, int $$b) method_id(88966) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare7($a, $b); - return res; -} - -_ %compare8(int $$a, int $$b) method_id(109161) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare8($a, $b); - return res; -} - -_ %compare9(int $$a, int $$b) method_id(113224) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare9($a, $b); - return res; -} - -_ %compare10(int $$a, int $$b) method_id(127339) { - int $a = $$a; - int $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare10($a, $b); - return res; -} - -_ %compare11(slice $$a, slice $$b) method_id(123210) { - slice $a = __tact_verify_address($$a); - slice $b = __tact_verify_address($$b); - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare11($a, $b); - return res; -} - -_ %compare12(slice $$a, slice $$b) method_id(119081) { - slice $a = __tact_verify_address($$a); - slice $b = null?($$b) ? null() : __tact_verify_address($$b); - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare12($a, $b); - return res; -} - -_ %compare13(slice $$a, slice $$b) method_id(114952) { - slice $a = null?($$a) ? null() : __tact_verify_address($$a); - slice $b = __tact_verify_address($$b); - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare13($a, $b); - return res; -} - -_ %compare14(slice $$a, slice $$b) method_id(111087) { - slice $a = null?($$a) ? null() : __tact_verify_address($$a); - slice $b = null?($$b) ? null() : __tact_verify_address($$b); - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare14($a, $b); - return res; -} - -_ %compare15(slice $$a, slice $$b) method_id(106958) { - slice $a = __tact_verify_address($$a); - slice $b = __tact_verify_address($$b); - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare15($a, $b); - return res; -} - -_ %compare16(slice $$a, slice $$b) method_id(102829) { - slice $a = __tact_verify_address($$a); - slice $b = null?($$b) ? null() : __tact_verify_address($$b); - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare16($a, $b); - return res; -} - -_ %compare17(slice $$a, slice $$b) method_id(98700) { - slice $a = null?($$a) ? null() : __tact_verify_address($$a); - slice $b = __tact_verify_address($$b); - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare17($a, $b); - return res; -} - -_ %compare18(slice $$a, slice $$b) method_id(94307) { - slice $a = null?($$a) ? null() : __tact_verify_address($$a); - slice $b = null?($$b) ? null() : __tact_verify_address($$b); - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare18($a, $b); - return res; -} - -_ %compare19(cell $$a, cell $$b) method_id(90178) { - cell $a = $$a; - cell $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare19($a, $b); - return res; -} - -_ %compare20(cell $$a, cell $$b) method_id(107576) { - cell $a = $$a; - cell $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare20($a, $b); - return res; -} - -_ %compare21(cell $$a, cell $$b) method_id(111641) { - cell $a = $$a; - cell $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare21($a, $b); - return res; -} - -_ %compare22(cell $$a, cell $$b) method_id(99450) { - cell $a = $$a; - cell $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare22($a, $b); - return res; -} - -_ %compare23(cell $$a, cell $$b) method_id(103515) { - cell $a = $$a; - cell $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare23($a, $b); - return res; -} - -_ %compare24(cell $$a, cell $$b) method_id(124092) { - cell $a = $$a; - cell $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare24($a, $b); - return res; -} - -_ %compare25(cell $$a, cell $$b) method_id(128157) { - cell $a = $$a; - cell $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare25($a, $b); - return res; -} - -_ %compare26(cell $$a, cell $$b) method_id(115966) { - cell $a = $$a; - cell $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare26($a, $b); - return res; -} - -_ %compare27(cell $$a, cell $$b) method_id(120031) { - cell $a = $$a; - cell $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare27($a, $b); - return res; -} - -_ %compare28(cell $$a, cell $$b) method_id(75056) { - cell $a = $$a; - cell $b = $$b; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_compare28($a, $b); - return res; -} - -_ %isNull1(int $$a) method_id(111973) { - int $a = $$a; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_isNull1($a); - return res; -} - -_ %isNotNull1(int $$a) method_id(89158) { - int $a = $$a; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_isNotNull1($a); - return res; -} - -_ %isNull2(slice $$address) method_id(99590) { - slice $address = null?($$address) ? null() : __tact_verify_address($$address); - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_isNull2($address); - return res; -} - -_ %isNotNull2(slice $$address) method_id(93221) { - slice $address = null?($$address) ? null() : __tact_verify_address($$address); - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_isNotNull2($address); - return res; -} - -_ %isNull3(cell $$cell) method_id(103719) { - cell $cell = $$cell; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_isNull3($cell); - return res; -} - -_ %isNotNull3(cell $$cell) method_id(97284) { - cell $cell = $$cell; - var self = $MathTester$_contract_load(); - var res = self~$MathTester$_fun_isNotNull3($cell); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmavmjWAsXUiS6LRjoUL1VZENKLNHo9rWT4Ab3RSx4E5Rr"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract MathTester -;; - -(tuple, int) $MathTester$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Deploy message - if (op == 2490013878) { - var msg = in_msg~$Deploy$_load(); - self~$MathTester$_internal_binary_Deploy(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $MathTester$_contract_load(); - - ;; Handle operation - int handled = self~$MathTester$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $MathTester$_contract_store(self); -} diff --git a/src/test/features/output/math_MathTester.code.fif b/src/test/features/output/math_MathTester.code.fif deleted file mode 100644 index 7284e7878..000000000 --- a/src/test/features/output/math_MathTester.code.fif +++ /dev/null @@ -1,1202 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC __tact_slice_eq_bits - DECLPROC __tact_slice_eq_bits_nullable_one - DECLPROC __tact_slice_eq_bits_nullable - DECLPROC __tact_int_eq_nullable_one - DECLPROC __tact_int_neq_nullable_one - DECLPROC __tact_int_eq_nullable - DECLPROC __tact_int_neq_nullable - DECLPROC __tact_cell_eq - DECLPROC __tact_cell_neq - DECLPROC __tact_cell_eq_nullable_one - DECLPROC __tact_cell_neq_nullable_one - DECLPROC __tact_cell_eq_nullable - DECLPROC __tact_cell_neq_nullable - DECLPROC $Deploy$_load - DECLPROC $DeployOk$_store - DECLPROC $DeployOk$_store_cell - DECLPROC $StateInit$_not_null - DECLPROC $MathTester$_contract_init - DECLPROC $MathTester$_contract_load - DECLPROC $MathTester$_contract_store - DECLPROC $global_send - DECLPROC $MathTester$_fun_add - DECLPROC $MathTester$_fun_sub - DECLPROC $MathTester$_fun_mul - DECLPROC $MathTester$_fun_div - DECLPROC $MathTester$_fun_mod - DECLPROC $MathTester$_fun_shr - DECLPROC $MathTester$_fun_shl - DECLPROC $MathTester$_fun_and - DECLPROC $MathTester$_fun_or - DECLPROC $MathTester$_fun_addAug - DECLPROC $MathTester$_fun_subAug - DECLPROC $MathTester$_fun_mulAug - DECLPROC $MathTester$_fun_divAug - DECLPROC $MathTester$_fun_modAug - DECLPROC $MathTester$_fun_compare1 - DECLPROC $MathTester$_fun_compare2 - DECLPROC $MathTester$_fun_compare3 - DECLPROC $MathTester$_fun_compare4 - DECLPROC $MathTester$_fun_compare5 - DECLPROC $MathTester$_fun_compare6 - DECLPROC $MathTester$_fun_compare7 - DECLPROC $MathTester$_fun_compare8 - DECLPROC $MathTester$_fun_compare9 - DECLPROC $MathTester$_fun_compare10 - DECLPROC $MathTester$_fun_compare11 - DECLPROC $MathTester$_fun_compare12 - DECLPROC $MathTester$_fun_compare13 - DECLPROC $MathTester$_fun_compare14 - DECLPROC $MathTester$_fun_compare15 - DECLPROC $MathTester$_fun_compare16 - DECLPROC $MathTester$_fun_compare17 - DECLPROC $MathTester$_fun_compare18 - DECLPROC $MathTester$_fun_compare19 - DECLPROC $MathTester$_fun_compare20 - DECLPROC $MathTester$_fun_compare21 - DECLPROC $MathTester$_fun_compare22 - DECLPROC $MathTester$_fun_compare23 - DECLPROC $MathTester$_fun_compare24 - DECLPROC $MathTester$_fun_compare25 - DECLPROC $MathTester$_fun_compare26 - DECLPROC $MathTester$_fun_compare27 - DECLPROC $MathTester$_fun_compare28 - DECLPROC $MathTester$_fun_isNull1 - DECLPROC $MathTester$_fun_isNotNull1 - DECLPROC $MathTester$_fun_isNull2 - DECLPROC $MathTester$_fun_isNotNull2 - DECLPROC $MathTester$_fun_isNull3 - DECLPROC $MathTester$_fun_isNotNull3 - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $MathTester$_fun_forward - DECLPROC $MathTester$_fun_notify - DECLPROC $DeployOk$_constructor_queryId - DECLPROC $MathTester$_internal_binary_Deploy - 83863 DECLMETHOD %add - 80400 DECLMETHOD %sub - 99260 DECLMETHOD %mul - 125000 DECLMETHOD %div - 126476 DECLMETHOD %mod - 89358 DECLMETHOD %shr - 110321 DECLMETHOD %shl - 108636 DECLMETHOD %and - 83393 DECLMETHOD %or - 120881 DECLMETHOD %addAug - 114791 DECLMETHOD %subAug - 129050 DECLMETHOD %mulAug - 85125 DECLMETHOD %divAug - 81709 DECLMETHOD %modAug - 80704 DECLMETHOD %compare1 - 68387 DECLMETHOD %compare2 - 72450 DECLMETHOD %compare3 - 93157 DECLMETHOD %compare4 - 97220 DECLMETHOD %compare5 - 84903 DECLMETHOD %compare6 - 88966 DECLMETHOD %compare7 - 109161 DECLMETHOD %compare8 - 113224 DECLMETHOD %compare9 - 127339 DECLMETHOD %compare10 - 123210 DECLMETHOD %compare11 - 119081 DECLMETHOD %compare12 - 114952 DECLMETHOD %compare13 - 111087 DECLMETHOD %compare14 - 106958 DECLMETHOD %compare15 - 102829 DECLMETHOD %compare16 - 98700 DECLMETHOD %compare17 - 94307 DECLMETHOD %compare18 - 90178 DECLMETHOD %compare19 - 107576 DECLMETHOD %compare20 - 111641 DECLMETHOD %compare21 - 99450 DECLMETHOD %compare22 - 103515 DECLMETHOD %compare23 - 124092 DECLMETHOD %compare24 - 128157 DECLMETHOD %compare25 - 115966 DECLMETHOD %compare26 - 120031 DECLMETHOD %compare27 - 75056 DECLMETHOD %compare28 - 111973 DECLMETHOD %isNull1 - 89158 DECLMETHOD %isNotNull1 - 99590 DECLMETHOD %isNull2 - 93221 DECLMETHOD %isNotNull2 - 103719 DECLMETHOD %isNull3 - 97284 DECLMETHOD %isNotNull3 - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $MathTester$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - __tact_slice_eq_bits PROCINLINE:<{ - SDEQ - }> - __tact_slice_eq_bits_nullable_one PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - FALSE - }>ELSE<{ - SDEQ - }> - }> - __tact_slice_eq_bits_nullable PROCINLINE:<{ - OVER - ISNULL - OVER - ISNULL - 2DUP - AND - IF:<{ - 4 BLKDROP - TRUE - }>ELSE<{ - SWAP - NOT - SWAP - NOT - AND - IF:<{ - SDEQ - }>ELSE<{ - 2DROP - FALSE - }> - }> - }> - __tact_int_eq_nullable_one PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - FALSE - }>ELSE<{ - EQUAL - }> - }> - __tact_int_neq_nullable_one PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - TRUE - }>ELSE<{ - NEQ - }> - }> - __tact_int_eq_nullable PROCINLINE:<{ - OVER - ISNULL - OVER - ISNULL - 2DUP - AND - IF:<{ - 4 BLKDROP - TRUE - }>ELSE<{ - SWAP - NOT - SWAP - NOT - AND - IF:<{ - EQUAL - }>ELSE<{ - 2DROP - FALSE - }> - }> - }> - __tact_int_neq_nullable PROCINLINE:<{ - OVER - ISNULL - OVER - ISNULL - 2DUP - AND - IF:<{ - 4 BLKDROP - FALSE - }>ELSE<{ - SWAP - NOT - SWAP - NOT - AND - IF:<{ - NEQ - }>ELSE<{ - 2DROP - TRUE - }> - }> - }> - __tact_cell_eq PROCINLINE:<{ - SWAP - HASHCU - SWAP - HASHCU - EQUAL - }> - __tact_cell_neq PROCINLINE:<{ - SWAP - HASHCU - SWAP - HASHCU - NEQ - }> - __tact_cell_eq_nullable_one PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - FALSE - }>ELSE<{ - SWAP - HASHCU - SWAP - HASHCU - EQUAL - }> - }> - __tact_cell_neq_nullable_one PROCINLINE:<{ - OVER - ISNULL - IF:<{ - 2DROP - TRUE - }>ELSE<{ - SWAP - HASHCU - SWAP - HASHCU - NEQ - }> - }> - __tact_cell_eq_nullable PROCINLINE:<{ - OVER - ISNULL - OVER - ISNULL - 2DUP - AND - IF:<{ - 4 BLKDROP - TRUE - }>ELSE<{ - SWAP - NOT - SWAP - NOT - AND - IF:<{ - SWAP - HASHCU - SWAP - HASHCU - EQUAL - }>ELSE<{ - 2DROP - FALSE - }> - }> - }> - __tact_cell_neq_nullable PROCINLINE:<{ - OVER - ISNULL - OVER - ISNULL - 2DUP - AND - IF:<{ - 4 BLKDROP - FALSE - }>ELSE<{ - SWAP - NOT - SWAP - NOT - AND - IF:<{ - SWAP - HASHCU - SWAP - HASHCU - NEQ - }>ELSE<{ - 2DROP - TRUE - }> - }> - }> - $Deploy$_load PROCINLINE:<{ - 32 LDU - SWAP - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - SWAP - }> - $DeployOk$_store PROCINLINE:<{ - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - }> - $DeployOk$_store_cell PROCINLINE:<{ - NEWC - SWAP - $DeployOk$_store INLINECALLDICT - ENDC - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $MathTester$_contract_init PROCREF:<{ - PUSHNULL - }> - $MathTester$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $MathTester$_contract_init INLINECALLDICT - }> - $MathTester$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $MathTester$_fun_add PROCREF:<{ - ADD - }> - $MathTester$_fun_sub PROCREF:<{ - SUB - }> - $MathTester$_fun_mul PROCREF:<{ - MUL - }> - $MathTester$_fun_div PROCREF:<{ - DIV - }> - $MathTester$_fun_mod PROCREF:<{ - MOD - }> - $MathTester$_fun_shr PROCREF:<{ - RSHIFT - }> - $MathTester$_fun_shl PROCREF:<{ - LSHIFT - }> - $MathTester$_fun_and PROCREF:<{ - AND - }> - $MathTester$_fun_or PROCREF:<{ - OR - }> - $MathTester$_fun_addAug PROCREF:<{ - ADD - }> - $MathTester$_fun_subAug PROCREF:<{ - SUB - }> - $MathTester$_fun_mulAug PROCREF:<{ - MUL - }> - $MathTester$_fun_divAug PROCREF:<{ - DIV - }> - $MathTester$_fun_modAug PROCREF:<{ - MOD - }> - $MathTester$_fun_compare1 PROCREF:<{ - SWAP - __tact_int_eq_nullable_one INLINECALLDICT - }> - $MathTester$_fun_compare2 PROCREF:<{ - SWAP - __tact_int_neq_nullable_one INLINECALLDICT - }> - $MathTester$_fun_compare3 PROCREF:<{ - __tact_int_eq_nullable_one INLINECALLDICT - }> - $MathTester$_fun_compare4 PROCREF:<{ - __tact_int_neq_nullable_one INLINECALLDICT - }> - $MathTester$_fun_compare5 PROCREF:<{ - __tact_int_eq_nullable INLINECALLDICT - }> - $MathTester$_fun_compare6 PROCREF:<{ - __tact_int_neq_nullable INLINECALLDICT - }> - $MathTester$_fun_compare7 PROCREF:<{ - GREATER - }> - $MathTester$_fun_compare8 PROCREF:<{ - GEQ - }> - $MathTester$_fun_compare9 PROCREF:<{ - LESS - }> - $MathTester$_fun_compare10 PROCREF:<{ - LEQ - }> - $MathTester$_fun_compare11 PROCREF:<{ - SWAP - __tact_slice_eq_bits INLINECALLDICT - }> - $MathTester$_fun_compare12 PROCREF:<{ - SWAP - __tact_slice_eq_bits_nullable_one INLINECALLDICT - }> - $MathTester$_fun_compare13 PROCREF:<{ - __tact_slice_eq_bits_nullable_one INLINECALLDICT - }> - $MathTester$_fun_compare14 PROCREF:<{ - __tact_slice_eq_bits_nullable INLINECALLDICT - }> - $MathTester$_fun_compare15 PROCREF:<{ - SWAP - __tact_slice_eq_bits INLINECALLDICT - NOT - }> - $MathTester$_fun_compare16 PROCREF:<{ - SWAP - __tact_slice_eq_bits_nullable_one INLINECALLDICT - NOT - }> - $MathTester$_fun_compare17 PROCREF:<{ - __tact_slice_eq_bits_nullable_one INLINECALLDICT - NOT - }> - $MathTester$_fun_compare18 PROCREF:<{ - __tact_slice_eq_bits_nullable INLINECALLDICT - NOT - }> - $MathTester$_fun_compare19 PROCREF:<{ - SWAP - __tact_cell_eq INLINECALLDICT - }> - $MathTester$_fun_compare20 PROCREF:<{ - SWAP - __tact_cell_eq_nullable_one INLINECALLDICT - }> - $MathTester$_fun_compare21 PROCREF:<{ - __tact_cell_eq_nullable_one INLINECALLDICT - }> - $MathTester$_fun_compare22 PROCREF:<{ - __tact_cell_eq_nullable INLINECALLDICT - }> - $MathTester$_fun_compare23 PROCREF:<{ - SWAP - __tact_cell_neq INLINECALLDICT - }> - $MathTester$_fun_compare24 PROCREF:<{ - SWAP - __tact_cell_neq_nullable_one INLINECALLDICT - }> - $MathTester$_fun_compare25 PROCREF:<{ - __tact_cell_neq_nullable_one INLINECALLDICT - }> - $MathTester$_fun_compare26 PROCREF:<{ - __tact_cell_neq_nullable INLINECALLDICT - }> - $MathTester$_fun_compare27 PROCREF:<{ - __tact_cell_eq_nullable INLINECALLDICT - }> - $MathTester$_fun_compare28 PROCREF:<{ - __tact_cell_neq_nullable INLINECALLDICT - }> - $MathTester$_fun_isNull1 PROCREF:<{ - ISNULL - }> - $MathTester$_fun_isNotNull1 PROCREF:<{ - ISNULL - NOT - }> - $MathTester$_fun_isNull2 PROCREF:<{ - ISNULL - }> - $MathTester$_fun_isNotNull2 PROCREF:<{ - ISNULL - NOT - }> - $MathTester$_fun_isNull3 PROCREF:<{ - ISNULL - }> - $MathTester$_fun_isNotNull3 PROCREF:<{ - ISNULL - NOT - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $MathTester$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $MathTester$_fun_notify PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - FALSE - PUSHNULL - $MathTester$_fun_forward INLINECALLDICT - }> - $DeployOk$_constructor_queryId PROCINLINE:<{ - }> - $MathTester$_internal_binary_Deploy PROCINLINE:<{ - $DeployOk$_constructor_queryId INLINECALLDICT - $DeployOk$_store_cell INLINECALLDICT - $MathTester$_fun_notify INLINECALLDICT - }> - %add PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_add INLINECALLDICT - NIP - }> - %sub PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_sub INLINECALLDICT - NIP - }> - %mul PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_mul INLINECALLDICT - NIP - }> - %div PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_div INLINECALLDICT - NIP - }> - %mod PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_mod INLINECALLDICT - NIP - }> - %shr PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_shr INLINECALLDICT - NIP - }> - %shl PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_shl INLINECALLDICT - NIP - }> - %and PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_and INLINECALLDICT - NIP - }> - %or PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_or INLINECALLDICT - NIP - }> - %addAug PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_addAug INLINECALLDICT - NIP - }> - %subAug PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_subAug INLINECALLDICT - NIP - }> - %mulAug PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_mulAug INLINECALLDICT - NIP - }> - %divAug PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_divAug INLINECALLDICT - NIP - }> - %modAug PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_modAug INLINECALLDICT - NIP - }> - %compare1 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare1 INLINECALLDICT - NIP - }> - %compare2 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare2 INLINECALLDICT - NIP - }> - %compare3 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare3 INLINECALLDICT - NIP - }> - %compare4 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare4 INLINECALLDICT - NIP - }> - %compare5 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare5 INLINECALLDICT - NIP - }> - %compare6 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare6 INLINECALLDICT - NIP - }> - %compare7 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare7 INLINECALLDICT - NIP - }> - %compare8 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare8 INLINECALLDICT - NIP - }> - %compare9 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare9 INLINECALLDICT - NIP - }> - %compare10 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare10 INLINECALLDICT - NIP - }> - %compare11 PROC:<{ - SWAP - __tact_verify_address INLINECALLDICT - SWAP - __tact_verify_address INLINECALLDICT - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare11 INLINECALLDICT - NIP - }> - %compare12 PROC:<{ - SWAP - __tact_verify_address INLINECALLDICT - OVER - ISNULL - IF:<{ - NIP - PUSHNULL - }>ELSE<{ - SWAP - __tact_verify_address INLINECALLDICT - }> - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare12 INLINECALLDICT - NIP - }> - %compare13 PROC:<{ - OVER - ISNULL - IF:<{ - NIP - PUSHNULL - }>ELSE<{ - SWAP - __tact_verify_address INLINECALLDICT - }> - SWAP - __tact_verify_address INLINECALLDICT - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare13 INLINECALLDICT - NIP - }> - %compare14 PROC:<{ - OVER - ISNULL - IF:<{ - NIP - PUSHNULL - }>ELSE<{ - SWAP - __tact_verify_address INLINECALLDICT - }> - OVER - ISNULL - IF:<{ - NIP - PUSHNULL - }>ELSE<{ - SWAP - __tact_verify_address INLINECALLDICT - }> - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare14 INLINECALLDICT - NIP - }> - %compare15 PROC:<{ - SWAP - __tact_verify_address INLINECALLDICT - SWAP - __tact_verify_address INLINECALLDICT - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare15 INLINECALLDICT - NIP - }> - %compare16 PROC:<{ - SWAP - __tact_verify_address INLINECALLDICT - OVER - ISNULL - IF:<{ - NIP - PUSHNULL - }>ELSE<{ - SWAP - __tact_verify_address INLINECALLDICT - }> - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare16 INLINECALLDICT - NIP - }> - %compare17 PROC:<{ - OVER - ISNULL - IF:<{ - NIP - PUSHNULL - }>ELSE<{ - SWAP - __tact_verify_address INLINECALLDICT - }> - SWAP - __tact_verify_address INLINECALLDICT - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare17 INLINECALLDICT - NIP - }> - %compare18 PROC:<{ - OVER - ISNULL - IF:<{ - NIP - PUSHNULL - }>ELSE<{ - SWAP - __tact_verify_address INLINECALLDICT - }> - OVER - ISNULL - IF:<{ - NIP - PUSHNULL - }>ELSE<{ - SWAP - __tact_verify_address INLINECALLDICT - }> - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare18 INLINECALLDICT - NIP - }> - %compare19 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare19 INLINECALLDICT - NIP - }> - %compare20 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare20 INLINECALLDICT - NIP - }> - %compare21 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare21 INLINECALLDICT - NIP - }> - %compare22 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare22 INLINECALLDICT - NIP - }> - %compare23 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare23 INLINECALLDICT - NIP - }> - %compare24 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare24 INLINECALLDICT - NIP - }> - %compare25 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare25 INLINECALLDICT - NIP - }> - %compare26 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare26 INLINECALLDICT - NIP - }> - %compare27 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare27 INLINECALLDICT - NIP - }> - %compare28 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_fun_compare28 INLINECALLDICT - NIP - }> - %isNull1 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - SWAP - $MathTester$_fun_isNull1 INLINECALLDICT - NIP - }> - %isNotNull1 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - SWAP - $MathTester$_fun_isNotNull1 INLINECALLDICT - NIP - }> - %isNull2 PROC:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - __tact_verify_address INLINECALLDICT - }> - $MathTester$_contract_load INLINECALLDICT - SWAP - $MathTester$_fun_isNull2 INLINECALLDICT - NIP - }> - %isNotNull2 PROC:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - __tact_verify_address INLINECALLDICT - }> - $MathTester$_contract_load INLINECALLDICT - SWAP - $MathTester$_fun_isNotNull2 INLINECALLDICT - NIP - }> - %isNull3 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - SWAP - $MathTester$_fun_isNull3 INLINECALLDICT - NIP - }> - %isNotNull3 PROC:<{ - $MathTester$_contract_load INLINECALLDICT - SWAP - $MathTester$_fun_isNotNull3 INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d61766d6a57417358556953364c526a6f554c31565a454e4b4c4e486f39725754344162335253783445355272} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $MathTester$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 2490013878 PUSHINT - EQUAL - IFJMP:<{ - $Deploy$_load INLINECALLDICT - NIP - $MathTester$_internal_binary_Deploy INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $MathTester$_contract_load INLINECALLDICT - -ROT - $MathTester$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $MathTester$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/math_MathTester.code.rev.fif b/src/test/features/output/math_MathTester.code.rev.fif deleted file mode 100644 index 76513d914..000000000 --- a/src/test/features/output/math_MathTester.code.rev.fif +++ /dev/null @@ -1,1458 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_68387; - DECLPROC ?fun_72450; - DECLPROC ?fun_75056; - DECLPROC ?fun_80400; - DECLPROC ?fun_80704; - DECLPROC ?fun_81709; - DECLPROC ?fun_83393; - DECLPROC ?fun_83863; - DECLPROC ?fun_84903; - DECLPROC ?fun_85125; - DECLPROC ?fun_88966; - DECLPROC ?fun_89158; - DECLPROC ?fun_89358; - DECLPROC ?fun_90178; - DECLPROC ?fun_93157; - DECLPROC ?fun_93221; - DECLPROC ?fun_94307; - DECLPROC ?fun_97220; - DECLPROC ?fun_97284; - DECLPROC ?fun_98700; - DECLPROC ?fun_99260; - DECLPROC ?fun_99450; - DECLPROC ?fun_99590; - DECLPROC ?fun_102829; - DECLPROC ?fun_103515; - DECLPROC ?fun_103719; - DECLPROC ?fun_106958; - DECLPROC ?fun_107576; - DECLPROC ?fun_108636; - DECLPROC ?fun_109161; - DECLPROC ?fun_110321; - DECLPROC ?fun_111087; - DECLPROC ?fun_111641; - DECLPROC ?fun_111973; - DECLPROC ?fun_113224; - DECLPROC supported_interfaces; - DECLPROC ?fun_114791; - DECLPROC ?fun_114952; - DECLPROC lazy_deployment_completed; - DECLPROC ?fun_115966; - DECLPROC ?fun_119081; - DECLPROC ?fun_120031; - DECLPROC ?fun_120881; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_123210; - DECLPROC ?fun_124092; - DECLPROC ?fun_125000; - DECLPROC ?fun_126476; - DECLPROC ?fun_127339; - DECLPROC ?fun_128157; - DECLPROC ?fun_129050; - DECLPROC ?fun_ref_0bddee3e66194d71; - DECLPROC ?fun_ref_1665824c3631042e; - DECLPROC ?fun_ref_1a5aedf76777daf0; - DECLPROC ?fun_ref_1dd4b06caa854cc5; - DECLPROC ?fun_ref_1e8474cb72f85f98; - DECLPROC ?fun_ref_251a304e2f13da63; - DECLPROC ?fun_ref_2de3f30de2cef910; - DECLPROC ?fun_ref_2e8105a0f1ba34b1; - DECLPROC ?fun_ref_2f14994fd76434ab; - DECLPROC ?fun_ref_39d09f18c03b037a; - DECLPROC ?fun_ref_3df1ed9c149f3ddc; - DECLPROC ?fun_ref_4473d19174b70b6c; - DECLPROC ?fun_ref_45e06f8a133863ea; - DECLPROC ?fun_ref_49c7034f83091de6; - DECLPROC ?fun_ref_5026e72acd3f4702; - DECLPROC ?fun_ref_52ebac4ebc285034; - DECLPROC ?fun_ref_5c56423ce8e9ee73; - DECLPROC ?fun_ref_7299352e77d5a022; - DECLPROC ?fun_ref_81da9ce5747a9d33; - DECLPROC ?fun_ref_8b1b2058f0ba717f; - DECLPROC ?fun_ref_8ffaafaa854bd141; - DECLPROC ?fun_ref_943f0cebd640e361; - DECLPROC ?fun_ref_9a0c5e8798cc0509; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_acf9c214ccee2d81; - DECLPROC ?fun_ref_ad657d0473ebdc2c; - DECLPROC ?fun_ref_b35400841b15fc2d; - DECLPROC ?fun_ref_b4fde213ffa24781; - DECLPROC ?fun_ref_b78be06772ce3abe; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_bf9d36be65618269; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_c29a788970be0722; - DECLPROC ?fun_ref_c4dfd32efb676592; - DECLPROC ?fun_ref_d078cffef374dca6; - DECLPROC ?fun_ref_d5c7d946856b384e; - DECLPROC ?fun_ref_d90a47bc5659815b; - DECLPROC ?fun_ref_dbbd90e91bdad5c0; - DECLPROC ?fun_ref_e31d986f279fa0fb; - DECLPROC ?fun_ref_ebb984d6b6cfd144; - DECLPROC ?fun_ref_edec8407367eca46; - DECLPROC ?fun_ref_ff17a983a407f70d; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_1dd4b06caa854cc5 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_68387 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_b35400841b15fc2d INLINECALLDICT - s1 POP - }> - ?fun_72450 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_2de3f30de2cef910 INLINECALLDICT - s1 POP - }> - ?fun_75056 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_81da9ce5747a9d33 INLINECALLDICT - s1 POP - }> - ?fun_80400 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_edec8407367eca46 INLINECALLDICT - s1 POP - }> - ?fun_80704 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_d078cffef374dca6 INLINECALLDICT - s1 POP - }> - ?fun_81709 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_b4fde213ffa24781 INLINECALLDICT - s1 POP - }> - ?fun_83393 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_3df1ed9c149f3ddc INLINECALLDICT - s1 POP - }> - ?fun_83863 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_2e8105a0f1ba34b1 INLINECALLDICT - s1 POP - }> - ?fun_84903 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_943f0cebd640e361 INLINECALLDICT - s1 POP - }> - ?fun_85125 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_1a5aedf76777daf0 INLINECALLDICT - s1 POP - }> - ?fun_88966 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_9a0c5e8798cc0509 INLINECALLDICT - s1 POP - }> - ?fun_89158 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_0bddee3e66194d71 INLINECALLDICT - s1 POP - }> - ?fun_89358 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_49c7034f83091de6 INLINECALLDICT - s1 POP - }> - ?fun_90178 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_ebb984d6b6cfd144 INLINECALLDICT - s1 POP - }> - ?fun_93157 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_d5c7d946856b384e INLINECALLDICT - s1 POP - }> - ?fun_93221 PROC:<{ - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - IFELSE - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_0bddee3e66194d71 INLINECALLDICT - s1 POP - }> - ?fun_94307 PROC:<{ - s1 PUSH - ISNULL - <{ - s1 POP - NULL - }> PUSHCONT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - IFELSE - s1 PUSH - ISNULL - <{ - s1 POP - NULL - }> PUSHCONT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - IFELSE - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_8ffaafaa854bd141 INLINECALLDICT - s1 POP - }> - ?fun_97220 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_251a304e2f13da63 INLINECALLDICT - s1 POP - }> - ?fun_97284 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_0bddee3e66194d71 INLINECALLDICT - s1 POP - }> - ?fun_98700 PROC:<{ - s1 PUSH - ISNULL - <{ - s1 POP - NULL - }> PUSHCONT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - IFELSE - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_c4dfd32efb676592 INLINECALLDICT - s1 POP - }> - ?fun_99260 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_1e8474cb72f85f98 INLINECALLDICT - s1 POP - }> - ?fun_99450 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_52ebac4ebc285034 INLINECALLDICT - s1 POP - }> - ?fun_99590 PROC:<{ - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - IFELSE - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_dbbd90e91bdad5c0 INLINECALLDICT - s1 POP - }> - ?fun_102829 PROC:<{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 PUSH - ISNULL - <{ - s1 POP - NULL - }> PUSHCONT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - IFELSE - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_ad657d0473ebdc2c INLINECALLDICT - s1 POP - }> - ?fun_103515 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_bf9d36be65618269 INLINECALLDICT - s1 POP - }> - ?fun_103719 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_dbbd90e91bdad5c0 INLINECALLDICT - s1 POP - }> - ?fun_106958 PROC:<{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_d90a47bc5659815b INLINECALLDICT - s1 POP - }> - ?fun_107576 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_39d09f18c03b037a INLINECALLDICT - s1 POP - }> - ?fun_108636 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_acf9c214ccee2d81 INLINECALLDICT - s1 POP - }> - ?fun_109161 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_8b1b2058f0ba717f INLINECALLDICT - s1 POP - }> - ?fun_110321 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_1665824c3631042e INLINECALLDICT - s1 POP - }> - ?fun_111087 PROC:<{ - s1 PUSH - ISNULL - <{ - s1 POP - NULL - }> PUSHCONT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - IFELSE - s1 PUSH - ISNULL - <{ - s1 POP - NULL - }> PUSHCONT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - IFELSE - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_45e06f8a133863ea INLINECALLDICT - s1 POP - }> - ?fun_111641 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_c29a788970be0722 INLINECALLDICT - s1 POP - }> - ?fun_111973 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_dbbd90e91bdad5c0 INLINECALLDICT - s1 POP - }> - ?fun_113224 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_5026e72acd3f4702 INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - ?fun_114791 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_edec8407367eca46 INLINECALLDICT - s1 POP - }> - ?fun_114952 PROC:<{ - s1 PUSH - ISNULL - <{ - s1 POP - NULL - }> PUSHCONT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - IFELSE - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_ff17a983a407f70d INLINECALLDICT - s1 POP - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - ?fun_115966 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_81da9ce5747a9d33 INLINECALLDICT - s1 POP - }> - ?fun_119081 PROC:<{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 PUSH - ISNULL - <{ - s1 POP - NULL - }> PUSHCONT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> PUSHCONT - IFELSE - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_2f14994fd76434ab INLINECALLDICT - s1 POP - }> - ?fun_120031 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_52ebac4ebc285034 INLINECALLDICT - s1 POP - }> - ?fun_120881 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_2e8105a0f1ba34b1 INLINECALLDICT - s1 POP - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D61766D6A57417358556953364C526A6F554C31565A454E4B4C4E486F3972575434416233525378344535527282_} PUSHSLICE - }> - ?fun_123210 PROC:<{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_b78be06772ce3abe INLINECALLDICT - s1 POP - }> - ?fun_124092 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_5c56423ce8e9ee73 INLINECALLDICT - s1 POP - }> - ?fun_125000 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_1a5aedf76777daf0 INLINECALLDICT - s1 POP - }> - ?fun_126476 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_b4fde213ffa24781 INLINECALLDICT - s1 POP - }> - ?fun_127339 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_4473d19174b70b6c INLINECALLDICT - s1 POP - }> - ?fun_128157 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_7299352e77d5a022 INLINECALLDICT - s1 POP - }> - ?fun_129050 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_1e8474cb72f85f98 INLINECALLDICT - s1 POP - }> - ?fun_ref_0bddee3e66194d71 PROCREF:<{ - ISNULL - NOT - }> - ?fun_ref_1665824c3631042e PROCREF:<{ - LSHIFTX - }> - ?fun_ref_1a5aedf76777daf0 PROCREF:<{ - false 0 false 1 0 DIV - }> - ?fun_ref_1dd4b06caa854cc5 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 2490013878 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - s0 s1 XCHG - s1 POP - NEWC - s0 s1 XCHG - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - 0 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> - ?fun_ref_1e8474cb72f85f98 PROCREF:<{ - MUL - }> - ?fun_ref_251a304e2f13da63 PROCREF:<{ - s1 PUSH - ISNULL - s1 PUSH - ISNULL - DUP2 - AND - <{ - 4 BLKDROP - -1 PUSHINT - }> PUSHCONT - <{ - s0 s1 XCHG - NOT - s0 s1 XCHG - NOT - AND - <{ - EQUAL - }> PUSHCONT - <{ - DROP2 - 0 PUSHINT - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> - ?fun_ref_2de3f30de2cef910 PROCREF:<{ - s1 PUSH - ISNULL - <{ - DROP2 - 0 PUSHINT - }> PUSHCONT - <{ - EQUAL - }> PUSHCONT - IFELSE - }> - ?fun_ref_2e8105a0f1ba34b1 PROCREF:<{ - ADD - }> - ?fun_ref_2f14994fd76434ab PROCREF:<{ - s0 s1 XCHG - s1 PUSH - ISNULL - <{ - DROP2 - 0 PUSHINT - }> PUSHCONT - <{ - SDEQ - }> PUSHCONT - IFELSE - }> - ?fun_ref_39d09f18c03b037a PROCREF:<{ - s0 s1 XCHG - s1 PUSH - ISNULL - <{ - DROP2 - 0 PUSHINT - }> PUSHCONT - <{ - s0 s1 XCHG - HASHCU - s0 s1 XCHG - HASHCU - EQUAL - }> PUSHCONT - IFELSE - }> - ?fun_ref_3df1ed9c149f3ddc PROCREF:<{ - OR - }> - ?fun_ref_4473d19174b70b6c PROCREF:<{ - LEQ - }> - ?fun_ref_45e06f8a133863ea PROCREF:<{ - s1 PUSH - ISNULL - s1 PUSH - ISNULL - DUP2 - AND - <{ - 4 BLKDROP - -1 PUSHINT - }> PUSHCONT - <{ - s0 s1 XCHG - NOT - s0 s1 XCHG - NOT - AND - <{ - SDEQ - }> PUSHCONT - <{ - DROP2 - 0 PUSHINT - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> - ?fun_ref_49c7034f83091de6 PROCREF:<{ - RSHIFTX - }> - ?fun_ref_5026e72acd3f4702 PROCREF:<{ - LESS - }> - ?fun_ref_52ebac4ebc285034 PROCREF:<{ - s1 PUSH - ISNULL - s1 PUSH - ISNULL - DUP2 - AND - <{ - 4 BLKDROP - -1 PUSHINT - }> PUSHCONT - <{ - s0 s1 XCHG - NOT - s0 s1 XCHG - NOT - AND - <{ - s0 s1 XCHG - HASHCU - s0 s1 XCHG - HASHCU - EQUAL - }> PUSHCONT - <{ - DROP2 - 0 PUSHINT - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> - ?fun_ref_5c56423ce8e9ee73 PROCREF:<{ - s0 s1 XCHG - s1 PUSH - ISNULL - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - <{ - s0 s1 XCHG - HASHCU - s0 s1 XCHG - HASHCU - NEQ - }> PUSHCONT - IFELSE - }> - ?fun_ref_7299352e77d5a022 PROCREF:<{ - s1 PUSH - ISNULL - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - <{ - s0 s1 XCHG - HASHCU - s0 s1 XCHG - HASHCU - NEQ - }> PUSHCONT - IFELSE - }> - ?fun_ref_81da9ce5747a9d33 PROCREF:<{ - s1 PUSH - ISNULL - s1 PUSH - ISNULL - DUP2 - AND - <{ - 4 BLKDROP - 0 PUSHINT - }> PUSHCONT - <{ - s0 s1 XCHG - NOT - s0 s1 XCHG - NOT - AND - <{ - s0 s1 XCHG - HASHCU - s0 s1 XCHG - HASHCU - NEQ - }> PUSHCONT - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> - ?fun_ref_8b1b2058f0ba717f PROCREF:<{ - GEQ - }> - ?fun_ref_8ffaafaa854bd141 PROCREF:<{ - s1 PUSH - ISNULL - s1 PUSH - ISNULL - DUP2 - AND - <{ - 4 BLKDROP - -1 PUSHINT - }> PUSHCONT - <{ - s0 s1 XCHG - NOT - s0 s1 XCHG - NOT - AND - <{ - SDEQ - }> PUSHCONT - <{ - DROP2 - 0 PUSHINT - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - NOT - }> - ?fun_ref_943f0cebd640e361 PROCREF:<{ - s1 PUSH - ISNULL - s1 PUSH - ISNULL - DUP2 - AND - <{ - 4 BLKDROP - 0 PUSHINT - }> PUSHCONT - <{ - s0 s1 XCHG - NOT - s0 s1 XCHG - NOT - AND - <{ - NEQ - }> PUSHCONT - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> - ?fun_ref_9a0c5e8798cc0509 PROCREF:<{ - GREATER - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_acf9c214ccee2d81 PROCREF:<{ - AND - }> - ?fun_ref_ad657d0473ebdc2c PROCREF:<{ - s0 s1 XCHG - s1 PUSH - ISNULL - <{ - DROP2 - 0 PUSHINT - }> PUSHCONT - <{ - SDEQ - }> PUSHCONT - IFELSE - NOT - }> - ?fun_ref_b35400841b15fc2d PROCREF:<{ - s0 s1 XCHG - s1 PUSH - ISNULL - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - <{ - NEQ - }> PUSHCONT - IFELSE - }> - ?fun_ref_b4fde213ffa24781 PROCREF:<{ - false 0 false 2 0 DIV - }> - ?fun_ref_b78be06772ce3abe PROCREF:<{ - s0 s1 XCHG - SDEQ - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_bf9d36be65618269 PROCREF:<{ - s0 s1 XCHG - s0 s1 XCHG - HASHCU - s0 s1 XCHG - HASHCU - NEQ - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_c29a788970be0722 PROCREF:<{ - s1 PUSH - ISNULL - <{ - DROP2 - 0 PUSHINT - }> PUSHCONT - <{ - s0 s1 XCHG - HASHCU - s0 s1 XCHG - HASHCU - EQUAL - }> PUSHCONT - IFELSE - }> - ?fun_ref_c4dfd32efb676592 PROCREF:<{ - s1 PUSH - ISNULL - <{ - DROP2 - 0 PUSHINT - }> PUSHCONT - <{ - SDEQ - }> PUSHCONT - IFELSE - NOT - }> - ?fun_ref_d078cffef374dca6 PROCREF:<{ - s0 s1 XCHG - s1 PUSH - ISNULL - <{ - DROP2 - 0 PUSHINT - }> PUSHCONT - <{ - EQUAL - }> PUSHCONT - IFELSE - }> - ?fun_ref_d5c7d946856b384e PROCREF:<{ - s1 PUSH - ISNULL - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - <{ - NEQ - }> PUSHCONT - IFELSE - }> - ?fun_ref_d90a47bc5659815b PROCREF:<{ - s0 s1 XCHG - SDEQ - NOT - }> - ?fun_ref_dbbd90e91bdad5c0 PROCREF:<{ - ISNULL - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_ebb984d6b6cfd144 PROCREF:<{ - s0 s1 XCHG - s0 s1 XCHG - HASHCU - s0 s1 XCHG - HASHCU - EQUAL - }> - ?fun_ref_edec8407367eca46 PROCREF:<{ - SUB - }> - ?fun_ref_ff17a983a407f70d PROCREF:<{ - s1 PUSH - ISNULL - <{ - DROP2 - 0 PUSHINT - }> PUSHCONT - <{ - SDEQ - }> PUSHCONT - IFELSE - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/math_MathTester.headers.fc b/src/test/features/output/math_MathTester.headers.fc deleted file mode 100644 index a93fc04d6..000000000 --- a/src/test/features/output/math_MathTester.headers.fc +++ /dev/null @@ -1,244 +0,0 @@ -;; -;; Header files for MathTester -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; __tact_slice_eq_bits -int __tact_slice_eq_bits(slice a, slice b) inline; - -;; __tact_slice_eq_bits_nullable_one -int __tact_slice_eq_bits_nullable_one(slice a, slice b) inline; - -;; __tact_slice_eq_bits_nullable -int __tact_slice_eq_bits_nullable(slice a, slice b) inline; - -;; __tact_int_eq_nullable_one -int __tact_int_eq_nullable_one(int a, int b) inline; - -;; __tact_int_neq_nullable_one -int __tact_int_neq_nullable_one(int a, int b) inline; - -;; __tact_int_eq_nullable -int __tact_int_eq_nullable(int a, int b) inline; - -;; __tact_int_neq_nullable -int __tact_int_neq_nullable(int a, int b) inline; - -;; __tact_cell_eq -int __tact_cell_eq(cell a, cell b) inline; - -;; __tact_cell_neq -int __tact_cell_neq(cell a, cell b) inline; - -;; __tact_cell_eq_nullable_one -int __tact_cell_eq_nullable_one(cell a, cell b) inline; - -;; __tact_cell_neq_nullable_one -int __tact_cell_neq_nullable_one(cell a, cell b) inline; - -;; __tact_cell_eq_nullable -int __tact_cell_eq_nullable(cell a, cell b) inline; - -;; __tact_cell_neq_nullable -int __tact_cell_neq_nullable(cell a, cell b) inline; - -;; $Deploy$_load -(slice, ((int))) $Deploy$_load(slice sc_0) inline; - -;; $DeployOk$_store -builder $DeployOk$_store(builder build_0, (int) v) inline; - -;; $DeployOk$_store_cell -cell $DeployOk$_store_cell((int) v) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $MathTester$_contract_init -tuple $MathTester$_contract_init() impure inline_ref; - -;; $MathTester$_contract_load -tuple $MathTester$_contract_load() impure inline_ref; - -;; $MathTester$_contract_store -() $MathTester$_contract_store(tuple v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $MathTester$_fun_add -(tuple, int) $MathTester$_fun_add(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_sub -(tuple, int) $MathTester$_fun_sub(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_mul -(tuple, int) $MathTester$_fun_mul(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_div -(tuple, int) $MathTester$_fun_div(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_mod -(tuple, int) $MathTester$_fun_mod(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_shr -(tuple, int) $MathTester$_fun_shr(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_shl -(tuple, int) $MathTester$_fun_shl(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_and -(tuple, int) $MathTester$_fun_and(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_or -(tuple, int) $MathTester$_fun_or(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_addAug -(tuple, int) $MathTester$_fun_addAug(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_subAug -(tuple, int) $MathTester$_fun_subAug(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_mulAug -(tuple, int) $MathTester$_fun_mulAug(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_divAug -(tuple, int) $MathTester$_fun_divAug(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_modAug -(tuple, int) $MathTester$_fun_modAug(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_compare1 -(tuple, int) $MathTester$_fun_compare1(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_compare2 -(tuple, int) $MathTester$_fun_compare2(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_compare3 -(tuple, int) $MathTester$_fun_compare3(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_compare4 -(tuple, int) $MathTester$_fun_compare4(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_compare5 -(tuple, int) $MathTester$_fun_compare5(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_compare6 -(tuple, int) $MathTester$_fun_compare6(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_compare7 -(tuple, int) $MathTester$_fun_compare7(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_compare8 -(tuple, int) $MathTester$_fun_compare8(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_compare9 -(tuple, int) $MathTester$_fun_compare9(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_compare10 -(tuple, int) $MathTester$_fun_compare10(tuple $self, int $a, int $b) impure inline_ref; - -;; $MathTester$_fun_compare11 -(tuple, int) $MathTester$_fun_compare11(tuple $self, slice $a, slice $b) impure inline_ref; - -;; $MathTester$_fun_compare12 -(tuple, int) $MathTester$_fun_compare12(tuple $self, slice $a, slice $b) impure inline_ref; - -;; $MathTester$_fun_compare13 -(tuple, int) $MathTester$_fun_compare13(tuple $self, slice $a, slice $b) impure inline_ref; - -;; $MathTester$_fun_compare14 -(tuple, int) $MathTester$_fun_compare14(tuple $self, slice $a, slice $b) impure inline_ref; - -;; $MathTester$_fun_compare15 -(tuple, int) $MathTester$_fun_compare15(tuple $self, slice $a, slice $b) impure inline_ref; - -;; $MathTester$_fun_compare16 -(tuple, int) $MathTester$_fun_compare16(tuple $self, slice $a, slice $b) impure inline_ref; - -;; $MathTester$_fun_compare17 -(tuple, int) $MathTester$_fun_compare17(tuple $self, slice $a, slice $b) impure inline_ref; - -;; $MathTester$_fun_compare18 -(tuple, int) $MathTester$_fun_compare18(tuple $self, slice $a, slice $b) impure inline_ref; - -;; $MathTester$_fun_compare19 -(tuple, int) $MathTester$_fun_compare19(tuple $self, cell $a, cell $b) impure inline_ref; - -;; $MathTester$_fun_compare20 -(tuple, int) $MathTester$_fun_compare20(tuple $self, cell $a, cell $b) impure inline_ref; - -;; $MathTester$_fun_compare21 -(tuple, int) $MathTester$_fun_compare21(tuple $self, cell $a, cell $b) impure inline_ref; - -;; $MathTester$_fun_compare22 -(tuple, int) $MathTester$_fun_compare22(tuple $self, cell $a, cell $b) impure inline_ref; - -;; $MathTester$_fun_compare23 -(tuple, int) $MathTester$_fun_compare23(tuple $self, cell $a, cell $b) impure inline_ref; - -;; $MathTester$_fun_compare24 -(tuple, int) $MathTester$_fun_compare24(tuple $self, cell $a, cell $b) impure inline_ref; - -;; $MathTester$_fun_compare25 -(tuple, int) $MathTester$_fun_compare25(tuple $self, cell $a, cell $b) impure inline_ref; - -;; $MathTester$_fun_compare26 -(tuple, int) $MathTester$_fun_compare26(tuple $self, cell $a, cell $b) impure inline_ref; - -;; $MathTester$_fun_compare27 -(tuple, int) $MathTester$_fun_compare27(tuple $self, cell $a, cell $b) impure inline_ref; - -;; $MathTester$_fun_compare28 -(tuple, int) $MathTester$_fun_compare28(tuple $self, cell $a, cell $b) impure inline_ref; - -;; $MathTester$_fun_isNull1 -(tuple, int) $MathTester$_fun_isNull1(tuple $self, int $a) impure inline_ref; - -;; $MathTester$_fun_isNotNull1 -(tuple, int) $MathTester$_fun_isNotNull1(tuple $self, int $a) impure inline_ref; - -;; $MathTester$_fun_isNull2 -(tuple, int) $MathTester$_fun_isNull2(tuple $self, slice $address) impure inline_ref; - -;; $MathTester$_fun_isNotNull2 -(tuple, int) $MathTester$_fun_isNotNull2(tuple $self, slice $address) impure inline_ref; - -;; $MathTester$_fun_isNull3 -(tuple, int) $MathTester$_fun_isNull3(tuple $self, cell $cell) impure inline_ref; - -;; $MathTester$_fun_isNotNull3 -(tuple, int) $MathTester$_fun_isNotNull3(tuple $self, cell $cell) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $MathTester$_fun_forward -(tuple, ()) $MathTester$_fun_forward(tuple $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $MathTester$_fun_notify -(tuple, ()) $MathTester$_fun_notify(tuple $self, cell $body) impure inline; - -;; $DeployOk$_constructor_queryId -((int)) $DeployOk$_constructor_queryId(int queryId) inline; diff --git a/src/test/features/output/math_MathTester.md b/src/test/features/output/math_MathTester.md deleted file mode 100644 index 5ab0108f5..000000000 --- a/src/test/features/output/math_MathTester.md +++ /dev/null @@ -1,245 +0,0 @@ -# TACT Compilation Report -Contract: MathTester -BOC Size: 2423 bytes - -# Types -Total Types: 6 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Deploy -TLB: `deploy#946a98b6 queryId:uint64 = Deploy` -Signature: `Deploy{queryId:uint64}` - -## DeployOk -TLB: `deploy_ok#aff90f57 queryId:uint64 = DeployOk` -Signature: `DeployOk{queryId:uint64}` - -## FactoryDeploy -TLB: `factory_deploy#6d0ff13b queryId:uint64 cashback:address = FactoryDeploy` -Signature: `FactoryDeploy{queryId:uint64,cashback:address}` - -# Get Methods -Total Get Methods: 48 - -## add -Argument: a -Argument: b - -## sub -Argument: a -Argument: b - -## mul -Argument: a -Argument: b - -## div -Argument: a -Argument: b - -## mod -Argument: a -Argument: b - -## shr -Argument: a -Argument: b - -## shl -Argument: a -Argument: b - -## and -Argument: a -Argument: b - -## or -Argument: a -Argument: b - -## addAug -Argument: a -Argument: b - -## subAug -Argument: a -Argument: b - -## mulAug -Argument: a -Argument: b - -## divAug -Argument: a -Argument: b - -## modAug -Argument: a -Argument: b - -## compare1 -Argument: a -Argument: b - -## compare2 -Argument: a -Argument: b - -## compare3 -Argument: a -Argument: b - -## compare4 -Argument: a -Argument: b - -## compare5 -Argument: a -Argument: b - -## compare6 -Argument: a -Argument: b - -## compare7 -Argument: a -Argument: b - -## compare8 -Argument: a -Argument: b - -## compare9 -Argument: a -Argument: b - -## compare10 -Argument: a -Argument: b - -## compare11 -Argument: a -Argument: b - -## compare12 -Argument: a -Argument: b - -## compare13 -Argument: a -Argument: b - -## compare14 -Argument: a -Argument: b - -## compare15 -Argument: a -Argument: b - -## compare16 -Argument: a -Argument: b - -## compare17 -Argument: a -Argument: b - -## compare18 -Argument: a -Argument: b - -## compare19 -Argument: a -Argument: b - -## compare20 -Argument: a -Argument: b - -## compare21 -Argument: a -Argument: b - -## compare22 -Argument: a -Argument: b - -## compare23 -Argument: a -Argument: b - -## compare24 -Argument: a -Argument: b - -## compare25 -Argument: a -Argument: b - -## compare26 -Argument: a -Argument: b - -## compare27 -Argument: a -Argument: b - -## compare28 -Argument: a -Argument: b - -## isNull1 -Argument: a - -## isNotNull1 -Argument: a - -## isNull2 -Argument: address - -## isNotNull2 -Argument: address - -## isNull3 -Argument: cell - -## isNotNull3 -Argument: cell - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/math_MathTester.pkg b/src/test/features/output/math_MathTester.pkg deleted file mode 100644 index fe1efdac3..000000000 --- a/src/test/features/output/math_MathTester.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"MathTester","code":"te6ccgECkwEACWsAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UkAQCASAICQGKAZIwf+BwIddJwh+VMCDXCx/eghCUapi2uo6n0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4DBwBQE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwGAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AAcAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwCASAKCwIBIBkaAgEgDA0CASAfIAIBIA4PAgEgEhMCEbLI9s8Wds8MYJAQAhGywLbPFnbPDGCQEQASASFuklt/kb3iABAhbpJbcJG64gIRsUw2zxZ2zwxgkHQCAVgUFQIBWBYXAhCrLds8Wds8MZCJAg+gQ2zxZ2zwxpByAg+hA2zxZ2zwxpAYABIBIW6SW3CRuuICASAbHAIBIB0eAgEgQEECASBPUAIBIGprAgEgfn8CASAhIgIBIDEyAgEgIyQCAVgrLAIBWCUmAgEgKCkCD6eDtniztnhjkCcCD6cvtniztnhjkH0AArECEKun2zxZ2zwxkCoCEKiF2zxZ2zwxkIgALiFuIW5csJNfBHCbAbMBs7CRvZJbf+LiAhCrhts8Wds8MZAtAgFILi8AArwCD6EbbPAHbPDGkD8CD6A7bPFnbPDGkDAAAq0CASAzNAIBIDk6AhGsIW2eLO2eGMCQNQIBIDY3ABABAfkAAfkAugIQq+XbPFnbPDGQOAJYqCUgbpIwbY4cINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPAHbPDGQPwAQIW6SW3+RveICpawxkLdJGLbHDoCQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEcRC3SRi2xw6AkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRHFtniztnhjAkDsCASA8PQAyIW4hblywk18Ef5wBswGzsJLHBZJbcOLiswIQq8TbPFnbPDGQPgIQqATbPAHbPDGQPwAuIW4hblywk18Ef5sBswGzsJG6kltw4uIABG6zAgFIQkMCAUhJSgIBIERFAgFIR0gCk6cYQt0kYtscOgJBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERxAJBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtniztnhjkEYCD6d5tniztnhjkJEAFCFukltwkscF4rMCD6HrbPFnbPDGkHoCV6AYgbpIwbY4cINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPAHbPDGkGYClKmtASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IghbpIxbY4dASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Iji2zxZ2zwxkEsCAUhMTQAWASFukltwkscF4rMCD6FvbPFnbPDGkE4CD6CfbPAHbPDGkGYAEAEB+QAB+QC9AgEgUVICASBeXwIBIFNUAgEgV1gChKnOASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8Wds8MZBVAhCoONs8Wds8MZBWAAgBxwWzAB4BIW6SW3CXAfkAAfkAuuICASBZWgIQqvHbPFnbPDGQXQIPpLm2eLO2eGOQWwIPpNO2eLO2eGOQXAACsAACvgACrAIBIGBhAgFmZ2gCpKnvIW6SMW2OHQEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI4iFukjFtjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPFnbPDGQYgIBSGNkADAhbiFuXLCTXwR/nAGzAbOwkscFkltw4uICD6BnbPFnbPDGkGUCD6GXbPAHbPDGkGYAHCFukltwlwH5AAH5ALriAAJuAg+hI2zxZ2zwxpBpALejRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgACuQIBSGxtAgEgdXYCASBubwIQqP7bPFnbPDGQdAIBIHBxAA+lfdqJoaQAAwIPoZ9s8Wds8MaQcgKToCCFukjFtjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8Wds8MaQcwACoQASIW6SW3CSxwXiADwhbiFuXLCTXwRwjhEBswGzsJcB+QAB+QC9klt/4uICASB3eAIBYnt8ApSpKQEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIIW6SMW2OHQEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI4ts8Wds8MZB5AhCo39s8Wds8MZB6ABQBIW6SW3CSxwXiADwhbiFuXLCTXwR/jhEBswGzsJcB+QAB+QC6kltw4uICD6DHbPFnbPDGkH0Ac6LuNDVpcGZzOi8vUW1hdm1qV0FzWFVpUzZMUmpvVUwxVlpFTktMTkhvOXJXVDRBYjNSU3g0RTVScoIAAqACASCAgQIBIIqLAgEggoMCASCGhwKEqUoBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zxZ2zwxkIQCEKi82zxZ2zwxkIUABgHHBQAeASFuklt/lwH5AAH5AL3iAhCoSNs8Wds8MZCIAhCqDNs8Wds8MZCJAASpBAAEqQgCASCMjQIRrA1tniztnhjAkJECEKlr2zxZ2zwxkI4CEKid2zxZ2zwxkI8AArsAHCFuklt/lwH5AAH5AL3iATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPJIAAqgAAm0=","abi":"{\"name\":\"MathTester\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Deploy\",\"header\":2490013878,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"DeployOk\",\"header\":2952335191,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"FactoryDeploy\",\"header\":1829761339,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"cashback\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Deploy\"}}],\"getters\":[{\"name\":\"add\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"sub\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mul\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"div\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mod\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"shr\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"shl\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"and\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"or\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"addAug\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"subAug\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mulAug\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"divAug\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"modAug\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"compare1\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare2\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare3\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare4\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare5\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare6\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare7\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare8\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare9\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare10\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare11\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare12\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare13\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare14\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare15\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare16\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare17\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare18\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare19\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare20\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare21\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare22\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare23\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare24\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare25\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare26\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare27\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\"}},{\"name\":\"b\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\"}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"compare28\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\"}},{\"name\":\"b\",\"type\":{\"kind\":\"dict\",\"key\":\"int\",\"value\":\"int\"}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"isNull1\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"isNotNull1\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"isNull2\",\"arguments\":[{\"name\":\"address\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"isNotNull2\",\"arguments\":[{\"name\":\"address\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"isNull3\",\"arguments\":[{\"name\":\"cell\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"isNotNull3\",\"arguments\":[{\"name\":\"cell\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckEClQEACXUAAQHAAQEFoJpJAgEU/wD0pBP0vPLICwMCAWKOBAIBIFgFAgEgKQYCASAYBwIBIA8IAgEgCgkCEawNbZ4s7Z4YwJNVAgEgDQsCEKid2zxZ2zwxkwwAHCFuklt/lwH5AAH5AL3iAhCpa9s8Wds8MZMOAAK7AgEgExACASASEQIQqgzbPFnbPDGTgQIQqEjbPFnbPDGTdQIBIBYUAhCovNs8Wds8MZMVAB4BIW6SW3+XAfkAAfkAveIChKlKASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8Wds8MZMXAAYBxwUCASAhGQIBIB0aAgFiHBsAc6LuNDVpcGZzOi8vUW1hdm1qV0FzWFVpUzZMUmpvVUwxVlpFTktMTkhvOXJXVDRBYjNSU3g0RTVScoICD6DHbPFnbPDGk3oCASAfHgIQqN/bPFnbPDGTUgKUqSkBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiCFukjFtjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPFnbPDGTIAAUASFukltwkscF4gIBSCMiAhCo/ts8Wds8MZOIAgEgJSQAD6V92omhpAADAgEgKCYCk6AghbpIxbY4dASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjiASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPFnbPDGkycAEiFukltwkscF4gIPoZ9s8Wds8MaThgIBIEUqAgEgNysCASAwLAIBZi4tALejRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgIPoSNs8Wds8MaTLwACuQIBIDUxAgFIMzICD6GXbPAHbPDGk1ACD6BnbPFnbPDGkzQAHCFukltwlwH5AAH5ALriAqSp7yFukjFtjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOIhbpIxbY4dASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Iji2zxZ2zwxkzYAMCFuIW5csJNfBH+cAbMBs7CSxwWSW3Di4gIBIEA4AgEgOzkCEKrx2zxZ2zwxkzoAAqwCASA+PAIPpNO2eLO2eGOTPQACvgIPpLm2eLO2eGOTPwACsAIBIENBAhCoONs8Wds8MZNCAB4BIW6SW3CXAfkAAfkAuuIChKnOASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8Wds8MZNEAAgBxwWzAgEgTUYCAUhLRwIBSElIAg+gn2zwB2zwxpNQAg+hb2zxZ2zwxpNKABABAfkAAfkAvQKUqa0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiCFukjFtjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPFnbPDGTTAAWASFukltwkscF4rMCAUhTTgIBSFFPAlegGIG6SMG2OHCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Iji2zwB2zwxpNQAAJuAg+h62zxZ2zwxpNSADwhbiFuXLCTXwR/jhEBswGzsJcB+QAB+QC6kltw4uICASBWVAIPp3m2eLO2eGOTVQACqAKTpxhC3SRi2xw6AkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRHEAkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eLO2eGOTVwAUIW6SW3CSxwXiswIBIH1ZAgEgaVoCASBiWwIBIGBcAgEgXl0CEKgE2zwB2zwxk28CEKvE2zxZ2zwxk18ALiFuIW5csJNfBH+bAbMBs7CRupJbcOLiAqWsMZC3SRi2xw6AkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRHEQt0kYtscOgJBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERxbZ4s7Z4YwJNhADIhbiFuXLCTXwR/nAGzAbOwkscFkltw4uKzAgEgZ2MCASBlZAJYqCUgbpIwbY4cINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPAHbPDGTbwIQq+XbPFnbPDGTZgAQIW6SW3+RveICEawhbZ4s7Z4YwJNoABABAfkAAfkAugIBIHJqAgFYcGsCAUhubAIPoDts8Wds8MaTbQACrQIPoRts8Ads8MaTbwAEbrMCEKuG2zxZ2zwxk3EAArwCASB4cwIBIHZ0AhCohds8Wds8MZN1AASpBAIQq6fbPFnbPDGTdwAuIW4hblywk18EcJsBswGzsJG9klt/4uICAVh7eQIPpy+2eLO2eGOTegACoAIPp4O2eLO2eGOTfAACsQIBIIl+AgEgh38CAViCgAIQqy3bPFnbPDGTgQAEqQgCAViFgwIPoQNs8Wds8MaThAASASFukltwkbriAg+gQ2zxZ2zwxpOGAAKhAhGxTDbPFnbPDGCTiAA8IW4hblywk18EcI4RAbMBs7CXAfkAAfkAvZJbf+LiAgEgjIoCEbLAts8Wds8MYJOLABAhbpJbcJG64gIRssj2zxZ2zwxgk40AEgEhbpJbf5G94gKS0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCMMj4QwHMfwHKAMntVJOPAYoBkjB/4HAh10nCH5UwINcLH96CEJRqmLa6jqfTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gMHCQATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPJEByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsAkgCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zyUAAJtZANPBg=="}},"sources":{"src/test/features/math.tact":"aW1wb3J0ICJAc3RkbGliL2RlcGxveSI7Cgpjb250cmFjdCBNYXRoVGVzdGVyIHdpdGggRGVwbG95YWJsZSB7CiAgICBpbml0KCkgewoKICAgIH0KCiAgICBnZXQgZnVuIGFkZChhOiBJbnQsIGI6IEludCk6IEludCB7CiAgICAgICAgcmV0dXJuIGEgKyBiOwogICAgfQoKICAgIGdldCBmdW4gc3ViKGE6IEludCwgYjogSW50KTogSW50IHsKICAgICAgICByZXR1cm4gYSAtIGI7CiAgICB9CgogICAgZ2V0IGZ1biBtdWwoYTogSW50LCBiOiBJbnQpOiBJbnQgewogICAgICAgIHJldHVybiBhICogYjsKICAgIH0KCiAgICBnZXQgZnVuIGRpdihhOiBJbnQsIGI6IEludCk6IEludCB7CiAgICAgICAgcmV0dXJuIGEgLyBiOwogICAgfQoKICAgIGdldCBmdW4gbW9kKGE6IEludCwgYjogSW50KTogSW50IHsKICAgICAgICByZXR1cm4gYSAlIGI7CiAgICB9CgogICAgZ2V0IGZ1biBzaHIoYTogSW50LCBiOiBJbnQpOiBJbnQgewogICAgICAgIHJldHVybiBhID4+IGI7CiAgICB9CgogICAgZ2V0IGZ1biBzaGwoYTogSW50LCBiOiBJbnQpOiBJbnQgewogICAgICAgIHJldHVybiBhIDw8IGI7CiAgICB9CgogICAgZ2V0IGZ1biBhbmQoYTogSW50LCBiOiBJbnQpOiBJbnQgewogICAgICAgIHJldHVybiBhICYgYjsKICAgIH0KCiAgICBnZXQgZnVuIG9yKGE6IEludCwgYjogSW50KTogSW50IHsKICAgICAgICByZXR1cm4gYSB8IGI7CiAgICB9CgogICAgLy8KICAgIC8vIEF1Z21lbnRlZCBhc3NpZ25tZW50CiAgICAvLwoKICAgIGdldCBmdW4gYWRkQXVnKGE6IEludCwgYjogSW50KTogSW50IHsKICAgICAgICBhICs9IGI7CiAgICAgICAgcmV0dXJuIGE7CiAgICB9CgogICAgZ2V0IGZ1biBzdWJBdWcoYTogSW50LCBiOiBJbnQpOiBJbnQgewogICAgICAgIGEgLT0gYjsKICAgICAgICByZXR1cm4gYTsKICAgIH0KCiAgICBnZXQgZnVuIG11bEF1ZyhhOiBJbnQsIGI6IEludCk6IEludCB7CiAgICAgICAgYSAqPSBiOwogICAgICAgIHJldHVybiBhOwogICAgfQoKICAgIGdldCBmdW4gZGl2QXVnKGE6IEludCwgYjogSW50KTogSW50IHsKICAgICAgICBhIC89IGI7CiAgICAgICAgcmV0dXJuIGE7CiAgICB9CgogICAgZ2V0IGZ1biBtb2RBdWcoYTogSW50LCBiOiBJbnQpOiBJbnQgewogICAgICAgIGEgJT0gYjsKICAgICAgICByZXR1cm4gYTsKICAgIH0KCiAgICAvLwogICAgLy8gSW50IENvbXBhcmUKICAgIC8vCgogICAgZ2V0IGZ1biBjb21wYXJlMShhOiBJbnQsIGI6IEludD8pOiBCb29sIHsKICAgICAgICByZXR1cm4gYSA9PSBiOwogICAgfQoKICAgIGdldCBmdW4gY29tcGFyZTIoYTogSW50LCBiOiBJbnQ/KTogQm9vbCB7CiAgICAgICAgcmV0dXJuIGEgIT0gYjsKICAgIH0KCiAgICBnZXQgZnVuIGNvbXBhcmUzKGE6IEludD8sIGI6IEludCk6IEJvb2wgewogICAgICAgIHJldHVybiBhID09IGI7CiAgICB9CgogICAgZ2V0IGZ1biBjb21wYXJlNChhOiBJbnQ/LCBiOiBJbnQpOiBCb29sIHsKICAgICAgICByZXR1cm4gYSAhPSBiOwogICAgfQoKICAgIGdldCBmdW4gY29tcGFyZTUoYTogSW50PywgYjogSW50Pyk6IEJvb2wgewogICAgICAgIHJldHVybiBhID09IGI7CiAgICB9CgogICAgZ2V0IGZ1biBjb21wYXJlNihhOiBJbnQ/LCBiOiBJbnQ/KTogQm9vbCB7CiAgICAgICAgcmV0dXJuIGEgIT0gYjsKICAgIH0KCiAgICBnZXQgZnVuIGNvbXBhcmU3KGE6IEludCwgYjogSW50KTogQm9vbCB7CiAgICAgICAgcmV0dXJuIGEgPiBiOwogICAgfQoKICAgIGdldCBmdW4gY29tcGFyZTgoYTogSW50LCBiOiBJbnQpOiBCb29sIHsKICAgICAgICByZXR1cm4gYSA+PSBiOwogICAgfQoKICAgIGdldCBmdW4gY29tcGFyZTkoYTogSW50LCBiOiBJbnQpOiBCb29sIHsKICAgICAgICByZXR1cm4gYSA8IGI7CiAgICB9CgogICAgZ2V0IGZ1biBjb21wYXJlMTAoYTogSW50LCBiOiBJbnQpOiBCb29sIHsKICAgICAgICByZXR1cm4gYSA8PSBiOwogICAgfQoKICAgIC8vCiAgICAvLyBBZGRyZXNzIENvbXBhcmUKICAgIC8vCgogICAgZ2V0IGZ1biBjb21wYXJlMTEoYTogQWRkcmVzcywgYjogQWRkcmVzcyk6IEJvb2wgewogICAgICAgIHJldHVybiBhID09IGI7CiAgICB9CgogICAgZ2V0IGZ1biBjb21wYXJlMTIoYTogQWRkcmVzcywgYjogQWRkcmVzcz8pOiBCb29sIHsKICAgICAgICByZXR1cm4gYSA9PSBiOwogICAgfQoKICAgIGdldCBmdW4gY29tcGFyZTEzKGE6IEFkZHJlc3M/LCBiOiBBZGRyZXNzKTogQm9vbCB7CiAgICAgICAgcmV0dXJuIGEgPT0gYjsKICAgIH0KCiAgICBnZXQgZnVuIGNvbXBhcmUxNChhOiBBZGRyZXNzPywgYjogQWRkcmVzcz8pOiBCb29sIHsKICAgICAgICByZXR1cm4gYSA9PSBiOwogICAgfQoKICAgIGdldCBmdW4gY29tcGFyZTE1KGE6IEFkZHJlc3MsIGI6IEFkZHJlc3MpOiBCb29sIHsKICAgICAgICByZXR1cm4gYSAhPSBiOwogICAgfQoKICAgIGdldCBmdW4gY29tcGFyZTE2KGE6IEFkZHJlc3MsIGI6IEFkZHJlc3M/KTogQm9vbCB7CiAgICAgICAgcmV0dXJuIGEgIT0gYjsKICAgIH0KCiAgICBnZXQgZnVuIGNvbXBhcmUxNyhhOiBBZGRyZXNzPywgYjogQWRkcmVzcyk6IEJvb2wgewogICAgICAgIHJldHVybiBhICE9IGI7CiAgICB9CgogICAgZ2V0IGZ1biBjb21wYXJlMTgoYTogQWRkcmVzcz8sIGI6IEFkZHJlc3M/KTogQm9vbCB7CiAgICAgICAgcmV0dXJuIGEgIT0gYjsKICAgIH0KCiAgICAvLwogICAgLy8gQ2VsbCBjb21wYXJlCiAgICAvLwoKICAgIGdldCBmdW4gY29tcGFyZTE5KGE6IENlbGwsIGI6IENlbGwpOiBCb29sIHsKICAgICAgICByZXR1cm4gYSA9PSBiOwogICAgfQoKICAgIGdldCBmdW4gY29tcGFyZTIwKGE6IENlbGwsIGI6IENlbGw/KTogQm9vbCB7CiAgICAgICAgcmV0dXJuIGEgPT0gYjsKICAgIH0KCiAgICBnZXQgZnVuIGNvbXBhcmUyMShhOiBDZWxsPywgYjogQ2VsbCk6IEJvb2wgewogICAgICAgIHJldHVybiBhID09IGI7CiAgICB9CgogICAgZ2V0IGZ1biBjb21wYXJlMjIoYTogQ2VsbD8sIGI6IENlbGw/KTogQm9vbCB7CiAgICAgICAgcmV0dXJuIGEgPT0gYjsKICAgIH0KCiAgICBnZXQgZnVuIGNvbXBhcmUyMyhhOiBDZWxsLCBiOiBDZWxsKTogQm9vbCB7CiAgICAgICAgcmV0dXJuIGEgIT0gYjsKICAgIH0KCiAgICBnZXQgZnVuIGNvbXBhcmUyNChhOiBDZWxsLCBiOiBDZWxsPyk6IEJvb2wgewogICAgICAgIHJldHVybiBhICE9IGI7CiAgICB9CgogICAgZ2V0IGZ1biBjb21wYXJlMjUoYTogQ2VsbD8sIGI6IENlbGwpOiBCb29sIHsKICAgICAgICByZXR1cm4gYSAhPSBiOwogICAgfQoKICAgIGdldCBmdW4gY29tcGFyZTI2KGE6IENlbGw/LCBiOiBDZWxsPyk6IEJvb2wgewogICAgICAgIHJldHVybiBhICE9IGI7CiAgICB9CgogICAgLy8gQ29tcGFyZSBkaWN0cwoKICAgIGdldCBmdW4gY29tcGFyZTI3KGE6IG1hcDxJbnQsIEludD4sIGI6IG1hcDxJbnQsIEludD4pOiBCb29sIHsKICAgICAgICByZXR1cm4gYSA9PSBiOwogICAgfQoKICAgIGdldCBmdW4gY29tcGFyZTI4KGE6IG1hcDxJbnQsIEludD4sIGI6IG1hcDxJbnQsIEludD4pOiBCb29sIHsKICAgICAgICByZXR1cm4gYSAhPSBiOwogICAgfQoKICAgIC8vCiAgICAvLyBJc051bGwvSXNOb3ROdWxsCiAgICAvLwoKICAgIGdldCBmdW4gaXNOdWxsMShhOiBJbnQ/KTogQm9vbCB7CiAgICAgICAgcmV0dXJuIGEgPT0gbnVsbDsKICAgIH0KCiAgICBnZXQgZnVuIGlzTm90TnVsbDEoYTogSW50Pyk6IEJvb2wgewogICAgICAgIHJldHVybiBhICE9IG51bGw7CiAgICB9CgogICAgZ2V0IGZ1biBpc051bGwyKGFkZHJlc3M6IEFkZHJlc3M/KTogQm9vbCB7CiAgICAgICAgcmV0dXJuIGFkZHJlc3MgPT0gbnVsbDsKICAgIH0KCiAgICBnZXQgZnVuIGlzTm90TnVsbDIoYWRkcmVzczogQWRkcmVzcz8pOiBCb29sIHsKICAgICAgICByZXR1cm4gYWRkcmVzcyAhPSBudWxsOwogICAgfQoKICAgIGdldCBmdW4gaXNOdWxsMyhjZWxsOiBDZWxsPyk6IEJvb2wgewogICAgICAgIHJldHVybiBjZWxsID09IG51bGw7CiAgICB9CgogICAgZ2V0IGZ1biBpc05vdE51bGwzKGNlbGw6IENlbGw/KTogQm9vbCB7CiAgICAgICAgcmV0dXJuIGNlbGwgIT0gbnVsbDsKICAgIH0KfQ=="},"compiler":{"name":"tact","version":"1.1.3","parameters":"{\"entrypoint\":\"./src/test/features/math.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/math_MathTester.stdlib.fc b/src/test/features/output/math_MathTester.stdlib.fc deleted file mode 100644 index 8327ebdd9..000000000 --- a/src/test/features/output/math_MathTester.stdlib.fc +++ /dev/null @@ -1,173 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -int __tact_slice_eq_bits(slice a, slice b) inline { - return equal_slice_bits(a, b); -} - -int __tact_slice_eq_bits_nullable_one(slice a, slice b) inline { - return (null?(a)) ? (false) : (equal_slice_bits(a, b)); -} - -int __tact_slice_eq_bits_nullable(slice a, slice b) inline { - var a_is_null = null?(a); - var b_is_null = null?(b); - return ( a_is_null & b_is_null ) ? ( true ) : ( ( ( ~ a_is_null ) & ( ~ b_is_null ) ) ? ( equal_slice_bits(a, b) ) : ( false ) ); -} - -int __tact_int_eq_nullable_one(int a, int b) inline { - return (null?(a)) ? (false) : (a == b); -} - -int __tact_int_neq_nullable_one(int a, int b) inline { - return (null?(a)) ? (true) : (a != b); -} - -int __tact_int_eq_nullable(int a, int b) inline { - var a_is_null = null?(a); - var b_is_null = null?(b); - return ( a_is_null & b_is_null ) ? ( true ) : ( ( ( ~ a_is_null ) & ( ~ b_is_null ) ) ? ( a == b ) : ( false ) ); -} - -int __tact_int_neq_nullable(int a, int b) inline { - var a_is_null = null?(a); - var b_is_null = null?(b); - return ( a_is_null & b_is_null ) ? ( false ) : ( ( ( ~ a_is_null ) & ( ~ b_is_null ) ) ? ( a != b ) : ( true ) ); -} - -int __tact_cell_eq(cell a, cell b) inline { - return (a.cell_hash() == b.cell_hash()); -} - -int __tact_cell_neq(cell a, cell b) inline { - return (a.cell_hash() != b.cell_hash()); -} - -int __tact_cell_eq_nullable_one(cell a, cell b) inline { - return (null?(a)) ? (false) : (a.cell_hash() == b.cell_hash()); -} - -int __tact_cell_neq_nullable_one(cell a, cell b) inline { - return (null?(a)) ? (true) : (a.cell_hash() != b.cell_hash()); -} - -int __tact_cell_eq_nullable(cell a, cell b) inline { - var a_is_null = null?(a); - var b_is_null = null?(b); - return ( a_is_null & b_is_null ) ? ( true ) : ( ( ( ~ a_is_null ) & ( ~ b_is_null ) ) ? ( a.cell_hash() == b.cell_hash() ) : ( false ) ); -} - -int __tact_cell_neq_nullable(cell a, cell b) inline { - var a_is_null = null?(a); - var b_is_null = null?(b); - return ( a_is_null & b_is_null ) ? ( false ) : ( ( ( ~ a_is_null ) & ( ~ b_is_null ) ) ? ( a.cell_hash() != b.cell_hash() ) : ( true ) ); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -(tuple, ()) $MathTester$_fun_forward(tuple $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var ($self) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return ($self, ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return ($self, ()); -} - -(tuple, ()) $MathTester$_fun_notify(tuple $self, cell $body) impure inline { - var ($self) = $self; - $self~$MathTester$_fun_forward(__tact_context_get_sender(), $body, false, null()); - return ($self, ()); -} \ No newline at end of file diff --git a/src/test/features/output/math_MathTester.storage.fc b/src/test/features/output/math_MathTester.storage.fc deleted file mode 100644 index e27c4ffd0..000000000 --- a/src/test/features/output/math_MathTester.storage.fc +++ /dev/null @@ -1,76 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: Deploy -;; Header: 0x946a98b6 -;; TLB: deploy#946a98b6 queryId:uint64 = Deploy -;; - -(slice, ((int))) $Deploy$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2490013878); - var v'queryId = sc_0~load_uint(64); - return (sc_0, (v'queryId)); -} - -;; -;; Type: DeployOk -;; Header: 0xaff90f57 -;; TLB: deploy_ok#aff90f57 queryId:uint64 = DeployOk -;; - -builder $DeployOk$_store(builder build_0, (int) v) inline { - var (v'queryId) = v; - build_0 = store_uint(build_0, 2952335191, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell $DeployOk$_store_cell((int) v) inline { - return $DeployOk$_store(begin_cell(), v).end_cell(); -} - -((int)) $DeployOk$_constructor_queryId(int queryId) inline { - return (queryId); -} - -;; -;; Type: MathTester -;; - -tuple $MathTester$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $MathTester$_contract_init(); - } -} - -() $MathTester$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/math_MathTester.ts b/src/test/features/output/math_MathTester.ts deleted file mode 100644 index 5e88414df..000000000 --- a/src/test/features/output/math_MathTester.ts +++ /dev/null @@ -1,904 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Deploy = { - $$type: 'Deploy'; - queryId: bigint; -} - -export function storeDeploy(src: Deploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2490013878, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2490013878) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function loadTupleDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function storeTupleDeploy(source: Deploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeploy(src)).endCell()); - }, - parse: (src) => { - return loadDeploy(src.loadRef().beginParse()); - } - } -} - -export type DeployOk = { - $$type: 'DeployOk'; - queryId: bigint; -} - -export function storeDeployOk(src: DeployOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2952335191, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeployOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2952335191) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function loadTupleDeployOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function storeTupleDeployOk(source: DeployOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeployOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeployOk(src)).endCell()); - }, - parse: (src) => { - return loadDeployOk(src.loadRef().beginParse()); - } - } -} - -export type FactoryDeploy = { - $$type: 'FactoryDeploy'; - queryId: bigint; - cashback: Address; -} - -export function storeFactoryDeploy(src: FactoryDeploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1829761339, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.cashback); - }; -} - -export function loadFactoryDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1829761339) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _cashback = sc_0.loadAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function loadTupleFactoryDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _cashback = source.readAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function storeTupleFactoryDeploy(source: FactoryDeploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.cashback); - return builder.build(); -} - -function dictValueParserFactoryDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFactoryDeploy(src)).endCell()); - }, - parse: (src) => { - return loadFactoryDeploy(src.loadRef().beginParse()); - } - } -} - - type MathTester_init_args = { - $$type: 'MathTester_init_args'; -} - -function initMathTester_init_args(src: MathTester_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function MathTester_init() { - const __code = Cell.fromBase64('te6ccgECkwEACWsAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UkAQCASAICQGKAZIwf+BwIddJwh+VMCDXCx/eghCUapi2uo6n0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4DBwBQE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwGAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AAcAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwCASAKCwIBIBkaAgEgDA0CASAfIAIBIA4PAgEgEhMCEbLI9s8Wds8MYJAQAhGywLbPFnbPDGCQEQASASFuklt/kb3iABAhbpJbcJG64gIRsUw2zxZ2zwxgkHQCAVgUFQIBWBYXAhCrLds8Wds8MZCJAg+gQ2zxZ2zwxpByAg+hA2zxZ2zwxpAYABIBIW6SW3CRuuICASAbHAIBIB0eAgEgQEECASBPUAIBIGprAgEgfn8CASAhIgIBIDEyAgEgIyQCAVgrLAIBWCUmAgEgKCkCD6eDtniztnhjkCcCD6cvtniztnhjkH0AArECEKun2zxZ2zwxkCoCEKiF2zxZ2zwxkIgALiFuIW5csJNfBHCbAbMBs7CRvZJbf+LiAhCrhts8Wds8MZAtAgFILi8AArwCD6EbbPAHbPDGkD8CD6A7bPFnbPDGkDAAAq0CASAzNAIBIDk6AhGsIW2eLO2eGMCQNQIBIDY3ABABAfkAAfkAugIQq+XbPFnbPDGQOAJYqCUgbpIwbY4cINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPAHbPDGQPwAQIW6SW3+RveICpawxkLdJGLbHDoCQa6TAgIXdeXBEEGuFhRBAgn/deWhEwYTdeXBEcRC3SRi2xw6AkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRHFtniztnhjAkDsCASA8PQAyIW4hblywk18Ef5wBswGzsJLHBZJbcOLiswIQq8TbPFnbPDGQPgIQqATbPAHbPDGQPwAuIW4hblywk18Ef5sBswGzsJG6kltw4uIABG6zAgFIQkMCAUhJSgIBIERFAgFIR0gCk6cYQt0kYtscOgJBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERxAJBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERtniztnhjkEYCD6d5tniztnhjkJEAFCFukltwkscF4rMCD6HrbPFnbPDGkHoCV6AYgbpIwbY4cINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPAHbPDGkGYClKmtASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IghbpIxbY4dASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Iji2zxZ2zwxkEsCAUhMTQAWASFukltwkscF4rMCD6FvbPFnbPDGkE4CD6CfbPAHbPDGkGYAEAEB+QAB+QC9AgEgUVICASBeXwIBIFNUAgEgV1gChKnOASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8Wds8MZBVAhCoONs8Wds8MZBWAAgBxwWzAB4BIW6SW3CXAfkAAfkAuuICASBZWgIQqvHbPFnbPDGQXQIPpLm2eLO2eGOQWwIPpNO2eLO2eGOQXAACsAACvgACrAIBIGBhAgFmZ2gCpKnvIW6SMW2OHQEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI4iFukjFtjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPFnbPDGQYgIBSGNkADAhbiFuXLCTXwR/nAGzAbOwkscFkltw4uICD6BnbPFnbPDGkGUCD6GXbPAHbPDGkGYAHCFukltwlwH5AAH5ALriAAJuAg+hI2zxZ2zwxpBpALejRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgACuQIBSGxtAgEgdXYCASBubwIQqP7bPFnbPDGQdAIBIHBxAA+lfdqJoaQAAwIPoZ9s8Wds8MaQcgKToCCFukjFtjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOIBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8Wds8MaQcwACoQASIW6SW3CSxwXiADwhbiFuXLCTXwRwjhEBswGzsJcB+QAB+QC9klt/4uICASB3eAIBYnt8ApSpKQEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIIW6SMW2OHQEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI4ts8Wds8MZB5AhCo39s8Wds8MZB6ABQBIW6SW3CSxwXiADwhbiFuXLCTXwR/jhEBswGzsJcB+QAB+QC6kltw4uICD6DHbPFnbPDGkH0Ac6LuNDVpcGZzOi8vUW1hdm1qV0FzWFVpUzZMUmpvVUwxVlpFTktMTkhvOXJXVDRBYjNSU3g0RTVScoIAAqACASCAgQIBIIqLAgEggoMCASCGhwKEqUoBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCI2zxZ2zwxkIQCEKi82zxZ2zwxkIUABgHHBQAeASFuklt/lwH5AAH5AL3iAhCoSNs8Wds8MZCIAhCqDNs8Wds8MZCJAASpBAAEqQgCASCMjQIRrA1tniztnhjAkJECEKlr2zxZ2zwxkI4CEKid2zxZ2zwxkI8AArsAHCFuklt/lwH5AAH5AL3iATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPJIAAqgAAm0='); - const __system = Cell.fromBase64('te6cckEClQEACXUAAQHAAQEFoJpJAgEU/wD0pBP0vPLICwMCAWKOBAIBIFgFAgEgKQYCASAYBwIBIA8IAgEgCgkCEawNbZ4s7Z4YwJNVAgEgDQsCEKid2zxZ2zwxkwwAHCFuklt/lwH5AAH5AL3iAhCpa9s8Wds8MZMOAAK7AgEgExACASASEQIQqgzbPFnbPDGTgQIQqEjbPFnbPDGTdQIBIBYUAhCovNs8Wds8MZMVAB4BIW6SW3+XAfkAAfkAveIChKlKASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8Wds8MZMXAAYBxwUCASAhGQIBIB0aAgFiHBsAc6LuNDVpcGZzOi8vUW1hdm1qV0FzWFVpUzZMUmpvVUwxVlpFTktMTkhvOXJXVDRBYjNSU3g0RTVScoICD6DHbPFnbPDGk3oCASAfHgIQqN/bPFnbPDGTUgKUqSkBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiCFukjFtjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPFnbPDGTIAAUASFukltwkscF4gIBSCMiAhCo/ts8Wds8MZOIAgEgJSQAD6V92omhpAADAgEgKCYCk6AghbpIxbY4dASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjiASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjbPFnbPDGkycAEiFukltwkscF4gIPoZ9s8Wds8MaThgIBIEUqAgEgNysCASAwLAIBZi4tALejRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgIPoSNs8Wds8MaTLwACuQIBIDUxAgFIMzICD6GXbPAHbPDGk1ACD6BnbPFnbPDGkzQAHCFukltwlwH5AAH5ALriAqSp7yFukjFtjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOIhbpIxbY4dASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Iji2zxZ2zwxkzYAMCFuIW5csJNfBH+cAbMBs7CSxwWSW3Di4gIBIEA4AgEgOzkCEKrx2zxZ2zwxkzoAAqwCASA+PAIPpNO2eLO2eGOTPQACvgIPpLm2eLO2eGOTPwACsAIBIENBAhCoONs8Wds8MZNCAB4BIW6SW3CXAfkAAfkAuuIChKnOASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgBINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiNs8Wds8MZNEAAgBxwWzAgEgTUYCAUhLRwIBSElIAg+gn2zwB2zwxpNQAg+hb2zxZ2zwxpNKABABAfkAAfkAvQKUqa0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiCFukjFtjh0BINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPFnbPDGTTAAWASFukltwkscF4rMCAUhTTgIBSFFPAlegGIG6SMG2OHCDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4Iji2zwB2zwxpNQAAJuAg+h62zxZ2zwxpNSADwhbiFuXLCTXwR/jhEBswGzsJcB+QAB+QC6kltw4uICASBWVAIPp3m2eLO2eGOTVQACqAKTpxhC3SRi2xw6AkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRHEAkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRG2eLO2eGOTVwAUIW6SW3CSxwXiswIBIH1ZAgEgaVoCASBiWwIBIGBcAgEgXl0CEKgE2zwB2zwxk28CEKvE2zxZ2zwxk18ALiFuIW5csJNfBH+bAbMBs7CRupJbcOLiAqWsMZC3SRi2xw6AkGukwICF3XlwRBBrhYUQQIJ/3XloRMGE3XlwRHEQt0kYtscOgJBrpMCAhd15cEQQa4WFEECCf915aETBhN15cERxbZ4s7Z4YwJNhADIhbiFuXLCTXwR/nAGzAbOwkscFkltw4uKzAgEgZ2MCASBlZAJYqCUgbpIwbY4cINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiOLbPAHbPDGTbwIQq+XbPFnbPDGTZgAQIW6SW3+RveICEawhbZ4s7Z4YwJNoABABAfkAAfkAugIBIHJqAgFYcGsCAUhubAIPoDts8Wds8MaTbQACrQIPoRts8Ads8MaTbwAEbrMCEKuG2zxZ2zwxk3EAArwCASB4cwIBIHZ0AhCohds8Wds8MZN1AASpBAIQq6fbPFnbPDGTdwAuIW4hblywk18EcJsBswGzsJG9klt/4uICAVh7eQIPpy+2eLO2eGOTegACoAIPp4O2eLO2eGOTfAACsQIBIIl+AgEgh38CAViCgAIQqy3bPFnbPDGTgQAEqQgCAViFgwIPoQNs8Wds8MaThAASASFukltwkbriAg+gQ2zxZ2zwxpOGAAKhAhGxTDbPFnbPDGCTiAA8IW4hblywk18EcI4RAbMBs7CXAfkAAfkAvZJbf+LiAgEgjIoCEbLAts8Wds8MYJOLABAhbpJbcJG64gIRssj2zxZ2zwxgk40AEgEhbpJbf5G94gKS0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCMMj4QwHMfwHKAMntVJOPAYoBkjB/4HAh10nCH5UwINcLH96CEJRqmLa6jqfTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gMHCQATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPJEByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsAkgCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zyUAAJtZANPBg=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initMathTester_init_args({ $$type: 'MathTester_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const MathTester_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const MathTester_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}, -] - -const MathTester_getters: ABIGetter[] = [ - {"name":"add","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"sub","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"mul","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"div","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"mod","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"shr","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"shl","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"and","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"or","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"addAug","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"subAug","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"mulAug","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"divAug","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"modAug","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"compare1","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":true,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare2","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":true,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare3","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare4","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare5","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":true,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare6","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":true,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare7","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare8","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare9","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare10","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare11","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":false}},{"name":"b","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare12","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":false}},{"name":"b","type":{"kind":"simple","type":"address","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare13","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":true}},{"name":"b","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare14","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":true}},{"name":"b","type":{"kind":"simple","type":"address","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare15","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":false}},{"name":"b","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare16","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":false}},{"name":"b","type":{"kind":"simple","type":"address","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare17","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":true}},{"name":"b","type":{"kind":"simple","type":"address","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare18","arguments":[{"name":"a","type":{"kind":"simple","type":"address","optional":true}},{"name":"b","type":{"kind":"simple","type":"address","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare19","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":false}},{"name":"b","type":{"kind":"simple","type":"cell","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare20","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":false}},{"name":"b","type":{"kind":"simple","type":"cell","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare21","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":true}},{"name":"b","type":{"kind":"simple","type":"cell","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare22","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":true}},{"name":"b","type":{"kind":"simple","type":"cell","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare23","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":false}},{"name":"b","type":{"kind":"simple","type":"cell","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare24","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":false}},{"name":"b","type":{"kind":"simple","type":"cell","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare25","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":true}},{"name":"b","type":{"kind":"simple","type":"cell","optional":false}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare26","arguments":[{"name":"a","type":{"kind":"simple","type":"cell","optional":true}},{"name":"b","type":{"kind":"simple","type":"cell","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare27","arguments":[{"name":"a","type":{"kind":"dict","key":"int","value":"int"}},{"name":"b","type":{"kind":"dict","key":"int","value":"int"}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"compare28","arguments":[{"name":"a","type":{"kind":"dict","key":"int","value":"int"}},{"name":"b","type":{"kind":"dict","key":"int","value":"int"}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"isNull1","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"isNotNull1","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"isNull2","arguments":[{"name":"address","type":{"kind":"simple","type":"address","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"isNotNull2","arguments":[{"name":"address","type":{"kind":"simple","type":"address","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"isNull3","arguments":[{"name":"cell","type":{"kind":"simple","type":"cell","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"isNotNull3","arguments":[{"name":"cell","type":{"kind":"simple","type":"cell","optional":true}}],"returnType":{"kind":"simple","type":"bool","optional":false}}, -] - -const MathTester_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}, -] - -export class MathTester implements Contract { - - static async init() { - return await MathTester_init(); - } - - static async fromInit() { - const init = await MathTester_init(); - const address = contractAddress(0, init); - return new MathTester(address, init); - } - - static fromAddress(address: Address) { - return new MathTester(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: MathTester_types, - getters: MathTester_getters, - receivers: MathTester_receivers, - errors: MathTester_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: Deploy) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Deploy') { - body = beginCell().store(storeDeploy(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getAdd(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('add', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getSub(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('sub', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getMul(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('mul', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getDiv(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('div', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getMod(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('mod', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getShr(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('shr', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getShl(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('shl', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getAnd(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('and', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getOr(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('or', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getAddAug(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('addAug', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getSubAug(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('subAug', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getMulAug(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('mulAug', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getDivAug(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('divAug', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getModAug(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('modAug', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getCompare1(provider: ContractProvider, a: bigint, b: bigint | null) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('compare1', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare2(provider: ContractProvider, a: bigint, b: bigint | null) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('compare2', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare3(provider: ContractProvider, a: bigint | null, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('compare3', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare4(provider: ContractProvider, a: bigint | null, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('compare4', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare5(provider: ContractProvider, a: bigint | null, b: bigint | null) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('compare5', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare6(provider: ContractProvider, a: bigint | null, b: bigint | null) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('compare6', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare7(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('compare7', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare8(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('compare8', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare9(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('compare9', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare10(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('compare10', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare11(provider: ContractProvider, a: Address, b: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(a); - builder.writeAddress(b); - let source = (await provider.get('compare11', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare12(provider: ContractProvider, a: Address, b: Address | null) { - let builder = new TupleBuilder(); - builder.writeAddress(a); - builder.writeAddress(b); - let source = (await provider.get('compare12', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare13(provider: ContractProvider, a: Address | null, b: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(a); - builder.writeAddress(b); - let source = (await provider.get('compare13', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare14(provider: ContractProvider, a: Address | null, b: Address | null) { - let builder = new TupleBuilder(); - builder.writeAddress(a); - builder.writeAddress(b); - let source = (await provider.get('compare14', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare15(provider: ContractProvider, a: Address, b: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(a); - builder.writeAddress(b); - let source = (await provider.get('compare15', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare16(provider: ContractProvider, a: Address, b: Address | null) { - let builder = new TupleBuilder(); - builder.writeAddress(a); - builder.writeAddress(b); - let source = (await provider.get('compare16', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare17(provider: ContractProvider, a: Address | null, b: Address) { - let builder = new TupleBuilder(); - builder.writeAddress(a); - builder.writeAddress(b); - let source = (await provider.get('compare17', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare18(provider: ContractProvider, a: Address | null, b: Address | null) { - let builder = new TupleBuilder(); - builder.writeAddress(a); - builder.writeAddress(b); - let source = (await provider.get('compare18', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare19(provider: ContractProvider, a: Cell, b: Cell) { - let builder = new TupleBuilder(); - builder.writeCell(a); - builder.writeCell(b); - let source = (await provider.get('compare19', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare20(provider: ContractProvider, a: Cell, b: Cell | null) { - let builder = new TupleBuilder(); - builder.writeCell(a); - builder.writeCell(b); - let source = (await provider.get('compare20', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare21(provider: ContractProvider, a: Cell | null, b: Cell) { - let builder = new TupleBuilder(); - builder.writeCell(a); - builder.writeCell(b); - let source = (await provider.get('compare21', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare22(provider: ContractProvider, a: Cell | null, b: Cell | null) { - let builder = new TupleBuilder(); - builder.writeCell(a); - builder.writeCell(b); - let source = (await provider.get('compare22', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare23(provider: ContractProvider, a: Cell, b: Cell) { - let builder = new TupleBuilder(); - builder.writeCell(a); - builder.writeCell(b); - let source = (await provider.get('compare23', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare24(provider: ContractProvider, a: Cell, b: Cell | null) { - let builder = new TupleBuilder(); - builder.writeCell(a); - builder.writeCell(b); - let source = (await provider.get('compare24', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare25(provider: ContractProvider, a: Cell | null, b: Cell) { - let builder = new TupleBuilder(); - builder.writeCell(a); - builder.writeCell(b); - let source = (await provider.get('compare25', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare26(provider: ContractProvider, a: Cell | null, b: Cell | null) { - let builder = new TupleBuilder(); - builder.writeCell(a); - builder.writeCell(b); - let source = (await provider.get('compare26', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare27(provider: ContractProvider, a: Dictionary, b: Dictionary) { - let builder = new TupleBuilder(); - builder.writeCell(a.size > 0 ? beginCell().storeDictDirect(a, Dictionary.Keys.BigInt(257), Dictionary.Values.BigInt(257)).endCell() : null); - builder.writeCell(b.size > 0 ? beginCell().storeDictDirect(b, Dictionary.Keys.BigInt(257), Dictionary.Values.BigInt(257)).endCell() : null); - let source = (await provider.get('compare27', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getCompare28(provider: ContractProvider, a: Dictionary, b: Dictionary) { - let builder = new TupleBuilder(); - builder.writeCell(a.size > 0 ? beginCell().storeDictDirect(a, Dictionary.Keys.BigInt(257), Dictionary.Values.BigInt(257)).endCell() : null); - builder.writeCell(b.size > 0 ? beginCell().storeDictDirect(b, Dictionary.Keys.BigInt(257), Dictionary.Values.BigInt(257)).endCell() : null); - let source = (await provider.get('compare28', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getIsNull1(provider: ContractProvider, a: bigint | null) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - let source = (await provider.get('isNull1', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getIsNotNull1(provider: ContractProvider, a: bigint | null) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - let source = (await provider.get('isNotNull1', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getIsNull2(provider: ContractProvider, address: Address | null) { - let builder = new TupleBuilder(); - builder.writeAddress(address); - let source = (await provider.get('isNull2', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getIsNotNull2(provider: ContractProvider, address: Address | null) { - let builder = new TupleBuilder(); - builder.writeAddress(address); - let source = (await provider.get('isNotNull2', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getIsNull3(provider: ContractProvider, cell: Cell | null) { - let builder = new TupleBuilder(); - builder.writeCell(cell); - let source = (await provider.get('isNull3', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getIsNotNull3(provider: ContractProvider, cell: Cell | null) { - let builder = new TupleBuilder(); - builder.writeCell(cell); - let source = (await provider.get('isNotNull3', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/optionals_ContractWithOptionals.abi b/src/test/features/output/optionals_ContractWithOptionals.abi deleted file mode 100644 index f6be09881..000000000 --- a/src/test/features/output/optionals_ContractWithOptionals.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"ContractWithOptionals","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Struct2","header":2971230874,"fields":[{"name":"v","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"OptStruct","header":null,"fields":[{"name":"s","type":{"kind":"simple","type":"Struct2","optional":true}}]},{"name":"SomeGenericStruct","header":null,"fields":[{"name":"value1","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value2","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value3","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value4","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value5","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"StructWithOptionals","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}}]},{"name":"Update","header":357891325,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}},{"name":"f","type":{"kind":"simple","type":"StructWithOptionals","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}},{"receiver":"internal","message":{"kind":"typed","type":"Update"}}],"getters":[{"name":"isNotNullA","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"isNotNullB","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"isNotNullC","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"isNotNullD","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"isNotNullE","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"isNotNullF","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"nullA","arguments":[],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"nullB","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":true}},{"name":"nullC","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":true}},{"name":"nullD","arguments":[],"returnType":{"kind":"simple","type":"address","optional":true}},{"name":"nullE","arguments":[],"returnType":{"kind":"simple","type":"SomeGenericStruct","optional":true}},{"name":"nullF","arguments":[],"returnType":{"kind":"simple","type":"StructWithOptionals","optional":true}},{"name":"notNullA","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"notNullB","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"notNullC","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}},{"name":"notNullD","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}},{"name":"notNullE","arguments":[],"returnType":{"kind":"simple","type":"SomeGenericStruct","optional":false}},{"name":"notNullF","arguments":[],"returnType":{"kind":"simple","type":"StructWithOptionals","optional":false}},{"name":"testVariables","arguments":[],"returnType":{"kind":"simple","type":"SomeGenericStruct","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.any.v0"]} \ No newline at end of file diff --git a/src/test/features/output/optionals_ContractWithOptionals.code.boc b/src/test/features/output/optionals_ContractWithOptionals.code.boc deleted file mode 100644 index d1eee6472..000000000 Binary files a/src/test/features/output/optionals_ContractWithOptionals.code.boc and /dev/null differ diff --git a/src/test/features/output/optionals_ContractWithOptionals.code.boc.html b/src/test/features/output/optionals_ContractWithOptionals.code.boc.html deleted file mode 100644 index 6c81e9907..000000000 --- a/src/test/features/output/optionals_ContractWithOptionals.code.boc.html +++ /dev/null @@ -1,1140 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_66195;
-            ..DECLPROC ?fun_70322;
-            ..DECLPROC ?fun_74449;
-            ..DECLPROC ?fun_86582;
-            ..DECLPROC ?fun_87190;
-            ..DECLPROC ?fun_90709;
-            ..DECLPROC ?fun_94836;
-            ..DECLPROC ?fun_98377;
-            ..DECLPROC ?fun_98652;
-            ..DECLPROC ?fun_102504;
-            ..DECLPROC ?fun_102781;
-            ..DECLPROC ?fun_106507;
-            ..DECLPROC ?fun_110911;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC ?fun_115160;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC ?fun_119020;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_123023;
-            ..DECLPROC ?fun_123290;
-            ..DECLPROC ?fun_127150;
-            ..DECLPROC ?fun_127419;
-            ..DECLPROC ?fun_ref_0e06b60216f62c87;
-            ..DECLPROC ?fun_ref_10c319ce0484d846;
-            ..DECLPROC ?fun_ref_16c220aa01e0dc39;
-            ..DECLPROC ?fun_ref_1c3c1c08051f7037;
-            ..DECLPROC ?fun_ref_21f0753805e53059;
-            ..DECLPROC ?fun_ref_259c5a0c704170e4;
-            ..DECLPROC ?fun_ref_31633c81580be831;
-            ..DECLPROC ?fun_ref_37c669b7d4aee3d6;
-            ..DECLPROC ?fun_ref_40d98146a47dbe3b;
-            ..DECLPROC ?fun_ref_44086a5ce86162fe;
-            ..DECLPROC ?fun_ref_4b03a8291c36e266;
-            ..DECLPROC ?fun_ref_5da160d32f5d039e;
-            ..DECLPROC ?fun_ref_6326faa87beffd08;
-            ..DECLPROC ?fun_ref_6e906f64e144acd5;
-            ..DECLPROC ?fun_ref_7eca714f7f5e984a;
-            ..DECLPROC ?fun_ref_9859dee2e6eaebf1;
-            ..DECLPROC ?fun_ref_98a3442ab0acb9db;
-            ..DECLPROC ?fun_ref_b2f99ae1a1dd4dfb;
-            ..DECLPROC ?fun_ref_b347d9c3ebd197d4;
-            ..DECLPROC ?fun_ref_cc166492ac8507fc;
-            ..DECLPROC ?fun_ref_e89503191b6c842a;
-            ..DECLPROC ?fun_ref_ec09295eef4d515b;
-            ..DECLPROC ?fun_ref_edb0dc2cb1aa52d9;
-            ..DECLPROC ?fun_ref_f4acca5aa56d5d6d;
-            x4..recv_internal PROC:<{
-            18x4....s0 s1 XCHG
-            118x4....CTOS
-            26x4....4 LDU
-            18x4....s0 s1 XCHG
-            18x4....1 PUSHINT
-            18x4....AND
-            18x4....-1 MULCONST
-            18x4....s0 s1 XCHG
-            26x4....LDMSGADDR
-            18x4....s0 s1 XCHG
-            18x4....s0 PUSH
-            26x4....SBITS
-            34x4....267 PUSHINT
-            18x4....EQUAL
-            34x4....136 THROWIFNOT
-            18x4....s0 PUSH
-            34x4....11 PLDU
-            18x4....s0 PUSH
-            26x4....10 PUSHPOW2
-            18x4....EQUAL
-            18x4....s0 s1 XCHG
-            34x4....1279 PUSHINT
-            18x4....EQUAL
-            18x4....OR
-            34x4....136 THROWIFNOT
-            34x4....s0 s6 s4 PUXCPU
-            18x4....s0 s3 XCHG
-            30x4....4 TUPLE
-            28x4....1 SETGLOBVAR
-            18x4....s0 s2 XCHG
-            29x4....2 SETGLOBVAR
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            26x4....2 6 BLKSWAP
-            126x4....?fun_ref_7eca714f7f5e984a INLINECALLDICT
-            34x4....130 THROWIFNOT
-            18x4....NEWC
-            26x4....3 GETGLOBVAR
-            18x4....s0 s1 XCHG
-            18x4....STREF
-            18x4....-1 PUSHINT
-            18x4....s0 s1 XCHG
-            26x4....1 STI
-            26x4....6 1 BLKSWAP
-            126x4....?fun_ref_0e06b60216f62c87 INLINECALLDICT
-            518x4....ENDC
-            26x4....c4 POP
-            x4..}>
-            x4..?fun_66195 PROC:<{
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            126x4....?fun_ref_98a3442ab0acb9db INLINECALLDICT
-            26x4....6 1 BLKDROP2
-            x4..}>
-            x4..?fun_70322 PROC:<{
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            126x4....?fun_ref_ec09295eef4d515b INLINECALLDICT
-            26x4....6 1 BLKDROP2
-            x4..}>
-            x4..?fun_74449 PROC:<{
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            126x4....?fun_ref_37c669b7d4aee3d6 INLINECALLDICT
-            26x4....6 1 BLKDROP2
-            x4..}>
-            x4..?fun_86582 PROC:<{
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            126x4....?fun_ref_edb0dc2cb1aa52d9 INLINECALLDICT
-            26x4....6 1 BLKDROP2
-            x4..}>
-            ..?fun_87190 PROC:<{
-            ....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            ....?fun_ref_259c5a0c704170e4 INLINECALLDICT
-            ....6 5 BLKDROP2
-            ..}>
-            x4..?fun_90709 PROC:<{
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            126x4....?fun_ref_16c220aa01e0dc39 INLINECALLDICT
-            26x4....6 1 BLKDROP2
-            x4..}>
-            x4..?fun_94836 PROC:<{
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            126x4....?fun_ref_f4acca5aa56d5d6d INLINECALLDICT
-            26x4....6 1 BLKDROP2
-            x4..}>
-            ..?fun_98377 PROC:<{
-            ....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            ....?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT
-            ....6 1 BLKDROP2
-            ..}>
-            x4..?fun_98652 PROC:<{
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            126x4....?fun_ref_5da160d32f5d039e INLINECALLDICT
-            26x3....6 1 BLKDROP2
-            x4..}>
-            ..?fun_102504 PROC:<{
-            ....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            ....?fun_ref_44086a5ce86162fe INLINECALLDICT
-            ....6 1 BLKDROP2
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......5 UNTUPLE
-            ......5 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IF
-            ..}>
-            x4..?fun_102781 PROC:<{
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            126x4....?fun_ref_31633c81580be831 INLINECALLDICT
-            26x1....6 1 BLKDROP2
-            x4..}>
-            ..?fun_106507 PROC:<{
-            ....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            ....?fun_ref_40d98146a47dbe3b INLINECALLDICT
-            ....6 1 BLKDROP2
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......5 UNTUPLE
-            ......s0 PUSH
-            ......ISNULL
-            ......<{
-            ........s0 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......<{
-            ........s0 PUSH
-            ........ISNULL
-            ........128 THROWIF
-            ........5 UNTUPLE
-            ........5 TUPLE
-            ......}> PUSHCONT
-            ......IFELSE
-            ......5 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IF
-            ..}>
-            x4..?fun_110911 PROC:<{
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            126x4....?fun_ref_4b03a8291c36e266 INLINECALLDICT
-            26x3....6 1 BLKDROP2
-            x4..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....289074767680806556846472852687671582181 PUSHINT
-            ..}>
-            x4..?fun_115160 PROC:<{
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            126x4....?fun_ref_21f0753805e53059 INLINECALLDICT
-            26x3....6 5 BLKDROP2
-            18x3....s0 PUSH
-            18x3....ISNULL
-            18x3....<{
-            18x1......s0 POP
-            18x1......NULL
-            18x3....}> PUSHCONT
-            18x3....<{
-            18x2......s0 PUSH
-            18x2......ISNULL
-            34x2......128 THROWIF
-            31x2......5 UNTUPLE
-            31x2......5 TUPLE
-            18x3....}> PUSHCONT
-            18x3....IFELSE
-            x4..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..?fun_119020 PROC:<{
-            ....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            ....?fun_ref_6326faa87beffd08 INLINECALLDICT
-            ....6 1 BLKDROP2
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D663353664C5247345673434D467A56394A6662343136334A4D4E4B76695961457435573433735175556E366982_} PUSHSLICE
-            ..}>
-            ..?fun_123023 PROC:<{
-            ....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            ....?fun_ref_b347d9c3ebd197d4 INLINECALLDICT
-            ....6 1 BLKDROP2
-            ..}>
-            x4..?fun_123290 PROC:<{
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            126x4....?fun_ref_e89503191b6c842a INLINECALLDICT
-            26x3....6 1 BLKDROP2
-            x4..}>
-            ..?fun_127150 PROC:<{
-            ....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            ....?fun_ref_10c319ce0484d846 INLINECALLDICT
-            ....6 1 BLKDROP2
-            ..}>
-            x4..?fun_127419 PROC:<{
-            126x4....?fun_ref_1c3c1c08051f7037 INLINECALLDICT
-            126x4....?fun_ref_cc166492ac8507fc INLINECALLDICT
-            26x1....6 5 BLKDROP2
-            x4..}>
-            x4..?fun_ref_0e06b60216f62c87 PROCREF:<{
-            18x4....s5 PUSH
-            18x4....ISNULL
-            18x4....NOT
-            18x4....<{
-            18x3......-1 PUSHINT
-            26x3......s0 s7 XCHG2
-            26x3......1 STI
-            18x3......s1 s5 XCHG
-            34x3......257 PUSHINT
-            26x3......STIX
-            18x4....}> PUSHCONT
-            18x4....<{
-            18x1......s5 POP
-            18x1......0 PUSHINT
-            26x1......s0 s6 XCHG2
-            26x1......1 STI
-            26x1......s4 s5 XCHG
-            18x4....}> PUSHCONT
-            18x4....IFELSE
-            18x4....s3 PUSH
-            18x4....ISNULL
-            18x4....NOT
-            18x4....<{
-            18x3......-1 PUSHINT
-            18x3......s0 s1 XCHG
-            26x3......1 STI
-            18x3......s1 s3 XCHG
-            26x3......1 STI
-            18x4....}> PUSHCONT
-            18x4....<{
-            18x1......s3 POP
-            18x1......0 PUSHINT
-            26x1......s0 s3 XCHG2
-            26x1......1 STI
-            18x4....}> PUSHCONT
-            18x4....IFELSE
-            18x4....s1 PUSH
-            18x4....ISNULL
-            18x4....NOT
-            18x4....<{
-            18x1......-1 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x1......STREF
-            18x4....}> PUSHCONT
-            18x4....<{
-            18x3......0 PUSHINT
-            18x3......s2 POP
-            26x3......1 STI
-            18x4....}> PUSHCONT
-            18x4....IFELSE
-            18x4....s0 s1 XCHG
-            18x4....s0 PUSH
-            18x4....ISNULL
-            18x4....<{
-            18x1......s0 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......2 STU
-            18x4....}> PUSHCONT
-            26x4....<{
-            18x3......s0 PUSH
-            26x3......SBITS
-            34x3......267 PUSHINT
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s0 PUSH
-            34x3......11 PLDU
-            18x3......s0 PUSH
-            26x3......10 PUSHPOW2
-            18x3......EQUAL
-            18x3......s0 s1 XCHG
-            34x3......1279 PUSHINT
-            18x3......EQUAL
-            18x3......OR
-            34x3......136 THROWIFNOT
-            26x3......STSLICER
-            26x4....}> PUSHCONT
-            18x4....IFELSE
-            18x4....NEWC
-            18x4....s2 PUSH
-            18x4....ISNULL
-            18x4....NOT
-            18x4....<{
-            18x3......s2 POP
-            18x3......0 PUSHINT
-            18x3......ROT
-            26x3......1 STI
-            18x4....}> PUSHCONT
-            126x4....<{
-            18x3......-1 PUSHINT
-            18x3......s0 s1 XCHG
-            26x3......1 STI
-            18x3......s0 s2 XCHG
-            18x3......s0 PUSH
-            18x3......ISNULL
-            34x3......128 THROWIF
-            31x3......5 UNTUPLE
-            26x3......s5 s6 XCHG
-            26x3......s4 s5 XCHG2
-            34x3......257 PUSHINT
-            26x3......STIX
-            18x3......s1 s2 XCHG
-            34x3......257 PUSHINT
-            26x3......STIX
-            34x3......257 PUSHINT
-            26x3......STIX
-            18x3......s0 s1 XCHG
-            18x3......NEWC
-            34x3......257 PUSHINT
-            26x3......STIX
-            18x3......s1 s2 XCHG
-            34x3......257 PUSHINT
-            26x3......STIX
-            518x3......ENDC
-            18x3......s0 s1 XCHG
-            18x3......STREF
-            126x4....}> IFREFELSE
-            18x4....NEWC
-            18x4....s3 PUSH
-            18x4....ISNULL
-            18x4....NOT
-            126x4....<{
-            18x3......-1 PUSHINT
-            18x3......s0 s1 XCHG
-            26x3......1 STI
-            18x3......s0 s3 XCHG
-            18x3......s0 PUSH
-            18x3......ISNULL
-            34x3......128 THROWIF
-            31x3......5 UNTUPLE
-            26x3......s5 s7 XCHG
-            18x3......s4 PUSH
-            18x3......ISNULL
-            18x3......NOT
-            18x3......<{
-            18x3........-1 PUSHINT
-            26x3........s0 s6 XCHG2
-            26x3........1 STI
-            18x3........s1 s4 XCHG
-            34x3........257 PUSHINT
-            26x3........STIX
-            18x3......}> PUSHCONT
-            18x3......<{
-            ........s4 POP
-            ........0 PUSHINT
-            ........s0 s5 XCHG2
-            ........1 STI
-            ........s3 s4 XCHG
-            18x3......}> PUSHCONT
-            18x3......IFELSE
-            18x3......s2 PUSH
-            18x3......ISNULL
-            18x3......NOT
-            18x3......<{
-            18x3........-1 PUSHINT
-            18x3........s0 s1 XCHG
-            26x3........1 STI
-            18x3........s1 s2 XCHG
-            26x3........1 STI
-            18x3......}> PUSHCONT
-            18x3......<{
-            ........s2 POP
-            ........0 PUSHINT
-            ........ROT
-            ........1 STI
-            18x3......}> PUSHCONT
-            18x3......IFELSE
-            18x3......s1 PUSH
-            18x3......ISNULL
-            18x3......NOT
-            18x3......<{
-            ........-1 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            ........STREF
-            18x3......}> PUSHCONT
-            18x3......<{
-            18x3........0 PUSHINT
-            18x3........s2 POP
-            26x3........1 STI
-            18x3......}> PUSHCONT
-            18x3......IFELSE
-            18x3......s0 s1 XCHG
-            18x3......s0 PUSH
-            18x3......ISNULL
-            18x3......<{
-            18x1........s0 POP
-            18x1........0 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........2 STU
-            18x3......}> PUSHCONT
-            26x3......<{
-            18x2........s0 PUSH
-            26x2........SBITS
-            34x2........267 PUSHINT
-            18x2........EQUAL
-            34x2........136 THROWIFNOT
-            18x2........s0 PUSH
-            34x2........11 PLDU
-            18x2........s0 PUSH
-            26x2........10 PUSHPOW2
-            18x2........EQUAL
-            18x2........s0 s1 XCHG
-            34x2........1279 PUSHINT
-            18x2........EQUAL
-            18x2........OR
-            34x2........136 THROWIFNOT
-            26x2........STSLICER
-            26x3......}> PUSHCONT
-            18x3......IFELSE
-            18x3......NEWC
-            18x3......s2 PUSH
-            18x3......ISNULL
-            18x3......NOT
-            18x3......<{
-            18x1........s2 POP
-            18x1........0 PUSHINT
-            18x1........ROT
-            26x1........1 STI
-            18x3......}> PUSHCONT
-            126x3......<{
-            18x3........-1 PUSHINT
-            18x3........s0 s1 XCHG
-            26x3........1 STI
-            18x3........s0 s2 XCHG
-            18x3........s0 PUSH
-            18x3........ISNULL
-            34x3........128 THROWIF
-            31x3........5 UNTUPLE
-            26x3........s5 s6 XCHG
-            26x3........s4 s5 XCHG2
-            34x3........257 PUSHINT
-            26x3........STIX
-            18x3........s1 s2 XCHG
-            34x3........257 PUSHINT
-            26x3........STIX
-            34x3........257 PUSHINT
-            26x3........STIX
-            18x3........s0 s1 XCHG
-            18x3........NEWC
-            34x3........257 PUSHINT
-            26x3........STIX
-            18x3........s1 s2 XCHG
-            34x3........257 PUSHINT
-            26x3........STIX
-            518x3........ENDC
-            18x3........s0 s1 XCHG
-            18x3........STREF
-            126x3......}> IFREFELSE
-            518x3......ENDC
-            18x3......s0 s1 XCHG
-            18x3......STREF
-            126x4....}> IFREFELSEREF
-            518x4....ENDC
-            18x4....ROT
-            18x4....STREF
-            518x4....ENDC
-            18x4....s0 s1 XCHG
-            18x1....s3 POP
-            18x1....0 PUSHINT
-            26x1....s0 s3 XCHG2
-            26x1....1 STI
-            x4..}>
-            x2..?fun_ref_10c319ce0484d846 PROCREF:<{
-            18x2....s3 PUSH
-            x2..}>
-            x4..?fun_ref_16c220aa01e0dc39 PROCREF:<{
-            18x4....s1 PUSH
-            18x4....ISNULL
-            18x4....NOT
-            x4..}>
-            x52..?fun_ref_1c3c1c08051f7037 PROCREF:<{
-            26x52....c4 PUSH
-            118x52....CTOS
-            18x52....LDREF
-            18x52....s0 s1 XCHG
-            30x52....3 SETGLOBVAR
-            26x52....1 LDI
-            18x52....s0 s1 XCHG
-            26x52....<{
-            126x48......?fun_ref_6e906f64e144acd5 INLINECALLDICT
-            26x48......1 6 BLKDROP2
-            26x52....}> PUSHCONT
-            18x52....IFJMP
-            126x4....?fun_ref_6e906f64e144acd5 INLINECALLDICT
-            18x4....s0 s6 XCHG
-            18x4....ENDS
-            26x4....1 5 BLKSWAP
-            x52..}>
-            x4..?fun_ref_21f0753805e53059 PROCREF:<{
-            18x4....s0 PUSH
-            18x4....s0 PUSH
-            18x4....ISNULL
-            84x4....128 THROWIF
-            31x3....5 UNTUPLE
-            x4..}>
-            ..?fun_ref_259c5a0c704170e4 PROCREF:<{
-            ....1 PUSHINT
-            ....2 PUSHINT
-            ....3 PUSHINT
-            ....4 PUSHINT
-            ....5 PUSHINT
-            ....5 TUPLE
-            ....s0 PUSH
-            ....ISNULL
-            ....128 THROWIF
-            ....5 UNTUPLE
-            ..}>
-            x4..?fun_ref_31633c81580be831 PROCREF:<{
-            18x4....s3 PUSH
-            18x4....s0 PUSH
-            18x4....ISNULL
-            84x4....128 THROWIF
-            x4..}>
-            x4..?fun_ref_37c669b7d4aee3d6 PROCREF:<{
-            18x4....s5 PUSH
-            18x4....ISNULL
-            18x4....NOT
-            x4..}>
-            x7..?fun_ref_40d98146a47dbe3b PROCREF:<{
-            18x7....s0 PUSH
-            x7..}>
-            x5..?fun_ref_44086a5ce86162fe PROCREF:<{
-            18x5....s1 PUSH
-            x5..}>
-            x4..?fun_ref_4b03a8291c36e266 PROCREF:<{
-            18x4....s5 PUSH
-            18x4....s0 PUSH
-            18x4....ISNULL
-            84x4....128 THROWIF
-            x4..}>
-            x4..?fun_ref_5da160d32f5d039e PROCREF:<{
-            18x4....s4 PUSH
-            18x4....s0 PUSH
-            18x4....ISNULL
-            84x4....128 THROWIF
-            x4..}>
-            x2..?fun_ref_6326faa87beffd08 PROCREF:<{
-            18x2....s5 PUSH
-            x2..}>
-            x52..?fun_ref_6e906f64e144acd5 PROCREF:<{
-            26x52....1 LDI
-            18x52....s0 s1 XCHG
-            18x52....<{
-            34x39......257 PUSHINT
-            26x39......LDIX
-            18x52....}> PUSHCONT
-            18x52....<{
-            18x13......NULL
-            18x13......s0 s1 XCHG
-            18x52....}> PUSHCONT
-            18x52....IFELSE
-            26x52....1 LDI
-            18x52....s0 s1 XCHG
-            18x52....<{
-            26x39......1 LDI
-            18x52....}> PUSHCONT
-            18x52....<{
-            18x13......NULL
-            18x13......s0 s1 XCHG
-            18x52....}> PUSHCONT
-            18x52....IFELSE
-            26x52....1 LDI
-            18x52....s0 s1 XCHG
-            18x52....<{
-            18x13......LDREF
-            18x52....}> PUSHCONT
-            18x52....<{
-            18x39......NULL
-            18x39......s0 s1 XCHG
-            18x52....}> PUSHCONT
-            18x52....IFELSE
-            26x52....LDMSGADDR
-            18x52....s1 PUSH
-            34x52....2 PLDU
-            26x52....0 NEQINT
-            26x52....<{
-            18x39......s0 s1 XCHG
-            18x39......s0 PUSH
-            26x39......SBITS
-            34x39......267 PUSHINT
-            18x39......EQUAL
-            34x39......136 THROWIFNOT
-            18x39......s0 PUSH
-            34x39......11 PLDU
-            18x39......s0 PUSH
-            26x39......10 PUSHPOW2
-            18x39......EQUAL
-            18x39......s0 s1 XCHG
-            34x39......1279 PUSHINT
-            18x39......EQUAL
-            18x39......OR
-            34x39......136 THROWIFNOT
-            26x52....}> PUSHCONT
-            18x52....<{
-            18x13......s1 POP
-            18x13......NULL
-            18x52....}> PUSHCONT
-            18x52....IFELSE
-            18x52....s0 s1 XCHG
-            18x52....LDREF
-            18x52....s0 s1 XCHG
-            118x52....CTOS
-            26x52....1 LDI
-            18x52....s0 s1 XCHG
-            26x52....<{
-            34x13......257 PUSHINT
-            26x13......LDIX
-            34x13......257 PUSHINT
-            26x13......LDIX
-            34x13......257 PUSHINT
-            26x13......LDIX
-            18x13......LDREF
-            18x13......s0 s1 XCHG
-            118x13......CTOS
-            34x13......257 PUSHINT
-            26x13......LDIX
-            34x13......257 PUSHINT
-            26x13......LDIX
-            18x13......s0 POP
-            26x13......s2 s5 XCHG
-            26x13......s2 s4 XCHG
-            26x13......s2 s3 XCHG
-            31x13......5 TUPLE
-            26x52....}> PUSHCONT
-            18x52....<{
-            18x39......NULL
-            18x52....}> PUSHCONT
-            18x52....IFELSE
-            18x52....s0 s1 XCHG
-            18x52....LDREF
-            18x52....s0 POP
-            118x52....CTOS
-            26x52....1 LDI
-            18x52....s0 s1 XCHG
-            26x52....<{
-            26x39......1 LDI
-            18x39......s0 s1 XCHG
-            18x39......<{
-            34x39........257 PUSHINT
-            26x39........LDIX
-            18x39......}> PUSHCONT
-            18x39......<{
-            ........NULL
-            ........s0 s1 XCHG
-            18x39......}> PUSHCONT
-            18x39......IFELSE
-            26x39......1 LDI
-            18x39......s0 s1 XCHG
-            18x39......<{
-            26x39........1 LDI
-            18x39......}> PUSHCONT
-            18x39......<{
-            ........NULL
-            ........s0 s1 XCHG
-            18x39......}> PUSHCONT
-            18x39......IFELSE
-            26x39......1 LDI
-            18x39......s0 s1 XCHG
-            18x39......<{
-            ........LDREF
-            18x39......}> PUSHCONT
-            18x39......<{
-            18x39........NULL
-            18x39........s0 s1 XCHG
-            18x39......}> PUSHCONT
-            18x39......IFELSE
-            26x39......LDMSGADDR
-            18x39......s1 PUSH
-            34x39......2 PLDU
-            26x39......0 NEQINT
-            26x39......<{
-            18x26........s0 s1 XCHG
-            18x26........s0 PUSH
-            26x26........SBITS
-            34x26........267 PUSHINT
-            18x26........EQUAL
-            34x26........136 THROWIFNOT
-            18x26........s0 PUSH
-            34x26........11 PLDU
-            18x26........s0 PUSH
-            26x26........10 PUSHPOW2
-            18x26........EQUAL
-            18x26........s0 s1 XCHG
-            34x26........1279 PUSHINT
-            18x26........EQUAL
-            18x26........OR
-            34x26........136 THROWIFNOT
-            26x39......}> PUSHCONT
-            18x39......<{
-            18x13........s1 POP
-            18x13........NULL
-            18x39......}> PUSHCONT
-            18x39......IFELSE
-            18x39......s0 s1 XCHG
-            18x39......LDREF
-            18x39......s0 s1 XCHG
-            118x39......CTOS
-            26x39......1 LDI
-            18x39......s0 s1 XCHG
-            18x39......<{
-            18x13........s0 POP
-            18x13........NULL
-            18x39......}> PUSHCONT
-            126x39......<{
-            34x26........257 PUSHINT
-            26x26........LDIX
-            34x26........257 PUSHINT
-            26x26........LDIX
-            34x26........257 PUSHINT
-            26x26........LDIX
-            18x26........LDREF
-            18x26........s0 s1 XCHG
-            118x26........CTOS
-            34x26........257 PUSHINT
-            26x26........LDIX
-            34x26........257 PUSHINT
-            26x26........LDIX
-            18x26........s0 POP
-            26x26........s2 s5 XCHG
-            26x26........s2 s4 XCHG
-            26x26........s2 s3 XCHG
-            26x26........1 5 BLKDROP2
-            31x26........5 TUPLE
-            126x39......}> IFREFELSE
-            18x39......s1 s5 XCHG
-            18x39......s1 s4 XCHG
-            26x39......s3 s3 s0 XCHG3
-            26x39......1 5 BLKDROP2
-            31x39......5 TUPLE
-            26x52....}> PUSHCONT
-            18x52....<{
-            18x13......s0 POP
-            18x13......NULL
-            18x52....}> PUSHCONT
-            18x52....IFELSE
-            26x52....s2 s6 XCHG
-            26x52....s2 s5 XCHG
-            26x52....s2 s4 XCHG
-            26x52....s2 s3 XCHG
-            x52..}>
-            x4..?fun_ref_7eca714f7f5e984a PROCREF:<{
-            18x4....s0 s1 XCHG
-            18x4....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x4....}> PUSHCONT
-            18x4....IFJMP
-            18x4....0 PUSHINT
-            18x4....s1 PUSH
-            26x4....SBITS
-            26x4....31 GTINT
-            18x4....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            18x4....}> PUSHCONT
-            18x4....IF
-            18x4....s0 PUSH
-            26x4....0 EQINT
-            18x4....s2 PUSH
-            26x4....SBITS
-            26x4....33 LESSINT
-            18x4....AND
-            18x4....<{
-            18x4......DROP2
-            18x4......-1 PUSHINT
-            18x4....}> PUSHCONT
-            18x4....IFJMP
-            ....357891325 PUSHINT
-            ....EQUAL
-            ....<{
-            ......?fun_ref_9859dee2e6eaebf1 INLINECALLDICT
-            ......1 6 BLKDROP2
-            ......6 6 BLKDROP2
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            x4..}>
-            ..?fun_ref_9859dee2e6eaebf1 PROCREF:<{
-            ....32 LDU
-            ....s0 s1 XCHG
-            ....357891325 PUSHINT
-            ....EQUAL
-            ....129 THROWIFNOT
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......257 PUSHINT
-            ......LDIX
-            ....}> PUSHCONT
-            ....<{
-            ......NULL
-            ......s0 s1 XCHG
-            ....}> PUSHCONT
-            ....IFELSE
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......1 LDI
-            ....}> PUSHCONT
-            ....<{
-            ......NULL
-            ......s0 s1 XCHG
-            ....}> PUSHCONT
-            ....IFELSE
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDREF
-            ....}> PUSHCONT
-            ....<{
-            ......NULL
-            ......s0 s1 XCHG
-            ....}> PUSHCONT
-            ....IFELSE
-            ....LDMSGADDR
-            ....s1 PUSH
-            ....2 PLDU
-            ....0 NEQINT
-            ....<{
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......SBITS
-            ......267 PUSHINT
-            ......EQUAL
-            ......136 THROWIFNOT
-            ......s0 PUSH
-            ......11 PLDU
-            ......s0 PUSH
-            ......10 PUSHPOW2
-            ......EQUAL
-            ......s0 s1 XCHG
-            ......1279 PUSHINT
-            ......EQUAL
-            ......OR
-            ......136 THROWIFNOT
-            ....}> PUSHCONT
-            ....<{
-            ......s1 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s1 XCHG
-            ....LDREF
-            ....s0 s1 XCHG
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 POP
-            ......s2 s5 XCHG
-            ......s2 s4 XCHG
-            ......s2 s3 XCHG
-            ......5 TUPLE
-            ....}> IFREFELSE
-            ....s0 s1 XCHG
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........257 PUSHINT
-            ........LDIX
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........1 LDI
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........LDREF
-            ......}> PUSHCONT
-            ......<{
-            ........NULL
-            ........s0 s1 XCHG
-            ......}> PUSHCONT
-            ......IFELSE
-            ......LDMSGADDR
-            ......s1 PUSH
-            ......2 PLDU
-            ......0 NEQINT
-            ......<{
-            ........s0 s1 XCHG
-            ........s0 PUSH
-            ........SBITS
-            ........267 PUSHINT
-            ........EQUAL
-            ........136 THROWIFNOT
-            ........s0 PUSH
-            ........11 PLDU
-            ........s0 PUSH
-            ........10 PUSHPOW2
-            ........EQUAL
-            ........s0 s1 XCHG
-            ........1279 PUSHINT
-            ........EQUAL
-            ........OR
-            ........136 THROWIFNOT
-            ......}> PUSHCONT
-            ......<{
-            ........s1 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......IFELSE
-            ......s0 s1 XCHG
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......1 LDI
-            ......s0 s1 XCHG
-            ......<{
-            ........s0 POP
-            ........NULL
-            ......}> PUSHCONT
-            ......<{
-            34x26........257 PUSHINT
-            26x26........LDIX
-            34x26........257 PUSHINT
-            26x26........LDIX
-            34x26........257 PUSHINT
-            26x26........LDIX
-            18x26........LDREF
-            18x26........s0 s1 XCHG
-            118x26........CTOS
-            34x26........257 PUSHINT
-            26x26........LDIX
-            34x26........257 PUSHINT
-            26x26........LDIX
-            18x26........s0 POP
-            26x26........s2 s5 XCHG
-            26x26........s2 s4 XCHG
-            26x26........s2 s3 XCHG
-            26x26........1 5 BLKDROP2
-            31x26........5 TUPLE
-            ......}> IFREFELSE
-            ......s1 s5 XCHG
-            ......s1 s4 XCHG
-            ......s3 s3 s0 XCHG3
-            ......1 5 BLKDROP2
-            ......5 TUPLE
-            ....}> IFREFELSE
-            ....s2 s6 XCHG
-            ....s2 s5 XCHG
-            ....s2 s4 XCHG
-            ....s2 s3 XCHG
-            ..}>
-            x4..?fun_ref_98a3442ab0acb9db PROCREF:<{
-            18x4....s3 PUSH
-            18x4....ISNULL
-            18x4....NOT
-            x4..}>
-            x7..?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{
-            18x7....s2 PUSH
-            x7..}>
-            x3..?fun_ref_b347d9c3ebd197d4 PROCREF:<{
-            18x3....s4 PUSH
-            x3..}>
-            x4..?fun_ref_cc166492ac8507fc PROCREF:<{
-            18x4....s1 PUSH
-            18x4....s0 PUSH
-            18x4....ISNULL
-            84x4....128 THROWIF
-            31x1....5 UNTUPLE
-            x4..}>
-            x4..?fun_ref_e89503191b6c842a PROCREF:<{
-            18x4....s2 PUSH
-            18x4....s0 PUSH
-            18x4....ISNULL
-            84x4....128 THROWIF
-            x4..}>
-            x4..?fun_ref_ec09295eef4d515b PROCREF:<{
-            18x4....s4 PUSH
-            18x4....ISNULL
-            18x4....NOT
-            x4..}>
-            x4..?fun_ref_edb0dc2cb1aa52d9 PROCREF:<{
-            18x4....s0 PUSH
-            18x4....ISNULL
-            18x4....NOT
-            x4..}>
-            x4..?fun_ref_f4acca5aa56d5d6d PROCREF:<{
-            18x4....s2 PUSH
-            18x4....ISNULL
-            18x4....NOT
-            x4..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/optionals_ContractWithOptionals.code.fc b/src/test/features/output/optionals_ContractWithOptionals.code.fc deleted file mode 100644 index c61b6f345..000000000 --- a/src/test/features/output/optionals_ContractWithOptionals.code.fc +++ /dev/null @@ -1,333 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "optionals_ContractWithOptionals.headers.fc"; -#include "optionals_ContractWithOptionals.stdlib.fc"; -#include "optionals_ContractWithOptionals.storage.fc"; - -;; -;; Contract ContractWithOptionals functions -;; - -(int, int, cell, slice, tuple, tuple) $ContractWithOptionals$_contract_init(int $a, int $b, cell $c, slice $d, tuple $e, tuple $f) impure inline_ref { - var ($e) = $e; - var ($f) = $f; - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = (null(), null(), null(), null(), null(), null()); - $self'a = $a; - $self'b = $b; - $self'c = $c; - $self'd = $d; - $self'e = $e; - $self'f = $f; - return ($self'a, $self'b, $self'c, $self'd, $self'e, $self'f); -} - -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_isNotNullA((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), (~ null?($self'a))); -} - -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_isNotNullB((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), (~ null?($self'b))); -} - -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_isNotNullC((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), (~ null?($self'c))); -} - -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_isNotNullD((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), (~ null?($self'd))); -} - -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_isNotNullE((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), (~ null?($self'e))); -} - -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_isNotNullF((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), (~ null?($self'f))); -} - -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_nullA((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'a); -} - -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_nullB((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'b); -} - -((int, int, cell, slice, tuple, tuple), cell) $ContractWithOptionals$_fun_nullC((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'c); -} - -((int, int, cell, slice, tuple, tuple), slice) $ContractWithOptionals$_fun_nullD((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'd); -} - -((int, int, cell, slice, tuple, tuple), tuple) $ContractWithOptionals$_fun_nullE((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'e); -} - -((int, int, cell, slice, tuple, tuple), tuple) $ContractWithOptionals$_fun_nullF((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'f); -} - -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_notNullA((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), __tact_not_null($self'a)); -} - -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_notNullB((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), __tact_not_null($self'b)); -} - -((int, int, cell, slice, tuple, tuple), cell) $ContractWithOptionals$_fun_notNullC((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), __tact_not_null($self'c)); -} - -((int, int, cell, slice, tuple, tuple), slice) $ContractWithOptionals$_fun_notNullD((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), __tact_not_null($self'd)); -} - -((int, int, cell, slice, tuple, tuple), (int, int, int, int, int)) $ContractWithOptionals$_fun_notNullE((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $SomeGenericStruct$_not_null($self'e)); -} - -((int, int, cell, slice, tuple, tuple), (int, int, cell, slice, tuple)) $ContractWithOptionals$_fun_notNullF((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $StructWithOptionals$_not_null($self'f)); -} - -((int, int, cell, slice, tuple, tuple), (int, int, int, int, int)) $ContractWithOptionals$_fun_testVariables((int, int, cell, slice, tuple, tuple) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - tuple $a = $SomeGenericStruct$_as_optional($SomeGenericStruct$_constructor_value1_value2_value3_value4_value5(1, 2, 3, 4, 5)); - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $SomeGenericStruct$_not_null($a)); -} - -;; -;; Receivers of a Contract ContractWithOptionals -;; - -(((int, int, cell, slice, tuple, tuple)), ()) %$ContractWithOptionals$_internal_empty((int, int, cell, slice, tuple, tuple) $self) impure inline { - var ($self'a, $self'b, $self'c, $self'd, $self'e, $self'f) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), ()); -} - -(((int, int, cell, slice, tuple, tuple)), ()) $ContractWithOptionals$_internal_binary_Update((int, int, cell, slice, tuple, tuple) $self, (int, int, cell, slice, tuple, tuple) $msg) impure inline { - var ($self'a, $self'b, $self'c, $self'd, $self'e, $self'f) = $self; - var ($msg'a, $msg'b, $msg'c, $msg'd, $msg'e, $msg'f) = $msg; - $self'a = $msg'a; - $self'b = $msg'b; - $self'c = $msg'c; - $self'd = $msg'd; - $self'e = $msg'e; - $self'f = $msg'f; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), ()); -} - -;; -;; Get methods of a Contract ContractWithOptionals -;; - -_ %isNotNullA() method_id(74449) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_isNotNullA(); - return res; -} - -_ %isNotNullB() method_id(70322) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_isNotNullB(); - return res; -} - -_ %isNotNullC() method_id(66195) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_isNotNullC(); - return res; -} - -_ %isNotNullD() method_id(94836) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_isNotNullD(); - return res; -} - -_ %isNotNullE() method_id(90709) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_isNotNullE(); - return res; -} - -_ %isNotNullF() method_id(86582) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_isNotNullF(); - return res; -} - -_ %nullA() method_id(119020) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_nullA(); - return res; -} - -_ %nullB() method_id(123023) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_nullB(); - return res; -} - -_ %nullC() method_id(127150) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_nullC(); - return res; -} - -_ %nullD() method_id(98377) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_nullD(); - return res; -} - -_ %nullE() method_id(102504) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_nullE(); - return $SomeGenericStruct$_to_opt_external(res); -} - -_ %nullF() method_id(106507) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_nullF(); - return $StructWithOptionals$_to_opt_external(res); -} - -_ %notNullA() method_id(110911) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_notNullA(); - return res; -} - -_ %notNullB() method_id(98652) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_notNullB(); - return res; -} - -_ %notNullC() method_id(102781) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_notNullC(); - return res; -} - -_ %notNullD() method_id(123290) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_notNullD(); - return res; -} - -_ %notNullE() method_id(127419) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_notNullE(); - return $SomeGenericStruct$_to_external(res); -} - -_ %notNullF() method_id(115160) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_notNullF(); - return $StructWithOptionals$_to_external(res); -} - -_ %testVariables() method_id(87190) { - var self = $ContractWithOptionals$_contract_load(); - var res = self~$ContractWithOptionals$_fun_testVariables(); - return $SomeGenericStruct$_to_external(res); -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.any.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://Qmf3SfLRG4VsCMFzV9Jfb4163JMNKviYaEt5W43sQuUn6i"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract ContractWithOptionals -;; - -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_contract_router_internal((int, int, cell, slice, tuple, tuple) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$ContractWithOptionals$_internal_empty(); - return (self, true); - } - - ;; Receive Update message - if (op == 357891325) { - var msg = in_msg~$Update$_load(); - self~$ContractWithOptionals$_internal_binary_Update(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $ContractWithOptionals$_contract_load(); - - ;; Handle operation - int handled = self~$ContractWithOptionals$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $ContractWithOptionals$_contract_store(self); -} diff --git a/src/test/features/output/optionals_ContractWithOptionals.code.fif b/src/test/features/output/optionals_ContractWithOptionals.code.fif deleted file mode 100644 index 65cd09e0f..000000000 --- a/src/test/features/output/optionals_ContractWithOptionals.code.fif +++ /dev/null @@ -1,926 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address_opt - DECLPROC __tact_store_address - DECLPROC __tact_store_address_opt - DECLPROC __tact_not_null - DECLPROC $SomeGenericStruct$_store - DECLPROC $SomeGenericStruct$_load - DECLPROC $SomeGenericStruct$_not_null - DECLPROC $StructWithOptionals$_store - DECLPROC $SomeGenericStruct$_as_optional - DECLPROC $StructWithOptionals$_load - DECLPROC $StructWithOptionals$_as_optional - DECLPROC $Update$_load - DECLPROC $StructWithOptionals$_not_null - DECLPROC $ContractWithOptionals$_store - DECLPROC $ContractWithOptionals$_load - DECLPROC $SomeGenericStruct$_to_tuple - DECLPROC $SomeGenericStruct$_to_opt_tuple - DECLPROC $SomeGenericStruct$_to_external - DECLPROC $SomeGenericStruct$_to_opt_external - DECLPROC $StructWithOptionals$_to_tuple - DECLPROC $StructWithOptionals$_to_opt_tuple - DECLPROC $StructWithOptionals$_to_external - DECLPROC $StructWithOptionals$_to_opt_external - DECLPROC $ContractWithOptionals$init$_load - DECLPROC $ContractWithOptionals$_contract_init - DECLPROC $ContractWithOptionals$_contract_load - DECLPROC $ContractWithOptionals$_contract_store - DECLPROC $ContractWithOptionals$_fun_isNotNullA - DECLPROC $ContractWithOptionals$_fun_isNotNullB - DECLPROC $ContractWithOptionals$_fun_isNotNullC - DECLPROC $ContractWithOptionals$_fun_isNotNullD - DECLPROC $ContractWithOptionals$_fun_isNotNullE - DECLPROC $ContractWithOptionals$_fun_isNotNullF - DECLPROC $ContractWithOptionals$_fun_nullA - DECLPROC $ContractWithOptionals$_fun_nullB - DECLPROC $ContractWithOptionals$_fun_nullC - DECLPROC $ContractWithOptionals$_fun_nullD - DECLPROC $ContractWithOptionals$_fun_nullE - DECLPROC $ContractWithOptionals$_fun_nullF - DECLPROC $ContractWithOptionals$_fun_notNullA - DECLPROC $ContractWithOptionals$_fun_notNullB - DECLPROC $ContractWithOptionals$_fun_notNullC - DECLPROC $ContractWithOptionals$_fun_notNullD - DECLPROC $ContractWithOptionals$_fun_notNullE - DECLPROC $ContractWithOptionals$_fun_notNullF - DECLPROC $SomeGenericStruct$_constructor_value1_value2_value3_value4_value5 - DECLPROC $ContractWithOptionals$_fun_testVariables - DECLPROC %$ContractWithOptionals$_internal_empty - DECLPROC $ContractWithOptionals$_internal_binary_Update - 74449 DECLMETHOD %isNotNullA - 70322 DECLMETHOD %isNotNullB - 66195 DECLMETHOD %isNotNullC - 94836 DECLMETHOD %isNotNullD - 90709 DECLMETHOD %isNotNullE - 86582 DECLMETHOD %isNotNullF - 119020 DECLMETHOD %nullA - 123023 DECLMETHOD %nullB - 127150 DECLMETHOD %nullC - 98377 DECLMETHOD %nullD - 102504 DECLMETHOD %nullE - 106507 DECLMETHOD %nullF - 110911 DECLMETHOD %notNullA - 98652 DECLMETHOD %notNullB - 102781 DECLMETHOD %notNullC - 123290 DECLMETHOD %notNullD - 127419 DECLMETHOD %notNullE - 115160 DECLMETHOD %notNullF - 87190 DECLMETHOD %testVariables - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $ContractWithOptionals$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 10 PUSHPOW2 - EQUAL - SWAP - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - }> - __tact_load_address_opt PROCINLINE:<{ - LDMSGADDR - OVER - 2 PLDU - 0 NEQINT - IF:<{ - SWAP - __tact_verify_address INLINECALLDICT - }>ELSE<{ - NIP - PUSHNULL - }> - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_store_address_opt PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - 0 PUSHINT - SWAP - 2 STU - }>ELSE<{ - __tact_store_address INLINECALLDICT - }> - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - $SomeGenericStruct$_store PROCINLINE:<{ - s4 s5 XCHG2 - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - 257 PUSHINT - STIX - SWAP - NEWC - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - ENDC - SWAP - STREF - }> - $SomeGenericStruct$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - SWAP - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - DROP - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - }> - $SomeGenericStruct$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 5 UNTUPLE - }> - $StructWithOptionals$_store PROCINLINE:<{ - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - s0 s6 XCHG2 - 1 STI - s1 s4 XCHG - 257 PUSHINT - STIX - }>ELSE<{ - s4 POP - FALSE - s0 s5 XCHG2 - 1 STI - s3 s4 XCHG - }> - s2 PUSH - ISNULL - NOT - IF:<{ - TRUE - SWAP - 1 STI - s1 s2 XCHG - 1 STI - }>ELSE<{ - s2 POP - FALSE - ROT - 1 STI - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - SWAP - 1 STI - STREF - }>ELSE<{ - FALSE - s2 POP - 1 STI - }> - SWAP - __tact_store_address_opt INLINECALLDICT - NEWC - s2 PUSH - ISNULL - NOT - IF:<{ - TRUE - SWAP - 1 STI - s0 s2 XCHG - $SomeGenericStruct$_not_null INLINECALLDICT - s5 s6 XCHG - $SomeGenericStruct$_store INLINECALLDICT - }>ELSE<{ - s2 POP - FALSE - ROT - 1 STI - }> - ENDC - SWAP - STREF - }> - $SomeGenericStruct$_as_optional PROCINLINE:<{ - 5 TUPLE - }> - $StructWithOptionals$_load PROCINLINE:<{ - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - 1 LDI - SWAP - IF:<{ - 1 LDI - }>ELSE<{ - PUSHNULL - SWAP - }> - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - __tact_load_address_opt INLINECALLDICT - SWAP - LDREF - SWAP - CTOS - 1 LDI - SWAP - IF:<{ - $SomeGenericStruct$_load INLINECALLDICT - 1 5 BLKDROP2 - $SomeGenericStruct$_as_optional INLINECALLDICT - }>ELSE<{ - DROP - PUSHNULL - }> - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - }> - $StructWithOptionals$_as_optional PROCINLINE:<{ - 5 TUPLE - }> - $Update$_load PROCREF:<{ - 32 LDU - SWAP - 357891325 PUSHINT - EQUAL - 129 THROWIFNOT - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - 1 LDI - SWAP - IF:<{ - 1 LDI - }>ELSE<{ - PUSHNULL - SWAP - }> - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - __tact_load_address_opt INLINECALLDICT - SWAP - LDREF - SWAP - CTOS - 1 LDI - SWAP - IF:<{ - $SomeGenericStruct$_load INLINECALLDICT - $SomeGenericStruct$_as_optional INLINECALLDICT - }>ELSE<{ - PUSHNULL - }> - SWAP - LDREF - DROP - CTOS - 1 LDI - SWAP - IF:<{ - $StructWithOptionals$_load INLINECALLDICT - 1 5 BLKDROP2 - $StructWithOptionals$_as_optional INLINECALLDICT - }>ELSE<{ - DROP - PUSHNULL - }> - s2 s6 XCHG - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - }> - $StructWithOptionals$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 5 UNTUPLE - }> - $ContractWithOptionals$_store PROCINLINE:<{ - s5 PUSH - ISNULL - NOT - IF:<{ - TRUE - s0 s7 XCHG2 - 1 STI - s1 s5 XCHG - 257 PUSHINT - STIX - }>ELSE<{ - s5 POP - FALSE - s0 s6 XCHG2 - 1 STI - s4 s5 XCHG - }> - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - SWAP - 1 STI - s1 s3 XCHG - 1 STI - }>ELSE<{ - s3 POP - FALSE - s0 s3 XCHG2 - 1 STI - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - SWAP - 1 STI - STREF - }>ELSE<{ - FALSE - s2 POP - 1 STI - }> - SWAP - __tact_store_address_opt INLINECALLDICT - NEWC - s2 PUSH - ISNULL - NOT - IF:<{ - TRUE - SWAP - 1 STI - s0 s2 XCHG - $SomeGenericStruct$_not_null INLINECALLDICT - s5 s6 XCHG - $SomeGenericStruct$_store INLINECALLDICT - }>ELSE<{ - s2 POP - FALSE - ROT - 1 STI - }> - NEWC - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - SWAP - 1 STI - s0 s3 XCHG - $StructWithOptionals$_not_null INLINECALLDICT - s5 s7 XCHG - $StructWithOptionals$_store INLINECALLDICT - }>ELSE<{ - s3 POP - FALSE - s0 s3 XCHG2 - 1 STI - }> - ENDC - ROT - STREF - ENDC - SWAP - STREF - }> - $ContractWithOptionals$_load PROCINLINE:<{ - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - 1 LDI - SWAP - IF:<{ - 1 LDI - }>ELSE<{ - PUSHNULL - SWAP - }> - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - __tact_load_address_opt INLINECALLDICT - SWAP - LDREF - SWAP - CTOS - 1 LDI - SWAP - IF:<{ - $SomeGenericStruct$_load INLINECALLDICT - $SomeGenericStruct$_as_optional INLINECALLDICT - }>ELSE<{ - PUSHNULL - }> - SWAP - LDREF - DROP - CTOS - 1 LDI - SWAP - IF:<{ - $StructWithOptionals$_load INLINECALLDICT - 1 5 BLKDROP2 - $StructWithOptionals$_as_optional INLINECALLDICT - }>ELSE<{ - DROP - PUSHNULL - }> - s2 s6 XCHG - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - }> - $SomeGenericStruct$_to_tuple PROCINLINE:<{ - 5 TUPLE - }> - $SomeGenericStruct$_to_opt_tuple PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $SomeGenericStruct$_not_null INLINECALLDICT - $SomeGenericStruct$_to_tuple INLINECALLDICT - }> - }> - $SomeGenericStruct$_to_external PROCINLINE:<{ - }> - $SomeGenericStruct$_to_opt_external PROCINLINE:<{ - $SomeGenericStruct$_to_opt_tuple INLINECALLDICT - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - }> - }> - $StructWithOptionals$_to_tuple PROCINLINE:<{ - $SomeGenericStruct$_to_opt_tuple INLINECALLDICT - 5 TUPLE - }> - $StructWithOptionals$_to_opt_tuple PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $StructWithOptionals$_not_null INLINECALLDICT - $StructWithOptionals$_to_tuple INLINECALLDICT - }> - }> - $StructWithOptionals$_to_external PROCINLINE:<{ - $SomeGenericStruct$_to_opt_tuple INLINECALLDICT - }> - $StructWithOptionals$_to_opt_external PROCINLINE:<{ - $StructWithOptionals$_to_opt_tuple INLINECALLDICT - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - }> - }> - $ContractWithOptionals$init$_load PROCREF:<{ - 1 LDI - SWAP - IF:<{ - 257 PUSHINT - LDIX - }>ELSE<{ - PUSHNULL - SWAP - }> - 1 LDI - SWAP - IF:<{ - 1 LDI - }>ELSE<{ - PUSHNULL - SWAP - }> - 1 LDI - SWAP - IF:<{ - LDREF - }>ELSE<{ - PUSHNULL - SWAP - }> - __tact_load_address_opt INLINECALLDICT - SWAP - LDREF - SWAP - CTOS - 1 LDI - SWAP - IF:<{ - $SomeGenericStruct$_load INLINECALLDICT - $SomeGenericStruct$_as_optional INLINECALLDICT - }>ELSE<{ - PUSHNULL - }> - SWAP - LDREF - DROP - CTOS - 1 LDI - SWAP - IF:<{ - $StructWithOptionals$_load INLINECALLDICT - 1 5 BLKDROP2 - $StructWithOptionals$_as_optional INLINECALLDICT - }>ELSE<{ - DROP - PUSHNULL - }> - s2 s6 XCHG - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - }> - $ContractWithOptionals$_contract_init PROCREF:<{ - }> - $ContractWithOptionals$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $ContractWithOptionals$_load INLINECALLDICT - 1 6 BLKDROP2 - }> - $ContractWithOptionals$init$_load INLINECALLDICT - s0 s6 XCHG - ENDS - 5 ROLL - $ContractWithOptionals$_contract_init INLINECALLDICT - }> - $ContractWithOptionals$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 6 -ROLL - $ContractWithOptionals$_store INLINECALLDICT - ENDC - c4 POP - }> - $ContractWithOptionals$_fun_isNotNullA PROCREF:<{ - s5 PUSH - ISNULL - NOT - }> - $ContractWithOptionals$_fun_isNotNullB PROCREF:<{ - s4 PUSH - ISNULL - NOT - }> - $ContractWithOptionals$_fun_isNotNullC PROCREF:<{ - s3 PUSH - ISNULL - NOT - }> - $ContractWithOptionals$_fun_isNotNullD PROCREF:<{ - s2 PUSH - ISNULL - NOT - }> - $ContractWithOptionals$_fun_isNotNullE PROCREF:<{ - OVER - ISNULL - NOT - }> - $ContractWithOptionals$_fun_isNotNullF PROCREF:<{ - DUP - ISNULL - NOT - }> - $ContractWithOptionals$_fun_nullA PROCREF:<{ - s5 PUSH - }> - $ContractWithOptionals$_fun_nullB PROCREF:<{ - s4 PUSH - }> - $ContractWithOptionals$_fun_nullC PROCREF:<{ - s3 PUSH - }> - $ContractWithOptionals$_fun_nullD PROCREF:<{ - s2 PUSH - }> - $ContractWithOptionals$_fun_nullE PROCREF:<{ - OVER - }> - $ContractWithOptionals$_fun_nullF PROCREF:<{ - DUP - }> - $ContractWithOptionals$_fun_notNullA PROCREF:<{ - s5 PUSH - __tact_not_null INLINECALLDICT - }> - $ContractWithOptionals$_fun_notNullB PROCREF:<{ - s4 PUSH - __tact_not_null INLINECALLDICT - }> - $ContractWithOptionals$_fun_notNullC PROCREF:<{ - s3 PUSH - __tact_not_null INLINECALLDICT - }> - $ContractWithOptionals$_fun_notNullD PROCREF:<{ - s2 PUSH - __tact_not_null INLINECALLDICT - }> - $ContractWithOptionals$_fun_notNullE PROCREF:<{ - OVER - $SomeGenericStruct$_not_null INLINECALLDICT - }> - $ContractWithOptionals$_fun_notNullF PROCREF:<{ - DUP - $StructWithOptionals$_not_null INLINECALLDICT - }> - $SomeGenericStruct$_constructor_value1_value2_value3_value4_value5 PROCINLINE:<{ - }> - $ContractWithOptionals$_fun_testVariables PROCREF:<{ - 1 PUSHINT - 2 PUSHINT - 3 PUSHINT - 4 PUSHINT - 5 PUSHINT - $SomeGenericStruct$_constructor_value1_value2_value3_value4_value5 INLINECALLDICT - $SomeGenericStruct$_as_optional INLINECALLDICT - $SomeGenericStruct$_not_null INLINECALLDICT - }> - %$ContractWithOptionals$_internal_empty PROCINLINE:<{ - }> - $ContractWithOptionals$_internal_binary_Update PROCINLINE:<{ - 6 6 BLKDROP2 - }> - %isNotNullA PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_isNotNullA INLINECALLDICT - 6 1 BLKDROP2 - }> - %isNotNullB PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_isNotNullB INLINECALLDICT - 6 1 BLKDROP2 - }> - %isNotNullC PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_isNotNullC INLINECALLDICT - 6 1 BLKDROP2 - }> - %isNotNullD PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_isNotNullD INLINECALLDICT - 6 1 BLKDROP2 - }> - %isNotNullE PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_isNotNullE INLINECALLDICT - 6 1 BLKDROP2 - }> - %isNotNullF PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_isNotNullF INLINECALLDICT - 6 1 BLKDROP2 - }> - %nullA PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_nullA INLINECALLDICT - 6 1 BLKDROP2 - }> - %nullB PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_nullB INLINECALLDICT - 6 1 BLKDROP2 - }> - %nullC PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_nullC INLINECALLDICT - 6 1 BLKDROP2 - }> - %nullD PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_nullD INLINECALLDICT - 6 1 BLKDROP2 - }> - %nullE PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_nullE INLINECALLDICT - 6 1 BLKDROP2 - $SomeGenericStruct$_to_opt_external INLINECALLDICT - }> - %nullF PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_nullF INLINECALLDICT - 6 1 BLKDROP2 - $StructWithOptionals$_to_opt_external INLINECALLDICT - }> - %notNullA PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_notNullA INLINECALLDICT - 6 1 BLKDROP2 - }> - %notNullB PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_notNullB INLINECALLDICT - 6 1 BLKDROP2 - }> - %notNullC PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_notNullC INLINECALLDICT - 6 1 BLKDROP2 - }> - %notNullD PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_notNullD INLINECALLDICT - 6 1 BLKDROP2 - }> - %notNullE PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_notNullE INLINECALLDICT - 6 5 BLKDROP2 - $SomeGenericStruct$_to_external INLINECALLDICT - }> - %notNullF PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_notNullF INLINECALLDICT - 6 5 BLKDROP2 - $StructWithOptionals$_to_external INLINECALLDICT - }> - %testVariables PROC:<{ - $ContractWithOptionals$_contract_load INLINECALLDICT - $ContractWithOptionals$_fun_testVariables INLINECALLDICT - 6 5 BLKDROP2 - $SomeGenericStruct$_to_external INLINECALLDICT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 289074767680806556846472852687671582181 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d663353664c5247345673434d467a56394a6662343136334a4d4e4b76695961457435573433735175556e3669} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $ContractWithOptionals$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - IFJMP:<{ - 2DROP - %$ContractWithOptionals$_internal_empty INLINECALLDICT - TRUE - }> - 357891325 PUSHINT - EQUAL - IFJMP:<{ - $Update$_load INLINECALLDICT - 1 6 BLKDROP2 - $ContractWithOptionals$_internal_binary_Update INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $ContractWithOptionals$_contract_load INLINECALLDICT - 2 6 BLKSWAP - $ContractWithOptionals$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $ContractWithOptionals$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/optionals_ContractWithOptionals.code.rev.fif b/src/test/features/output/optionals_ContractWithOptionals.code.rev.fif deleted file mode 100644 index 663fb0c05..000000000 --- a/src/test/features/output/optionals_ContractWithOptionals.code.rev.fif +++ /dev/null @@ -1,1104 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_66195; - DECLPROC ?fun_70322; - DECLPROC ?fun_74449; - DECLPROC ?fun_86582; - DECLPROC ?fun_87190; - DECLPROC ?fun_90709; - DECLPROC ?fun_94836; - DECLPROC ?fun_98377; - DECLPROC ?fun_98652; - DECLPROC ?fun_102504; - DECLPROC ?fun_102781; - DECLPROC ?fun_106507; - DECLPROC ?fun_110911; - DECLPROC supported_interfaces; - DECLPROC ?fun_115160; - DECLPROC lazy_deployment_completed; - DECLPROC ?fun_119020; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_123023; - DECLPROC ?fun_123290; - DECLPROC ?fun_127150; - DECLPROC ?fun_127419; - DECLPROC ?fun_ref_0e06b60216f62c87; - DECLPROC ?fun_ref_10c319ce0484d846; - DECLPROC ?fun_ref_16c220aa01e0dc39; - DECLPROC ?fun_ref_1c3c1c08051f7037; - DECLPROC ?fun_ref_21f0753805e53059; - DECLPROC ?fun_ref_259c5a0c704170e4; - DECLPROC ?fun_ref_31633c81580be831; - DECLPROC ?fun_ref_37c669b7d4aee3d6; - DECLPROC ?fun_ref_40d98146a47dbe3b; - DECLPROC ?fun_ref_44086a5ce86162fe; - DECLPROC ?fun_ref_4b03a8291c36e266; - DECLPROC ?fun_ref_5da160d32f5d039e; - DECLPROC ?fun_ref_6326faa87beffd08; - DECLPROC ?fun_ref_6e906f64e144acd5; - DECLPROC ?fun_ref_7eca714f7f5e984a; - DECLPROC ?fun_ref_9859dee2e6eaebf1; - DECLPROC ?fun_ref_98a3442ab0acb9db; - DECLPROC ?fun_ref_b2f99ae1a1dd4dfb; - DECLPROC ?fun_ref_b347d9c3ebd197d4; - DECLPROC ?fun_ref_cc166492ac8507fc; - DECLPROC ?fun_ref_e89503191b6c842a; - DECLPROC ?fun_ref_ec09295eef4d515b; - DECLPROC ?fun_ref_edb0dc2cb1aa52d9; - DECLPROC ?fun_ref_f4acca5aa56d5d6d; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - 2 6 BLKSWAP - ?fun_ref_7eca714f7f5e984a INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 6 1 BLKSWAP - ?fun_ref_0e06b60216f62c87 INLINECALLDICT - ENDC - c4 POP - }> - ?fun_66195 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_98a3442ab0acb9db INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_70322 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_ec09295eef4d515b INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_74449 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_37c669b7d4aee3d6 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_86582 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_edb0dc2cb1aa52d9 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_87190 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_259c5a0c704170e4 INLINECALLDICT - 6 5 BLKDROP2 - }> - ?fun_90709 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_16c220aa01e0dc39 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_94836 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_f4acca5aa56d5d6d INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_98377 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_98652 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_5da160d32f5d039e INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_102504 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_44086a5ce86162fe INLINECALLDICT - 6 1 BLKDROP2 - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 5 UNTUPLE - 5 TUPLE - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - IF - }> - ?fun_102781 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_31633c81580be831 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_106507 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_40d98146a47dbe3b INLINECALLDICT - 6 1 BLKDROP2 - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 5 UNTUPLE - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 5 UNTUPLE - 5 TUPLE - }> PUSHCONT - IFELSE - 5 TUPLE - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - IF - }> - ?fun_110911 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_4b03a8291c36e266 INLINECALLDICT - 6 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 289074767680806556846472852687671582181 PUSHINT - }> - ?fun_115160 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_21f0753805e53059 INLINECALLDICT - 6 5 BLKDROP2 - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 5 UNTUPLE - 5 TUPLE - }> PUSHCONT - IFELSE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - ?fun_119020 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_6326faa87beffd08 INLINECALLDICT - 6 1 BLKDROP2 - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D663353664C5247345673434D467A56394A6662343136334A4D4E4B76695961457435573433735175556E366982_} PUSHSLICE - }> - ?fun_123023 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_b347d9c3ebd197d4 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_123290 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_e89503191b6c842a INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_127150 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_10c319ce0484d846 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_127419 PROC:<{ - ?fun_ref_1c3c1c08051f7037 INLINECALLDICT - ?fun_ref_cc166492ac8507fc INLINECALLDICT - 6 5 BLKDROP2 - }> - ?fun_ref_0e06b60216f62c87 PROCREF:<{ - s5 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s7 XCHG2 - 1 STI - s1 s5 XCHG - 257 PUSHINT - STIX - }> PUSHCONT - <{ - s5 POP - 0 PUSHINT - s0 s6 XCHG2 - 1 STI - s4 s5 XCHG - }> PUSHCONT - IFELSE - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s1 s3 XCHG - 1 STI - }> PUSHCONT - <{ - s3 POP - 0 PUSHINT - s0 s3 XCHG2 - 1 STI - }> PUSHCONT - IFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - STREF - }> PUSHCONT - <{ - 0 PUSHINT - s2 POP - 1 STI - }> PUSHCONT - IFELSE - s0 s1 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - 0 PUSHINT - s0 s1 XCHG - 2 STU - }> PUSHCONT - <{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - STSLICER - }> PUSHCONT - IFELSE - NEWC - s2 PUSH - ISNULL - NOT - <{ - s2 POP - 0 PUSHINT - ROT - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - s0 PUSH - ISNULL - 128 THROWIF - 5 UNTUPLE - s5 s6 XCHG - s4 s5 XCHG2 - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - 257 PUSHINT - STIX - s0 s1 XCHG - NEWC - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - ENDC - s0 s1 XCHG - STREF - }> IFREFELSE - NEWC - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s3 XCHG - s0 PUSH - ISNULL - 128 THROWIF - 5 UNTUPLE - s5 s7 XCHG - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s6 XCHG2 - 1 STI - s1 s4 XCHG - 257 PUSHINT - STIX - }> PUSHCONT - <{ - s4 POP - 0 PUSHINT - s0 s5 XCHG2 - 1 STI - s3 s4 XCHG - }> PUSHCONT - IFELSE - s2 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s1 s2 XCHG - 1 STI - }> PUSHCONT - <{ - s2 POP - 0 PUSHINT - ROT - 1 STI - }> PUSHCONT - IFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - STREF - }> PUSHCONT - <{ - 0 PUSHINT - s2 POP - 1 STI - }> PUSHCONT - IFELSE - s0 s1 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - 0 PUSHINT - s0 s1 XCHG - 2 STU - }> PUSHCONT - <{ - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - STSLICER - }> PUSHCONT - IFELSE - NEWC - s2 PUSH - ISNULL - NOT - <{ - s2 POP - 0 PUSHINT - ROT - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - s0 PUSH - ISNULL - 128 THROWIF - 5 UNTUPLE - s5 s6 XCHG - s4 s5 XCHG2 - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - 257 PUSHINT - STIX - s0 s1 XCHG - NEWC - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - ENDC - s0 s1 XCHG - STREF - }> IFREFELSE - ENDC - s0 s1 XCHG - STREF - }> IFREFELSEREF - ENDC - ROT - STREF - ENDC - s0 s1 XCHG - s3 POP - 0 PUSHINT - s0 s3 XCHG2 - 1 STI - }> - ?fun_ref_10c319ce0484d846 PROCREF:<{ - s3 PUSH - }> - ?fun_ref_16c220aa01e0dc39 PROCREF:<{ - s1 PUSH - ISNULL - NOT - }> - ?fun_ref_1c3c1c08051f7037 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - ?fun_ref_6e906f64e144acd5 INLINECALLDICT - 1 6 BLKDROP2 - }> PUSHCONT - IFJMP - ?fun_ref_6e906f64e144acd5 INLINECALLDICT - s0 s6 XCHG - ENDS - 1 5 BLKSWAP - }> - ?fun_ref_21f0753805e53059 PROCREF:<{ - s0 PUSH - s0 PUSH - ISNULL - 128 THROWIF - 5 UNTUPLE - }> - ?fun_ref_259c5a0c704170e4 PROCREF:<{ - 1 PUSHINT - 2 PUSHINT - 3 PUSHINT - 4 PUSHINT - 5 PUSHINT - 5 TUPLE - s0 PUSH - ISNULL - 128 THROWIF - 5 UNTUPLE - }> - ?fun_ref_31633c81580be831 PROCREF:<{ - s3 PUSH - s0 PUSH - ISNULL - 128 THROWIF - }> - ?fun_ref_37c669b7d4aee3d6 PROCREF:<{ - s5 PUSH - ISNULL - NOT - }> - ?fun_ref_40d98146a47dbe3b PROCREF:<{ - s0 PUSH - }> - ?fun_ref_44086a5ce86162fe PROCREF:<{ - s1 PUSH - }> - ?fun_ref_4b03a8291c36e266 PROCREF:<{ - s5 PUSH - s0 PUSH - ISNULL - 128 THROWIF - }> - ?fun_ref_5da160d32f5d039e PROCREF:<{ - s4 PUSH - s0 PUSH - ISNULL - 128 THROWIF - }> - ?fun_ref_6326faa87beffd08 PROCREF:<{ - s5 PUSH - }> - ?fun_ref_6e906f64e144acd5 PROCREF:<{ - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - 1 LDI - s0 s1 XCHG - <{ - 1 LDI - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - LDMSGADDR - s1 PUSH - 2 PLDU - 0 NEQINT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - }> PUSHCONT - <{ - s1 POP - NULL - }> PUSHCONT - IFELSE - s0 s1 XCHG - LDREF - s0 s1 XCHG - CTOS - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - 5 TUPLE - }> PUSHCONT - <{ - NULL - }> PUSHCONT - IFELSE - s0 s1 XCHG - LDREF - s0 POP - CTOS - 1 LDI - s0 s1 XCHG - <{ - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - 1 LDI - s0 s1 XCHG - <{ - 1 LDI - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - LDMSGADDR - s1 PUSH - 2 PLDU - 0 NEQINT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - }> PUSHCONT - <{ - s1 POP - NULL - }> PUSHCONT - IFELSE - s0 s1 XCHG - LDREF - s0 s1 XCHG - CTOS - 1 LDI - s0 s1 XCHG - <{ - s0 POP - NULL - }> PUSHCONT - <{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - 1 5 BLKDROP2 - 5 TUPLE - }> IFREFELSE - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - 1 5 BLKDROP2 - 5 TUPLE - }> PUSHCONT - <{ - s0 POP - NULL - }> PUSHCONT - IFELSE - s2 s6 XCHG - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - }> - ?fun_ref_7eca714f7f5e984a PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - IFJMP - 357891325 PUSHINT - EQUAL - <{ - ?fun_ref_9859dee2e6eaebf1 INLINECALLDICT - 1 6 BLKDROP2 - 6 6 BLKDROP2 - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> - ?fun_ref_9859dee2e6eaebf1 PROCREF:<{ - 32 LDU - s0 s1 XCHG - 357891325 PUSHINT - EQUAL - 129 THROWIFNOT - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - 1 LDI - s0 s1 XCHG - <{ - 1 LDI - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - LDMSGADDR - s1 PUSH - 2 PLDU - 0 NEQINT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - }> PUSHCONT - <{ - s1 POP - NULL - }> PUSHCONT - IFELSE - s0 s1 XCHG - LDREF - s0 s1 XCHG - CTOS - 1 LDI - s0 s1 XCHG - <{ - NULL - }> PUSHCONT - <{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - 5 TUPLE - }> IFREFELSE - s0 s1 XCHG - LDREF - s0 POP - CTOS - 1 LDI - s0 s1 XCHG - <{ - s0 POP - NULL - }> PUSHCONT - <{ - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - 1 LDI - s0 s1 XCHG - <{ - 1 LDI - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - 1 LDI - s0 s1 XCHG - <{ - LDREF - }> PUSHCONT - <{ - NULL - s0 s1 XCHG - }> PUSHCONT - IFELSE - LDMSGADDR - s1 PUSH - 2 PLDU - 0 NEQINT - <{ - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - }> PUSHCONT - <{ - s1 POP - NULL - }> PUSHCONT - IFELSE - s0 s1 XCHG - LDREF - s0 s1 XCHG - CTOS - 1 LDI - s0 s1 XCHG - <{ - s0 POP - NULL - }> PUSHCONT - <{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - 1 5 BLKDROP2 - 5 TUPLE - }> IFREFELSE - s1 s5 XCHG - s1 s4 XCHG - s3 s3 s0 XCHG3 - 1 5 BLKDROP2 - 5 TUPLE - }> IFREFELSE - s2 s6 XCHG - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - }> - ?fun_ref_98a3442ab0acb9db PROCREF:<{ - s3 PUSH - ISNULL - NOT - }> - ?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{ - s2 PUSH - }> - ?fun_ref_b347d9c3ebd197d4 PROCREF:<{ - s4 PUSH - }> - ?fun_ref_cc166492ac8507fc PROCREF:<{ - s1 PUSH - s0 PUSH - ISNULL - 128 THROWIF - 5 UNTUPLE - }> - ?fun_ref_e89503191b6c842a PROCREF:<{ - s2 PUSH - s0 PUSH - ISNULL - 128 THROWIF - }> - ?fun_ref_ec09295eef4d515b PROCREF:<{ - s4 PUSH - ISNULL - NOT - }> - ?fun_ref_edb0dc2cb1aa52d9 PROCREF:<{ - s0 PUSH - ISNULL - NOT - }> - ?fun_ref_f4acca5aa56d5d6d PROCREF:<{ - s2 PUSH - ISNULL - NOT - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/optionals_ContractWithOptionals.headers.fc b/src/test/features/output/optionals_ContractWithOptionals.headers.fc deleted file mode 100644 index 03eea2618..000000000 --- a/src/test/features/output/optionals_ContractWithOptionals.headers.fc +++ /dev/null @@ -1,148 +0,0 @@ -;; -;; Header files for ContractWithOptionals -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address_opt -(slice, slice) __tact_load_address_opt(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_store_address_opt -builder __tact_store_address_opt(builder b, slice address) inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; $SomeGenericStruct$_store -builder $SomeGenericStruct$_store(builder build_0, (int, int, int, int, int) v) inline; - -;; $SomeGenericStruct$_load -(slice, ((int, int, int, int, int))) $SomeGenericStruct$_load(slice sc_0) inline; - -;; $SomeGenericStruct$_not_null -((int, int, int, int, int)) $SomeGenericStruct$_not_null(tuple v) inline; - -;; $StructWithOptionals$_store -builder $StructWithOptionals$_store(builder build_0, (int, int, cell, slice, tuple) v) inline; - -;; $SomeGenericStruct$_as_optional -tuple $SomeGenericStruct$_as_optional((int, int, int, int, int) v) inline; - -;; $StructWithOptionals$_load -(slice, ((int, int, cell, slice, tuple))) $StructWithOptionals$_load(slice sc_0) inline; - -;; $StructWithOptionals$_as_optional -tuple $StructWithOptionals$_as_optional((int, int, cell, slice, tuple) v) inline; - -;; $Update$_load -(slice, ((int, int, cell, slice, tuple, tuple))) $Update$_load(slice sc_0) inline_ref; - -;; $StructWithOptionals$_not_null -((int, int, cell, slice, tuple)) $StructWithOptionals$_not_null(tuple v) inline; - -;; $ContractWithOptionals$_store -builder $ContractWithOptionals$_store(builder build_0, (int, int, cell, slice, tuple, tuple) v) inline; - -;; $ContractWithOptionals$_load -(slice, ((int, int, cell, slice, tuple, tuple))) $ContractWithOptionals$_load(slice sc_0) inline; - -;; $SomeGenericStruct$_to_tuple -tuple $SomeGenericStruct$_to_tuple(((int, int, int, int, int)) v) inline; - -;; $SomeGenericStruct$_to_opt_tuple -tuple $SomeGenericStruct$_to_opt_tuple(tuple v) inline; - -;; $SomeGenericStruct$_to_external -(int, int, int, int, int) $SomeGenericStruct$_to_external(((int, int, int, int, int)) v) inline; - -;; $SomeGenericStruct$_to_opt_external -tuple $SomeGenericStruct$_to_opt_external(tuple v) inline; - -;; $StructWithOptionals$_to_tuple -tuple $StructWithOptionals$_to_tuple(((int, int, cell, slice, tuple)) v) inline; - -;; $StructWithOptionals$_to_opt_tuple -tuple $StructWithOptionals$_to_opt_tuple(tuple v) inline; - -;; $StructWithOptionals$_to_external -(int, int, cell, slice, tuple) $StructWithOptionals$_to_external(((int, int, cell, slice, tuple)) v) inline; - -;; $StructWithOptionals$_to_opt_external -tuple $StructWithOptionals$_to_opt_external(tuple v) inline; - -;; $ContractWithOptionals$init$_load -(slice, ((int, int, cell, slice, tuple, tuple))) $ContractWithOptionals$init$_load(slice sc_0) inline_ref; - -;; $ContractWithOptionals$_contract_init -(int, int, cell, slice, tuple, tuple) $ContractWithOptionals$_contract_init(int $a, int $b, cell $c, slice $d, tuple $e, tuple $f) impure inline_ref; - -;; $ContractWithOptionals$_contract_load -(int, int, cell, slice, tuple, tuple) $ContractWithOptionals$_contract_load() impure inline_ref; - -;; $ContractWithOptionals$_contract_store -() $ContractWithOptionals$_contract_store((int, int, cell, slice, tuple, tuple) v) impure inline; - -;; $ContractWithOptionals$_fun_isNotNullA -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_isNotNullA((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_isNotNullB -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_isNotNullB((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_isNotNullC -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_isNotNullC((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_isNotNullD -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_isNotNullD((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_isNotNullE -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_isNotNullE((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_isNotNullF -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_isNotNullF((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_nullA -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_nullA((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_nullB -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_nullB((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_nullC -((int, int, cell, slice, tuple, tuple), cell) $ContractWithOptionals$_fun_nullC((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_nullD -((int, int, cell, slice, tuple, tuple), slice) $ContractWithOptionals$_fun_nullD((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_nullE -((int, int, cell, slice, tuple, tuple), tuple) $ContractWithOptionals$_fun_nullE((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_nullF -((int, int, cell, slice, tuple, tuple), tuple) $ContractWithOptionals$_fun_nullF((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_notNullA -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_notNullA((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_notNullB -((int, int, cell, slice, tuple, tuple), int) $ContractWithOptionals$_fun_notNullB((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_notNullC -((int, int, cell, slice, tuple, tuple), cell) $ContractWithOptionals$_fun_notNullC((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_notNullD -((int, int, cell, slice, tuple, tuple), slice) $ContractWithOptionals$_fun_notNullD((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_notNullE -((int, int, cell, slice, tuple, tuple), (int, int, int, int, int)) $ContractWithOptionals$_fun_notNullE((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $ContractWithOptionals$_fun_notNullF -((int, int, cell, slice, tuple, tuple), (int, int, cell, slice, tuple)) $ContractWithOptionals$_fun_notNullF((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; - -;; $SomeGenericStruct$_constructor_value1_value2_value3_value4_value5 -((int, int, int, int, int)) $SomeGenericStruct$_constructor_value1_value2_value3_value4_value5(int value1, int value2, int value3, int value4, int value5) inline; - -;; $ContractWithOptionals$_fun_testVariables -((int, int, cell, slice, tuple, tuple), (int, int, int, int, int)) $ContractWithOptionals$_fun_testVariables((int, int, cell, slice, tuple, tuple) $self) impure inline_ref; diff --git a/src/test/features/output/optionals_ContractWithOptionals.md b/src/test/features/output/optionals_ContractWithOptionals.md deleted file mode 100644 index c67e04e21..000000000 --- a/src/test/features/output/optionals_ContractWithOptionals.md +++ /dev/null @@ -1,105 +0,0 @@ -# TACT Compilation Report -Contract: ContractWithOptionals -BOC Size: 1758 bytes - -# Types -Total Types: 8 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Struct2 -TLB: `struct2#b119629a v:int257 = Struct2` -Signature: `Struct2{v:int257}` - -## OptStruct -TLB: `_ s:Maybe Struct2{v:int257} = OptStruct` -Signature: `OptStruct{s:Maybe Struct2{v:int257}}` - -## SomeGenericStruct -TLB: `_ value1:int257 value2:int257 value3:int257 value4:int257 value5:int257 = SomeGenericStruct` -Signature: `SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}` - -## StructWithOptionals -TLB: `_ a:Maybe int257 b:Maybe bool c:Maybe ^cell d:Maybe address e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257} = StructWithOptionals` -Signature: `StructWithOptionals{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}}` - -## Update -TLB: `update#1554fcfd a:Maybe int257 b:Maybe bool c:Maybe ^cell d:Maybe address e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257} f:Maybe StructWithOptionals{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}} = Update` -Signature: `Update{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257},f:Maybe StructWithOptionals{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}}}` - -# Get Methods -Total Get Methods: 19 - -## isNotNullA - -## isNotNullB - -## isNotNullC - -## isNotNullD - -## isNotNullE - -## isNotNullF - -## nullA - -## nullB - -## nullC - -## nullD - -## nullE - -## nullF - -## notNullA - -## notNullB - -## notNullC - -## notNullD - -## notNullE - -## notNullF - -## testVariables - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/optionals_ContractWithOptionals.pkg b/src/test/features/output/optionals_ContractWithOptionals.pkg deleted file mode 100644 index b14770db5..000000000 --- a/src/test/features/output/optionals_ContractWithOptionals.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"ContractWithOptionals","code":"te6ccgECTwEABtIAART/APSkE/S88sgLAQIBYgIDA5jQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIVFBTA28E+GEC+GLbPFUV2zzy4ILI+EMBzH8BygBVUNs8ye1USgQFAgEgDg8BZAGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+CCEBVU/P26jofbPGwWbGZ/4DBwBgT2JW6zm39QB8oAFYEBAc8AmDVwUAbKABBF4iNus5d/AcoAE8oAljNwUAPKAOIhbrOVfwHKAMyUcDLKAOIBIG6VMHABywGOHSDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiM8W4sgibrOVMnBYygDjDcgjbrPjD8lYzMkBDQkKCwLs0x8BghAVVPz9uvLggdIAAZWBAQHXAJJtAeLSAAGS0gCSbQHi0gABkdSSbQHi+kAh1wsBwwCOHAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IiSMW3iAdQB0NIAAZFt4w0B1DDQ0gABkjBt4w0QJhAlECQQIwcIAEqBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQI28FAbzSAAGVgQEB1wCSbQHi0gABktIAkm0B4tIAAZHUkm0B4vpAIdcLAcMAjhwBINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIkjFt4gHUAdDSAAGSMG3jDRUUQzBsFW8FTgEcfwHKAAMgbvLQgG8lEFcMAAwzcFADygAAAswB5CRus5t/UAbKABSBAQHPAJg0cFAFygAQNOIibrOXfwHKABLKAJUycFjKAOIhbrOVfwHKAMyUcDLKAOIBIG6VMHABywGOHSDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiM8W4sgibrOVMnBYygDjDckBzA0AYH8BygACIG7y0IBvJRBWUEWBAQHPABKBAQHPAIEBAc8AAciBAQHPABKBAQHPAMkBzAIBIBARAgEgGRoCASASEwIBIBscAgEgFBUCEbRaO2ebZ42MMEoYAhGwpPbPNs8bGGBKFgIRsKy2zzbPGxhgShcABiNuswAGJG6zAAYlbrMCASAlJgIBIDc4AgFqHR4CASAhIgIQqjbbPNs8bGFKHwIQqJbbPNs8bGVKIAAGIG6zABxxcnN0dW8FIG7y0IBvJQIRsJV2zzbPGxhgSiMCEbCdNs82zxsYYEokAAYhbrMABiJuswIBICcoAgEgMTICAccpKgIBxy0uAg+hJ2zzbPGxhkorAg+hc2zzbPGxhkosAAIiAAwkIG7y0IACO6GjbPNs8bGEgbpIwbZkgbvLQgG8lbwXiIG6SMG3ekovAg+h92zzbPGxhkowAAIhAAwjIG7y0IACX7AC9s82zxsYSBukjBtjhkgbvLQgG8lIG6SMG2ZIG7y0IBvJW8F4m8F4iBukjBt3oEozAgEgNDUAAiACEayf7Z5tnjYwwEo2ALmt6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4bLzjN0Yc3hPWW1CYmtxu8sAADCUgbvLQgAIBIDk6AgEgQUICAWI7PAIBID4/Ai+nsbZ5tnjYykDdJGDbMkDd5aEA3kreC8VKPQAPpX3aiaGkAAMAECAgbvLQgG8lAhGsdm2ebZ42MMBKQAB1rN3Ghq0uDM5nReXqLazGamzJikjmis5oaajPSscpTMxGhibGaUmpyW7NKyworoaq5oZuai6qrcbNMEAAAiUCAcdDRAIBx0dIAg+iP2zzbPGxhkpFAg+ia2zzbPGxhkpGAAIkAAwiIG7y0IACD6K7bPNs8bGGSkkCD6LvbPNs8bGWSksAAiMCLu1E0NQB+GPSAAGOhNs8bBbg2zwG0VUETEwAECEgbvLQgG8lAfbSAAGVgQEB1wCSbQHi0gABktIAkm0B4tIAAZHUkm0B4vpAIdcLAcMAjhwBINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIkjFt4gHUAdDSAAGOJYEBAdcAgQEB1wCBAQHXANQB0IEBAdcAgQEB1wAwECUQJBAjbwWRbeJNAeYB1DDQ0gABjt7SAAGVgQEB1wCSbQHi0gABktIAkm0B4tIAAZHUkm0B4vpAIdcLAcMAjhwBINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIkjFt4gHUAdDSAAGSMG3jDRUUQzBsFW8FkjBt4hAmECUQJBAjTgBOgQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXADAQJRAkECNsFW8F","abi":"{\"name\":\"ContractWithOptionals\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Struct2\",\"header\":2971230874,\"fields\":[{\"name\":\"v\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"OptStruct\",\"header\":null,\"fields\":[{\"name\":\"s\",\"type\":{\"kind\":\"simple\",\"type\":\"Struct2\",\"optional\":true}}]},{\"name\":\"SomeGenericStruct\",\"header\":null,\"fields\":[{\"name\":\"value1\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value2\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value3\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value4\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value5\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"StructWithOptionals\",\"header\":null,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}},{\"name\":\"c\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"d\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"e\",\"type\":{\"kind\":\"simple\",\"type\":\"SomeGenericStruct\",\"optional\":true}}]},{\"name\":\"Update\",\"header\":357891325,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}},{\"name\":\"c\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"d\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"e\",\"type\":{\"kind\":\"simple\",\"type\":\"SomeGenericStruct\",\"optional\":true}},{\"name\":\"f\",\"type\":{\"kind\":\"simple\",\"type\":\"StructWithOptionals\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Update\"}}],\"getters\":[{\"name\":\"isNotNullA\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"isNotNullB\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"isNotNullC\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"isNotNullD\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"isNotNullE\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"isNotNullF\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"nullA\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"nullB\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}},{\"name\":\"nullC\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"nullD\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"nullE\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"SomeGenericStruct\",\"optional\":true}},{\"name\":\"nullF\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"StructWithOptionals\",\"optional\":true}},{\"name\":\"notNullA\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"notNullB\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"notNullC\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"notNullD\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"notNullE\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"SomeGenericStruct\",\"optional\":false}},{\"name\":\"notNullF\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"StructWithOptionals\",\"optional\":false}},{\"name\":\"testVariables\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"SomeGenericStruct\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.any.v0\"]}","init":{"kind":"direct","args":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}},{"name":"f","type":{"kind":"simple","type":"StructWithOptionals","optional":true}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECUQEABtwAAQHAAQEFofSdAgEU/wD0pBP0vPLICwMCAWJCBAIBIC4FAgEgGwYCASASBwIBIA0IAgHHCwkCD6LvbPNs8bGWTQoAECEgbvLQgG8lAg+iu2zzbPGxhk0MAAIjAgHHEA4CD6JrbPNs8bGGTQ8ADCIgbvLQgAIPoj9s82zxsYZNEQACJAIBIBcTAgEgFRQAdazdxoatLgzOZ0Xl6i2sxmpsyYpI5orOaGmoz0rHKUzMRoYmxmlJqcluzSssKK6GquaGbmouqq3GzTBAAhGsdm2ebZ42MMBNFgACJQIBYhkYAA+lfdqJoaQAAwIvp7G2ebZ42MpA3SRg2zJA3eWhAN5K3gvFTRoAECAgbvLQgG8lAgEgIxwCASAhHQIBIB8eALmt6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4bLzjN0Yc3hPWW1CYmtxu8sACEayf7Z5tnjYwwE0gAAwlIG7y0IACX7AC9s82zxsYSBukjBtjhkgbvLQgG8lIG6SMG2ZIG7y0IBvJW8F4m8F4iBukjBt3oE0iAAIgAgEgKSQCAccnJQIPofds82zxsYZNJgAMIyBu8tCAAjuho2zzbPGxhIG6SMG2ZIG7y0IBvJW8F4iBukjBt3pNKAACIQIBxywqAg+hc2zzbPGxhk0rAAwkIG7y0IACD6EnbPNs8bGGTS0AAiICASA6LwIBIDUwAgEgMzECEbCdNs82zxsYYE0yAAYibrMCEbCVds82zxsYYE00AAYhbrMCAWo4NgIQqJbbPNs8bGVNNwAccXJzdHVvBSBu8tCAbyUCEKo22zzbPGxhTTkABiBuswIBID07AhG0Wjtnm2eNjDBNPAAGJW6zAgEgQD4CEbCsts82zxsYYE0/AAYkbrMCEbCk9s82zxsYYE1BAAYjbrMDmNAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IhUUFMDbwT4YQL4Yts8VRXbPPLggsj4QwHMfwHKAFVQ2zzJ7VRNSUME9iVus5t/UAfKABWBAQHPAJg1cFAGygAQReIjbrOXfwHKABPKAJYzcFADygDiIW6zlX8BygDMlHAyygDiASBulTBwAcsBjh0g10mBAQu68uCIINcLCiCDCboBgQT/urHy4IjPFuLIIm6zlTJwWMoA4w3II26z4w/JWMzJAUhGRUQAAswADDNwUAPKAAEcfwHKAAMgbvLQgG8lEFdHAeQkbrObf1AGygAUgQEBzwCYNHBQBcoAEDTiIm6zl38BygASygCVMnBYygDiIW6zlX8BygDMlHAyygDiASBulTBwAcsBjh0g10mBAQu68uCIINcLCiCDCboBgQT/urHy4IjPFuLIIm6zlTJwWMoA4w3JAcxIAGB/AcoAAiBu8tCAbyUQVlBFgQEBzwASgQEBzwCBAQHPAAHIgQEBzwASgQEBzwDJAcwBZAGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+CCEBVU/P26jofbPGwWbGZ/4DBwSgLs0x8BghAVVPz9uvLggdIAAZWBAQHXAJJtAeLSAAGS0gCSbQHi0gABkdSSbQHi+kAh1wsBwwCOHAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IiSMW3iAdQB0NIAAZFt4w0B1DDQ0gABkjBt4w0QJhAlECQQI0xLAbzSAAGVgQEB1wCSbQHi0gABktIAkm0B4tIAAZHUkm0B4vpAIdcLAcMAjhwBINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIkjFt4gHUAdDSAAGSMG3jDRUUQzBsFW8FUABKgQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXADAQJRAkECNvBQIu7UTQ1AH4Y9IAAY6E2zxsFuDbPAbRVQROTgH20gABlYEBAdcAkm0B4tIAAZLSAJJtAeLSAAGR1JJtAeL6QCHXCwHDAI4cASDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiJIxbeIB1AHQ0gABjiWBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQI28FkW3iTwHmAdQw0NIAAY7e0gABlYEBAdcAkm0B4tIAAZLSAJJtAeLSAAGR1JJtAeL6QCHXCwHDAI4cASDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiJIxbeIB1AHQ0gABkjBt4w0VFEMwbBVvBZIwbeIQJhAlECQQI1AAToEBAdcAgQEB1wCBAQHXANQB0IEBAdcAgQEB1wAwECUQJBAjbBVvBQYpDZc="}},"sources":{"src\\test\\features\\optionals-2.tact":"ZnVuIHNhbXBsZTMoc3JjOiBTdHJ1Y3QyPyk6IE9wdFN0cnVjdCB7DQogICAgcmV0dXJuIE9wdFN0cnVjdHtzOiBzcmN9Ow0KfQ0KDQpmdW4gc2FtcGxlNChzcmM6IFN0cnVjdDIpOiBPcHRTdHJ1Y3Qgew0KICAgIHJldHVybiBPcHRTdHJ1Y3R7czogc3JjfTsNCn0NCg0KbWVzc2FnZSBTdHJ1Y3QyIHsNCiAgICB2OiBJbnQ7DQp9DQoNCnN0cnVjdCBPcHRTdHJ1Y3Qgew0KICAgIHM6IFN0cnVjdDI/Ow0KfQ0KDQpjb250cmFjdCBPcHQyIHsNCiAgICBzdGF0ZUluaXQ6IFN0YXRlSW5pdDsNCiAgICBpbml0KCkgew0KICAgICAgICBzZWxmLnN0YXRlSW5pdCA9IGluaXRPZiBPcHQzKFN0cnVjdDJ7djogMX0pOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoIlRlc3QiKSB7DQogICAgICAgIHNlbGYuc2FtcGxlKFN0cnVjdDJ7djogMX0pOw0KICAgICAgICBzZWxmLnNhbXBsZShudWxsKTsNCiAgICAgICAgc2VsZi5zYW1wbGUyKFN0cnVjdDJ7djogMX0pOw0KICAgICAgICBzYW1wbGUzKFN0cnVjdDJ7djogMX0pOw0KICAgICAgICBzYW1wbGUzKG51bGwpOw0KICAgICAgICBzYW1wbGU0KFN0cnVjdDJ7djogMX0pOw0KICAgIH0NCg0KICAgIGZ1biBzYW1wbGUoc3JjOiBTdHJ1Y3QyPykgew0KDQogICAgfQ0KDQogICAgZnVuIHNhbXBsZTIoc3JjOiBTdHJ1Y3QyKSB7DQoNCiAgICB9DQp9DQoNCmNvbnRyYWN0IE9wdDMgew0KICAgIGluaXQoYXJnOiBTdHJ1Y3QyPykgew0KICAgICAgICANCiAgICB9DQp9","src\\test\\features\\optionals.tact":"aW1wb3J0ICIuL29wdGlvbmFscy0yLnRhY3QiOw0Kc3RydWN0IFNvbWVHZW5lcmljU3RydWN0IHsNCiAgICB2YWx1ZTE6IEludDsNCiAgICB2YWx1ZTI6IEludDsNCiAgICB2YWx1ZTM6IEludDsNCiAgICB2YWx1ZTQ6IEludDsNCiAgICB2YWx1ZTU6IEludDsNCn0NCg0Kc3RydWN0IFN0cnVjdFdpdGhPcHRpb25hbHMgew0KICAgIGE6IEludD87DQogICAgYjogQm9vbD87DQogICAgYzogQ2VsbD87DQogICAgZDogQWRkcmVzcz87DQogICAgZTogU29tZUdlbmVyaWNTdHJ1Y3Q/Ow0KfQ0KDQptZXNzYWdlIFVwZGF0ZSB7DQogICAgYTogSW50PzsNCiAgICBiOiBCb29sPzsNCiAgICBjOiBDZWxsPzsNCiAgICBkOiBBZGRyZXNzPzsNCiAgICBlOiBTb21lR2VuZXJpY1N0cnVjdD87DQogICAgZjogU3RydWN0V2l0aE9wdGlvbmFscz87DQp9DQoNCmNvbnRyYWN0IENvbnRyYWN0V2l0aE9wdGlvbmFscyB7DQoNCiAgICBhOiBJbnQ/Ow0KICAgIGI6IEJvb2w/Ow0KICAgIGM6IENlbGw/Ow0KICAgIGQ6IEFkZHJlc3M/Ow0KICAgIGU6IFNvbWVHZW5lcmljU3RydWN0PzsNCiAgICBmOiBTdHJ1Y3RXaXRoT3B0aW9uYWxzPzsNCg0KICAgIGluaXQoYTogSW50PywgYjogQm9vbD8sIGM6IENlbGw/LCBkOiBBZGRyZXNzPywgZTogU29tZUdlbmVyaWNTdHJ1Y3Q/LCBmOiBTdHJ1Y3RXaXRoT3B0aW9uYWxzPykgew0KICAgICAgICBzZWxmLmEgPSBhOw0KICAgICAgICBzZWxmLmIgPSBiOw0KICAgICAgICBzZWxmLmMgPSBjOw0KICAgICAgICBzZWxmLmQgPSBkOw0KICAgICAgICBzZWxmLmUgPSBlOw0KICAgICAgICBzZWxmLmYgPSBmOw0KDQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYik7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYyk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZCk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZik7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgpIHsNCiAgICAgICAgLy8gRGVwbG95DQogICAgfQ0KDQogICAgcmVjZWl2ZShtc2c6IFVwZGF0ZSkgew0KICAgICAgICBzZWxmLmEgPSBtc2cuYTsNCiAgICAgICAgc2VsZi5iID0gbXNnLmI7DQogICAgICAgIHNlbGYuYyA9IG1zZy5jOw0KICAgICAgICBzZWxmLmQgPSBtc2cuZDsNCiAgICAgICAgc2VsZi5lID0gbXNnLmU7DQogICAgICAgIHNlbGYuZiA9IG1zZy5mOw0KDQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYik7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYyk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZCk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZik7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpc05vdE51bGxBKCk6IEJvb2wgew0KICAgICAgICByZXR1cm4gc2VsZi5hICE9IG51bGw7DQogICAgfQ0KICAgIGdldCBmdW4gaXNOb3ROdWxsQigpOiBCb29sIHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYiAhPSBudWxsOw0KICAgIH0NCiAgICBnZXQgZnVuIGlzTm90TnVsbEMoKTogQm9vbCB7DQogICAgICAgIHJldHVybiBzZWxmLmMgIT0gbnVsbDsNCiAgICB9DQogICAgZ2V0IGZ1biBpc05vdE51bGxEKCk6IEJvb2wgew0KICAgICAgICByZXR1cm4gc2VsZi5kICE9IG51bGw7DQogICAgfQ0KICAgIGdldCBmdW4gaXNOb3ROdWxsRSgpOiBCb29sIHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZSAhPSBudWxsOw0KICAgIH0NCiAgICBnZXQgZnVuIGlzTm90TnVsbEYoKTogQm9vbCB7DQogICAgICAgIHJldHVybiBzZWxmLmYgIT0gbnVsbDsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG51bGxBKCk6IEludD8gew0KICAgICAgICByZXR1cm4gc2VsZi5hOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbnVsbEIoKTogQm9vbD8gew0KICAgICAgICByZXR1cm4gc2VsZi5iOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbnVsbEMoKTogQ2VsbD8gew0KICAgICAgICByZXR1cm4gc2VsZi5jOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbnVsbEQoKTogQWRkcmVzcz8gew0KICAgICAgICByZXR1cm4gc2VsZi5kOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbnVsbEUoKTogU29tZUdlbmVyaWNTdHJ1Y3Q/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG51bGxGKCk6IFN0cnVjdFdpdGhPcHRpb25hbHM/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZjsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG5vdE51bGxBKCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLmEhITsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG5vdE51bGxCKCk6IEJvb2wgew0KICAgICAgICByZXR1cm4gc2VsZi5iISE7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBub3ROdWxsQygpOiBDZWxsIHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYyEhOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbm90TnVsbEQoKTogQWRkcmVzcyB7DQogICAgICAgIHJldHVybiBzZWxmLmQhITsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG5vdE51bGxFKCk6IFNvbWVHZW5lcmljU3RydWN0IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZSEhOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbm90TnVsbEYoKTogU3RydWN0V2l0aE9wdGlvbmFscyB7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYik7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYyk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZCk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZik7DQogICAgICAgIHJldHVybiBzZWxmLmYhITsNCiAgICB9DQoNCiAgICBnZXQgZnVuIHRlc3RWYXJpYWJsZXMoKTogU29tZUdlbmVyaWNTdHJ1Y3Qgew0KICAgICAgICBsZXQgYTogU29tZUdlbmVyaWNTdHJ1Y3Q/ID0gU29tZUdlbmVyaWNTdHJ1Y3R7dmFsdWUxOiAxLCB2YWx1ZTI6IDIsIHZhbHVlMzogMywgdmFsdWU0OiA0LCB2YWx1ZTU6IDV9Ow0KICAgICAgICByZXR1cm4gYSEhOw0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/optionals.tact\",\"options\":{\"debug\":true,\"masterchain\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/optionals_ContractWithOptionals.stdlib.fc b/src/test/features/output/optionals_ContractWithOptionals.stdlib.fc deleted file mode 100644 index efcece708..000000000 --- a/src/test/features/output/optionals_ContractWithOptionals.stdlib.fc +++ /dev/null @@ -1,41 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_unless(136, (h == 1024) | (h == 1279)); - return address; -} - -(slice, slice) __tact_load_address_opt(slice cs) inline { - slice raw = cs~load_msg_addr(); - if (raw.preload_uint(2) != 0) { - return (cs, __tact_verify_address(raw)); - } else { - return (cs, null()); - } -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -builder __tact_store_address_opt(builder b, slice address) inline { - if (null?(address)) { - b = b.store_uint(0, 2); - return b; - } else { - return __tact_store_address(b, address); - } -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -forall X0, X1, X2, X3, X4 -> tuple __tact_tuple_create_5((X0, X1, X2, X3, X4) v) asm "5 TUPLE"; - -forall X0, X1, X2, X3, X4 -> (X0, X1, X2, X3, X4) __tact_tuple_destroy_5(tuple v) asm "5 UNTUPLE"; \ No newline at end of file diff --git a/src/test/features/output/optionals_ContractWithOptionals.storage.fc b/src/test/features/output/optionals_ContractWithOptionals.storage.fc deleted file mode 100644 index 372ce5516..000000000 --- a/src/test/features/output/optionals_ContractWithOptionals.storage.fc +++ /dev/null @@ -1,210 +0,0 @@ -;; -;; Type: SomeGenericStruct -;; TLB: _ value1:int257 value2:int257 value3:int257 value4:int257 value5:int257 = SomeGenericStruct -;; - -builder $SomeGenericStruct$_store(builder build_0, (int, int, int, int, int) v) inline { - var (v'value1, v'value2, v'value3, v'value4, v'value5) = v; - build_0 = build_0.store_int(v'value1, 257); - build_0 = build_0.store_int(v'value2, 257); - build_0 = build_0.store_int(v'value3, 257); - var build_1 = begin_cell(); - build_1 = build_1.store_int(v'value4, 257); - build_1 = build_1.store_int(v'value5, 257); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((int, int, int, int, int))) $SomeGenericStruct$_load(slice sc_0) inline { - var v'value1 = sc_0~load_int(257); - var v'value2 = sc_0~load_int(257); - var v'value3 = sc_0~load_int(257); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'value4 = sc_1~load_int(257); - var v'value5 = sc_1~load_int(257); - return (sc_0, (v'value1, v'value2, v'value3, v'value4, v'value5)); -} - -((int, int, int, int, int)) $SomeGenericStruct$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (int vvv'value1, int vvv'value2, int vvv'value3, int vvv'value4, int vvv'value5) = __tact_tuple_destroy_5(v); - return (vvv'value1, vvv'value2, vvv'value3, vvv'value4, vvv'value5); -} - -tuple $SomeGenericStruct$_as_optional((int, int, int, int, int) v) inline { - var (v'value1, v'value2, v'value3, v'value4, v'value5) = v; - return __tact_tuple_create_5(v'value1, v'value2, v'value3, v'value4, v'value5); -} - -tuple $SomeGenericStruct$_to_tuple(((int, int, int, int, int)) v) inline { - var (v'value1, v'value2, v'value3, v'value4, v'value5) = v; - return __tact_tuple_create_5(v'value1, v'value2, v'value3, v'value4, v'value5); -} - -tuple $SomeGenericStruct$_to_opt_tuple(tuple v) inline { - if (null?(v)) { return null(); } - return $SomeGenericStruct$_to_tuple($SomeGenericStruct$_not_null(v)); -} - -(int, int, int, int, int) $SomeGenericStruct$_to_external(((int, int, int, int, int)) v) inline { - var (v'value1, v'value2, v'value3, v'value4, v'value5) = v; - return (v'value1, v'value2, v'value3, v'value4, v'value5); -} - -tuple $SomeGenericStruct$_to_opt_external(tuple v) inline { - var loaded = $SomeGenericStruct$_to_opt_tuple(v); - if (null?(loaded)) { - return null(); - } else { - return (loaded); - } -} - -((int, int, int, int, int)) $SomeGenericStruct$_constructor_value1_value2_value3_value4_value5(int value1, int value2, int value3, int value4, int value5) inline { - return (value1, value2, value3, value4, value5); -} - -;; -;; Type: StructWithOptionals -;; TLB: _ a:Maybe int257 b:Maybe bool c:Maybe ^cell d:Maybe address e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257} = StructWithOptionals -;; - -builder $StructWithOptionals$_store(builder build_0, (int, int, cell, slice, tuple) v) inline { - var (v'a, v'b, v'c, v'd, v'e) = v; - build_0 = ~ null?(v'a) ? build_0.store_int(true, 1).store_int(v'a, 257) : build_0.store_int(false, 1); - build_0 = ~ null?(v'b) ? build_0.store_int(true, 1).store_int(v'b, 1) : build_0.store_int(false, 1); - build_0 = ~ null?(v'c) ? build_0.store_int(true, 1).store_ref(v'c) : build_0.store_int(false, 1); - build_0 = __tact_store_address_opt(build_0, v'd); - var build_1 = begin_cell(); - build_1 = ~ null?(v'e) ? build_1.store_int(true, 1).$SomeGenericStruct$_store($SomeGenericStruct$_not_null(v'e)) : build_1.store_int(false, 1); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((int, int, cell, slice, tuple))) $StructWithOptionals$_load(slice sc_0) inline { - var v'a = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - var v'b = sc_0~load_int(1) ? sc_0~load_int(1) : null(); - var v'c = sc_0~load_int(1) ? sc_0~load_ref() : null(); - var v'd = sc_0~__tact_load_address_opt(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'e = sc_1~load_int(1) ? $SomeGenericStruct$_as_optional(sc_1~$SomeGenericStruct$_load()) : null(); - return (sc_0, (v'a, v'b, v'c, v'd, v'e)); -} - -tuple $StructWithOptionals$_as_optional((int, int, cell, slice, tuple) v) inline { - var (v'a, v'b, v'c, v'd, v'e) = v; - return __tact_tuple_create_5(v'a, v'b, v'c, v'd, v'e); -} - -((int, int, cell, slice, tuple)) $StructWithOptionals$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (int vvv'a, int vvv'b, cell vvv'c, slice vvv'd, tuple vvv'e) = __tact_tuple_destroy_5(v); - return (vvv'a, vvv'b, vvv'c, vvv'd, vvv'e); -} - -tuple $StructWithOptionals$_to_tuple(((int, int, cell, slice, tuple)) v) inline { - var (v'a, v'b, v'c, v'd, v'e) = v; - return __tact_tuple_create_5(v'a, v'b, v'c, v'd, $SomeGenericStruct$_to_opt_tuple(v'e)); -} - -tuple $StructWithOptionals$_to_opt_tuple(tuple v) inline { - if (null?(v)) { return null(); } - return $StructWithOptionals$_to_tuple($StructWithOptionals$_not_null(v)); -} - -(int, int, cell, slice, tuple) $StructWithOptionals$_to_external(((int, int, cell, slice, tuple)) v) inline { - var (v'a, v'b, v'c, v'd, v'e) = v; - return (v'a, v'b, v'c, v'd, $SomeGenericStruct$_to_opt_tuple(v'e)); -} - -tuple $StructWithOptionals$_to_opt_external(tuple v) inline { - var loaded = $StructWithOptionals$_to_opt_tuple(v); - if (null?(loaded)) { - return null(); - } else { - return (loaded); - } -} - -;; -;; Type: Update -;; Header: 0x1554fcfd -;; TLB: update#1554fcfd a:Maybe int257 b:Maybe bool c:Maybe ^cell d:Maybe address e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257} f:Maybe StructWithOptionals{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}} = Update -;; - -(slice, ((int, int, cell, slice, tuple, tuple))) $Update$_load(slice sc_0) inline_ref { - throw_unless(129, sc_0~load_uint(32) == 357891325); - var v'a = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - var v'b = sc_0~load_int(1) ? sc_0~load_int(1) : null(); - var v'c = sc_0~load_int(1) ? sc_0~load_ref() : null(); - var v'd = sc_0~__tact_load_address_opt(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'e = sc_1~load_int(1) ? $SomeGenericStruct$_as_optional(sc_1~$SomeGenericStruct$_load()) : null(); - slice sc_2 = sc_1~load_ref().begin_parse(); - var v'f = sc_2~load_int(1) ? $StructWithOptionals$_as_optional(sc_2~$StructWithOptionals$_load()) : null(); - return (sc_0, (v'a, v'b, v'c, v'd, v'e, v'f)); -} - -;; -;; Type: ContractWithOptionals -;; - -builder $ContractWithOptionals$_store(builder build_0, (int, int, cell, slice, tuple, tuple) v) inline { - var (v'a, v'b, v'c, v'd, v'e, v'f) = v; - build_0 = ~ null?(v'a) ? build_0.store_int(true, 1).store_int(v'a, 257) : build_0.store_int(false, 1); - build_0 = ~ null?(v'b) ? build_0.store_int(true, 1).store_int(v'b, 1) : build_0.store_int(false, 1); - build_0 = ~ null?(v'c) ? build_0.store_int(true, 1).store_ref(v'c) : build_0.store_int(false, 1); - build_0 = __tact_store_address_opt(build_0, v'd); - var build_1 = begin_cell(); - build_1 = ~ null?(v'e) ? build_1.store_int(true, 1).$SomeGenericStruct$_store($SomeGenericStruct$_not_null(v'e)) : build_1.store_int(false, 1); - var build_2 = begin_cell(); - build_2 = ~ null?(v'f) ? build_2.store_int(true, 1).$StructWithOptionals$_store($StructWithOptionals$_not_null(v'f)) : build_2.store_int(false, 1); - build_1 = store_ref(build_1, build_2.end_cell()); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((int, int, cell, slice, tuple, tuple))) $ContractWithOptionals$_load(slice sc_0) inline { - var v'a = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - var v'b = sc_0~load_int(1) ? sc_0~load_int(1) : null(); - var v'c = sc_0~load_int(1) ? sc_0~load_ref() : null(); - var v'd = sc_0~__tact_load_address_opt(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'e = sc_1~load_int(1) ? $SomeGenericStruct$_as_optional(sc_1~$SomeGenericStruct$_load()) : null(); - slice sc_2 = sc_1~load_ref().begin_parse(); - var v'f = sc_2~load_int(1) ? $StructWithOptionals$_as_optional(sc_2~$StructWithOptionals$_load()) : null(); - return (sc_0, (v'a, v'b, v'c, v'd, v'e, v'f)); -} - -(slice, ((int, int, cell, slice, tuple, tuple))) $ContractWithOptionals$init$_load(slice sc_0) inline_ref { - var v'a = sc_0~load_int(1) ? sc_0~load_int(257) : null(); - var v'b = sc_0~load_int(1) ? sc_0~load_int(1) : null(); - var v'c = sc_0~load_int(1) ? sc_0~load_ref() : null(); - var v'd = sc_0~__tact_load_address_opt(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'e = sc_1~load_int(1) ? $SomeGenericStruct$_as_optional(sc_1~$SomeGenericStruct$_load()) : null(); - slice sc_2 = sc_1~load_ref().begin_parse(); - var v'f = sc_2~load_int(1) ? $StructWithOptionals$_as_optional(sc_2~$StructWithOptionals$_load()) : null(); - return (sc_0, (v'a, v'b, v'c, v'd, v'e, v'f)); -} - -(int, int, cell, slice, tuple, tuple) $ContractWithOptionals$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$ContractWithOptionals$_load(); - } else { - (int a, int b, cell c, slice d, tuple e, tuple f) = $sc~$ContractWithOptionals$init$_load(); - $sc.end_parse(); - return $ContractWithOptionals$_contract_init(a, b, c, d, e, f); - } -} - -() $ContractWithOptionals$_contract_store((int, int, cell, slice, tuple, tuple) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $ContractWithOptionals$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/optionals_ContractWithOptionals.ts b/src/test/features/output/optionals_ContractWithOptionals.ts deleted file mode 100644 index d5f1d6aaf..000000000 --- a/src/test/features/output/optionals_ContractWithOptionals.ts +++ /dev/null @@ -1,776 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Struct2 = { - $$type: 'Struct2'; - v: bigint; -} - -export function storeStruct2(src: Struct2) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2971230874, 32); - b_0.storeInt(src.v, 257); - }; -} - -export function loadStruct2(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2971230874) { throw Error('Invalid prefix'); } - let _v = sc_0.loadIntBig(257); - return { $$type: 'Struct2' as const, v: _v }; -} - -function loadTupleStruct2(source: TupleReader) { - let _v = source.readBigNumber(); - return { $$type: 'Struct2' as const, v: _v }; -} - -function storeTupleStruct2(source: Struct2) { - let builder = new TupleBuilder(); - builder.writeNumber(source.v); - return builder.build(); -} - -function dictValueParserStruct2(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStruct2(src)).endCell()); - }, - parse: (src) => { - return loadStruct2(src.loadRef().beginParse()); - } - } -} - -export type OptStruct = { - $$type: 'OptStruct'; - s: Struct2 | null; -} - -export function storeOptStruct(src: OptStruct) { - return (builder: Builder) => { - let b_0 = builder; - if (src.s !== null && src.s !== undefined) { b_0.storeBit(true); b_0.store(storeStruct2(src.s)); } else { b_0.storeBit(false); } - }; -} - -export function loadOptStruct(slice: Slice) { - let sc_0 = slice; - let _s = sc_0.loadBit() ? loadStruct2(sc_0) : null; - return { $$type: 'OptStruct' as const, s: _s }; -} - -function loadTupleOptStruct(source: TupleReader) { - const _s_p = source.readTupleOpt(); - const _s = _s_p ? loadTupleStruct2(_s_p) : null; - return { $$type: 'OptStruct' as const, s: _s }; -} - -function storeTupleOptStruct(source: OptStruct) { - let builder = new TupleBuilder(); - if (source.s !== null && source.s !== undefined) { - builder.writeTuple(storeTupleStruct2(source.s)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserOptStruct(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeOptStruct(src)).endCell()); - }, - parse: (src) => { - return loadOptStruct(src.loadRef().beginParse()); - } - } -} - -export type SomeGenericStruct = { - $$type: 'SomeGenericStruct'; - value1: bigint; - value2: bigint; - value3: bigint; - value4: bigint; - value5: bigint; -} - -export function storeSomeGenericStruct(src: SomeGenericStruct) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.value1, 257); - b_0.storeInt(src.value2, 257); - b_0.storeInt(src.value3, 257); - let b_1 = new Builder(); - b_1.storeInt(src.value4, 257); - b_1.storeInt(src.value5, 257); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadSomeGenericStruct(slice: Slice) { - let sc_0 = slice; - let _value1 = sc_0.loadIntBig(257); - let _value2 = sc_0.loadIntBig(257); - let _value3 = sc_0.loadIntBig(257); - let sc_1 = sc_0.loadRef().beginParse(); - let _value4 = sc_1.loadIntBig(257); - let _value5 = sc_1.loadIntBig(257); - return { $$type: 'SomeGenericStruct' as const, value1: _value1, value2: _value2, value3: _value3, value4: _value4, value5: _value5 }; -} - -function loadTupleSomeGenericStruct(source: TupleReader) { - let _value1 = source.readBigNumber(); - let _value2 = source.readBigNumber(); - let _value3 = source.readBigNumber(); - let _value4 = source.readBigNumber(); - let _value5 = source.readBigNumber(); - return { $$type: 'SomeGenericStruct' as const, value1: _value1, value2: _value2, value3: _value3, value4: _value4, value5: _value5 }; -} - -function storeTupleSomeGenericStruct(source: SomeGenericStruct) { - let builder = new TupleBuilder(); - builder.writeNumber(source.value1); - builder.writeNumber(source.value2); - builder.writeNumber(source.value3); - builder.writeNumber(source.value4); - builder.writeNumber(source.value5); - return builder.build(); -} - -function dictValueParserSomeGenericStruct(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSomeGenericStruct(src)).endCell()); - }, - parse: (src) => { - return loadSomeGenericStruct(src.loadRef().beginParse()); - } - } -} - -export type StructWithOptionals = { - $$type: 'StructWithOptionals'; - a: bigint | null; - b: boolean | null; - c: Cell | null; - d: Address | null; - e: SomeGenericStruct | null; -} - -export function storeStructWithOptionals(src: StructWithOptionals) { - return (builder: Builder) => { - let b_0 = builder; - if (src.a !== null && src.a !== undefined) { b_0.storeBit(true).storeInt(src.a, 257); } else { b_0.storeBit(false); } - if (src.b !== null && src.b !== undefined) { b_0.storeBit(true).storeBit(src.b); } else { b_0.storeBit(false); } - if (src.c !== null && src.c !== undefined) { b_0.storeBit(true).storeRef(src.c); } else { b_0.storeBit(false); } - b_0.storeAddress(src.d); - let b_1 = new Builder(); - if (src.e !== null && src.e !== undefined) { b_1.storeBit(true); b_1.store(storeSomeGenericStruct(src.e)); } else { b_1.storeBit(false); } - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadStructWithOptionals(slice: Slice) { - let sc_0 = slice; - let _a = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - let _b = sc_0.loadBit() ? sc_0.loadBit() : null; - let _c = sc_0.loadBit() ? sc_0.loadRef() : null; - let _d = sc_0.loadMaybeAddress(); - let sc_1 = sc_0.loadRef().beginParse(); - let _e = sc_1.loadBit() ? loadSomeGenericStruct(sc_1) : null; - return { $$type: 'StructWithOptionals' as const, a: _a, b: _b, c: _c, d: _d, e: _e }; -} - -function loadTupleStructWithOptionals(source: TupleReader) { - let _a = source.readBigNumberOpt(); - let _b = source.readBooleanOpt(); - let _c = source.readCellOpt(); - let _d = source.readAddressOpt(); - const _e_p = source.readTupleOpt(); - const _e = _e_p ? loadTupleSomeGenericStruct(_e_p) : null; - return { $$type: 'StructWithOptionals' as const, a: _a, b: _b, c: _c, d: _d, e: _e }; -} - -function storeTupleStructWithOptionals(source: StructWithOptionals) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeBoolean(source.b); - builder.writeCell(source.c); - builder.writeAddress(source.d); - if (source.e !== null && source.e !== undefined) { - builder.writeTuple(storeTupleSomeGenericStruct(source.e)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserStructWithOptionals(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStructWithOptionals(src)).endCell()); - }, - parse: (src) => { - return loadStructWithOptionals(src.loadRef().beginParse()); - } - } -} - -export type Update = { - $$type: 'Update'; - a: bigint | null; - b: boolean | null; - c: Cell | null; - d: Address | null; - e: SomeGenericStruct | null; - f: StructWithOptionals | null; -} - -export function storeUpdate(src: Update) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(357891325, 32); - if (src.a !== null && src.a !== undefined) { b_0.storeBit(true).storeInt(src.a, 257); } else { b_0.storeBit(false); } - if (src.b !== null && src.b !== undefined) { b_0.storeBit(true).storeBit(src.b); } else { b_0.storeBit(false); } - if (src.c !== null && src.c !== undefined) { b_0.storeBit(true).storeRef(src.c); } else { b_0.storeBit(false); } - b_0.storeAddress(src.d); - let b_1 = new Builder(); - if (src.e !== null && src.e !== undefined) { b_1.storeBit(true); b_1.store(storeSomeGenericStruct(src.e)); } else { b_1.storeBit(false); } - let b_2 = new Builder(); - if (src.f !== null && src.f !== undefined) { b_2.storeBit(true); b_2.store(storeStructWithOptionals(src.f)); } else { b_2.storeBit(false); } - b_1.storeRef(b_2.endCell()); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadUpdate(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 357891325) { throw Error('Invalid prefix'); } - let _a = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - let _b = sc_0.loadBit() ? sc_0.loadBit() : null; - let _c = sc_0.loadBit() ? sc_0.loadRef() : null; - let _d = sc_0.loadMaybeAddress(); - let sc_1 = sc_0.loadRef().beginParse(); - let _e = sc_1.loadBit() ? loadSomeGenericStruct(sc_1) : null; - let sc_2 = sc_1.loadRef().beginParse(); - let _f = sc_2.loadBit() ? loadStructWithOptionals(sc_2) : null; - return { $$type: 'Update' as const, a: _a, b: _b, c: _c, d: _d, e: _e, f: _f }; -} - -function loadTupleUpdate(source: TupleReader) { - let _a = source.readBigNumberOpt(); - let _b = source.readBooleanOpt(); - let _c = source.readCellOpt(); - let _d = source.readAddressOpt(); - const _e_p = source.readTupleOpt(); - const _e = _e_p ? loadTupleSomeGenericStruct(_e_p) : null; - const _f_p = source.readTupleOpt(); - const _f = _f_p ? loadTupleStructWithOptionals(_f_p) : null; - return { $$type: 'Update' as const, a: _a, b: _b, c: _c, d: _d, e: _e, f: _f }; -} - -function storeTupleUpdate(source: Update) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeBoolean(source.b); - builder.writeCell(source.c); - builder.writeAddress(source.d); - if (source.e !== null && source.e !== undefined) { - builder.writeTuple(storeTupleSomeGenericStruct(source.e)); - } else { - builder.writeTuple(null); - } - if (source.f !== null && source.f !== undefined) { - builder.writeTuple(storeTupleStructWithOptionals(source.f)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserUpdate(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeUpdate(src)).endCell()); - }, - parse: (src) => { - return loadUpdate(src.loadRef().beginParse()); - } - } -} - - type ContractWithOptionals_init_args = { - $$type: 'ContractWithOptionals_init_args'; - a: bigint | null; - b: boolean | null; - c: Cell | null; - d: Address | null; - e: SomeGenericStruct | null; - f: StructWithOptionals | null; -} - -function initContractWithOptionals_init_args(src: ContractWithOptionals_init_args) { - return (builder: Builder) => { - let b_0 = builder; - if (src.a !== null && src.a !== undefined) { b_0.storeBit(true).storeInt(src.a, 257); } else { b_0.storeBit(false); } - if (src.b !== null && src.b !== undefined) { b_0.storeBit(true).storeBit(src.b); } else { b_0.storeBit(false); } - if (src.c !== null && src.c !== undefined) { b_0.storeBit(true).storeRef(src.c); } else { b_0.storeBit(false); } - b_0.storeAddress(src.d); - let b_1 = new Builder(); - if (src.e !== null && src.e !== undefined) { b_1.storeBit(true); b_1.store(storeSomeGenericStruct(src.e)); } else { b_1.storeBit(false); } - let b_2 = new Builder(); - if (src.f !== null && src.f !== undefined) { b_2.storeBit(true); b_2.store(storeStructWithOptionals(src.f)); } else { b_2.storeBit(false); } - b_1.storeRef(b_2.endCell()); - b_0.storeRef(b_1.endCell()); - }; -} - -async function ContractWithOptionals_init(a: bigint | null, b: boolean | null, c: Cell | null, d: Address | null, e: SomeGenericStruct | null, f: StructWithOptionals | null) { - const __code = Cell.fromBase64('te6ccgECTwEABtIAART/APSkE/S88sgLAQIBYgIDA5jQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIVFBTA28E+GEC+GLbPFUV2zzy4ILI+EMBzH8BygBVUNs8ye1USgQFAgEgDg8BZAGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+CCEBVU/P26jofbPGwWbGZ/4DBwBgT2JW6zm39QB8oAFYEBAc8AmDVwUAbKABBF4iNus5d/AcoAE8oAljNwUAPKAOIhbrOVfwHKAMyUcDLKAOIBIG6VMHABywGOHSDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiM8W4sgibrOVMnBYygDjDcgjbrPjD8lYzMkBDQkKCwLs0x8BghAVVPz9uvLggdIAAZWBAQHXAJJtAeLSAAGS0gCSbQHi0gABkdSSbQHi+kAh1wsBwwCOHAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IiSMW3iAdQB0NIAAZFt4w0B1DDQ0gABkjBt4w0QJhAlECQQIwcIAEqBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQI28FAbzSAAGVgQEB1wCSbQHi0gABktIAkm0B4tIAAZHUkm0B4vpAIdcLAcMAjhwBINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIkjFt4gHUAdDSAAGSMG3jDRUUQzBsFW8FTgEcfwHKAAMgbvLQgG8lEFcMAAwzcFADygAAAswB5CRus5t/UAbKABSBAQHPAJg0cFAFygAQNOIibrOXfwHKABLKAJUycFjKAOIhbrOVfwHKAMyUcDLKAOIBIG6VMHABywGOHSDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiM8W4sgibrOVMnBYygDjDckBzA0AYH8BygACIG7y0IBvJRBWUEWBAQHPABKBAQHPAIEBAc8AAciBAQHPABKBAQHPAMkBzAIBIBARAgEgGRoCASASEwIBIBscAgEgFBUCEbRaO2ebZ42MMEoYAhGwpPbPNs8bGGBKFgIRsKy2zzbPGxhgShcABiNuswAGJG6zAAYlbrMCASAlJgIBIDc4AgFqHR4CASAhIgIQqjbbPNs8bGFKHwIQqJbbPNs8bGVKIAAGIG6zABxxcnN0dW8FIG7y0IBvJQIRsJV2zzbPGxhgSiMCEbCdNs82zxsYYEokAAYhbrMABiJuswIBICcoAgEgMTICAccpKgIBxy0uAg+hJ2zzbPGxhkorAg+hc2zzbPGxhkosAAIiAAwkIG7y0IACO6GjbPNs8bGEgbpIwbZkgbvLQgG8lbwXiIG6SMG3ekovAg+h92zzbPGxhkowAAIhAAwjIG7y0IACX7AC9s82zxsYSBukjBtjhkgbvLQgG8lIG6SMG2ZIG7y0IBvJW8F4m8F4iBukjBt3oEozAgEgNDUAAiACEayf7Z5tnjYwwEo2ALmt6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4bLzjN0Yc3hPWW1CYmtxu8sAADCUgbvLQgAIBIDk6AgEgQUICAWI7PAIBID4/Ai+nsbZ5tnjYykDdJGDbMkDd5aEA3kreC8VKPQAPpX3aiaGkAAMAECAgbvLQgG8lAhGsdm2ebZ42MMBKQAB1rN3Ghq0uDM5nReXqLazGamzJikjmis5oaajPSscpTMxGhibGaUmpyW7NKyworoaq5oZuai6qrcbNMEAAAiUCAcdDRAIBx0dIAg+iP2zzbPGxhkpFAg+ia2zzbPGxhkpGAAIkAAwiIG7y0IACD6K7bPNs8bGGSkkCD6LvbPNs8bGWSksAAiMCLu1E0NQB+GPSAAGOhNs8bBbg2zwG0VUETEwAECEgbvLQgG8lAfbSAAGVgQEB1wCSbQHi0gABktIAkm0B4tIAAZHUkm0B4vpAIdcLAcMAjhwBINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIkjFt4gHUAdDSAAGOJYEBAdcAgQEB1wCBAQHXANQB0IEBAdcAgQEB1wAwECUQJBAjbwWRbeJNAeYB1DDQ0gABjt7SAAGVgQEB1wCSbQHi0gABktIAkm0B4tIAAZHUkm0B4vpAIdcLAcMAjhwBINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIkjFt4gHUAdDSAAGSMG3jDRUUQzBsFW8FkjBt4hAmECUQJBAjTgBOgQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXADAQJRAkECNsFW8F'); - const __system = Cell.fromBase64('te6cckECUQEABtwAAQHAAQEFofSdAgEU/wD0pBP0vPLICwMCAWJCBAIBIC4FAgEgGwYCASASBwIBIA0IAgHHCwkCD6LvbPNs8bGWTQoAECEgbvLQgG8lAg+iu2zzbPGxhk0MAAIjAgHHEA4CD6JrbPNs8bGGTQ8ADCIgbvLQgAIPoj9s82zxsYZNEQACJAIBIBcTAgEgFRQAdazdxoatLgzOZ0Xl6i2sxmpsyYpI5orOaGmoz0rHKUzMRoYmxmlJqcluzSssKK6GquaGbmouqq3GzTBAAhGsdm2ebZ42MMBNFgACJQIBYhkYAA+lfdqJoaQAAwIvp7G2ebZ42MpA3SRg2zJA3eWhAN5K3gvFTRoAECAgbvLQgG8lAgEgIxwCASAhHQIBIB8eALmt6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4bLzjN0Yc3hPWW1CYmtxu8sACEayf7Z5tnjYwwE0gAAwlIG7y0IACX7AC9s82zxsYSBukjBtjhkgbvLQgG8lIG6SMG2ZIG7y0IBvJW8F4m8F4iBukjBt3oE0iAAIgAgEgKSQCAccnJQIPofds82zxsYZNJgAMIyBu8tCAAjuho2zzbPGxhIG6SMG2ZIG7y0IBvJW8F4iBukjBt3pNKAACIQIBxywqAg+hc2zzbPGxhk0rAAwkIG7y0IACD6EnbPNs8bGGTS0AAiICASA6LwIBIDUwAgEgMzECEbCdNs82zxsYYE0yAAYibrMCEbCVds82zxsYYE00AAYhbrMCAWo4NgIQqJbbPNs8bGVNNwAccXJzdHVvBSBu8tCAbyUCEKo22zzbPGxhTTkABiBuswIBID07AhG0Wjtnm2eNjDBNPAAGJW6zAgEgQD4CEbCsts82zxsYYE0/AAYkbrMCEbCk9s82zxsYYE1BAAYjbrMDmNAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IhUUFMDbwT4YQL4Yts8VRXbPPLggsj4QwHMfwHKAFVQ2zzJ7VRNSUME9iVus5t/UAfKABWBAQHPAJg1cFAGygAQReIjbrOXfwHKABPKAJYzcFADygDiIW6zlX8BygDMlHAyygDiASBulTBwAcsBjh0g10mBAQu68uCIINcLCiCDCboBgQT/urHy4IjPFuLIIm6zlTJwWMoA4w3II26z4w/JWMzJAUhGRUQAAswADDNwUAPKAAEcfwHKAAMgbvLQgG8lEFdHAeQkbrObf1AGygAUgQEBzwCYNHBQBcoAEDTiIm6zl38BygASygCVMnBYygDiIW6zlX8BygDMlHAyygDiASBulTBwAcsBjh0g10mBAQu68uCIINcLCiCDCboBgQT/urHy4IjPFuLIIm6zlTJwWMoA4w3JAcxIAGB/AcoAAiBu8tCAbyUQVlBFgQEBzwASgQEBzwCBAQHPAAHIgQEBzwASgQEBzwDJAcwBZAGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+CCEBVU/P26jofbPGwWbGZ/4DBwSgLs0x8BghAVVPz9uvLggdIAAZWBAQHXAJJtAeLSAAGS0gCSbQHi0gABkdSSbQHi+kAh1wsBwwCOHAEg10mBAQu68uCIINcLCiCDCboBgQT/urHy4IiSMW3iAdQB0NIAAZFt4w0B1DDQ0gABkjBt4w0QJhAlECQQI0xLAbzSAAGVgQEB1wCSbQHi0gABktIAkm0B4tIAAZHUkm0B4vpAIdcLAcMAjhwBINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIkjFt4gHUAdDSAAGSMG3jDRUUQzBsFW8FUABKgQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXADAQJRAkECNvBQIu7UTQ1AH4Y9IAAY6E2zxsFuDbPAbRVQROTgH20gABlYEBAdcAkm0B4tIAAZLSAJJtAeLSAAGR1JJtAeL6QCHXCwHDAI4cASDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiJIxbeIB1AHQ0gABjiWBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQI28FkW3iTwHmAdQw0NIAAY7e0gABlYEBAdcAkm0B4tIAAZLSAJJtAeLSAAGR1JJtAeL6QCHXCwHDAI4cASDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiJIxbeIB1AHQ0gABkjBt4w0VFEMwbBVvBZIwbeIQJhAlECQQI1AAToEBAdcAgQEB1wCBAQHXANQB0IEBAdcAgQEB1wAwECUQJBAjbBVvBQYpDZc='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initContractWithOptionals_init_args({ $$type: 'ContractWithOptionals_init_args', a, b, c, d, e, f })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const ContractWithOptionals_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const ContractWithOptionals_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Struct2","header":2971230874,"fields":[{"name":"v","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"OptStruct","header":null,"fields":[{"name":"s","type":{"kind":"simple","type":"Struct2","optional":true}}]}, - {"name":"SomeGenericStruct","header":null,"fields":[{"name":"value1","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value2","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value3","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value4","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value5","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"StructWithOptionals","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}}]}, - {"name":"Update","header":357891325,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}},{"name":"f","type":{"kind":"simple","type":"StructWithOptionals","optional":true}}]}, -] - -const ContractWithOptionals_getters: ABIGetter[] = [ - {"name":"isNotNullA","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"isNotNullB","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"isNotNullC","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"isNotNullD","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"isNotNullE","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"isNotNullF","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"nullA","arguments":[],"returnType":{"kind":"simple","type":"int","optional":true,"format":257}}, - {"name":"nullB","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":true}}, - {"name":"nullC","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":true}}, - {"name":"nullD","arguments":[],"returnType":{"kind":"simple","type":"address","optional":true}}, - {"name":"nullE","arguments":[],"returnType":{"kind":"simple","type":"SomeGenericStruct","optional":true}}, - {"name":"nullF","arguments":[],"returnType":{"kind":"simple","type":"StructWithOptionals","optional":true}}, - {"name":"notNullA","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"notNullB","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"notNullC","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}}, - {"name":"notNullD","arguments":[],"returnType":{"kind":"simple","type":"address","optional":false}}, - {"name":"notNullE","arguments":[],"returnType":{"kind":"simple","type":"SomeGenericStruct","optional":false}}, - {"name":"notNullF","arguments":[],"returnType":{"kind":"simple","type":"StructWithOptionals","optional":false}}, - {"name":"testVariables","arguments":[],"returnType":{"kind":"simple","type":"SomeGenericStruct","optional":false}}, -] - -const ContractWithOptionals_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Update"}}, -] - -export class ContractWithOptionals implements Contract { - - static async init(a: bigint | null, b: boolean | null, c: Cell | null, d: Address | null, e: SomeGenericStruct | null, f: StructWithOptionals | null) { - return await ContractWithOptionals_init(a, b, c, d, e, f); - } - - static async fromInit(a: bigint | null, b: boolean | null, c: Cell | null, d: Address | null, e: SomeGenericStruct | null, f: StructWithOptionals | null) { - const init = await ContractWithOptionals_init(a, b, c, d, e, f); - const address = contractAddress(0, init); - return new ContractWithOptionals(address, init); - } - - static fromAddress(address: Address) { - return new ContractWithOptionals(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: ContractWithOptionals_types, - getters: ContractWithOptionals_getters, - receivers: ContractWithOptionals_receivers, - errors: ContractWithOptionals_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null | Update) { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Update') { - body = beginCell().store(storeUpdate(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getIsNotNullA(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('isNotNullA', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getIsNotNullB(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('isNotNullB', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getIsNotNullC(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('isNotNullC', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getIsNotNullD(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('isNotNullD', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getIsNotNullE(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('isNotNullE', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getIsNotNullF(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('isNotNullF', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getNullA(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('nullA', builder.build())).stack; - let result = source.readBigNumberOpt(); - return result; - } - - async getNullB(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('nullB', builder.build())).stack; - let result = source.readBooleanOpt(); - return result; - } - - async getNullC(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('nullC', builder.build())).stack; - let result = source.readCellOpt(); - return result; - } - - async getNullD(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('nullD', builder.build())).stack; - let result = source.readAddressOpt(); - return result; - } - - async getNullE(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('nullE', builder.build())).stack; - const result_p = source.readTupleOpt(); - const result = result_p ? loadTupleSomeGenericStruct(result_p) : null; - return result; - } - - async getNullF(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('nullF', builder.build())).stack; - const result_p = source.readTupleOpt(); - const result = result_p ? loadTupleStructWithOptionals(result_p) : null; - return result; - } - - async getNotNullA(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('notNullA', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getNotNullB(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('notNullB', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getNotNullC(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('notNullC', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getNotNullD(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('notNullD', builder.build())).stack; - let result = source.readAddress(); - return result; - } - - async getNotNullE(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('notNullE', builder.build())).stack; - const result = loadTupleSomeGenericStruct(source); - return result; - } - - async getNotNullF(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('notNullF', builder.build())).stack; - const result = loadTupleStructWithOptionals(source); - return result; - } - - async getTestVariables(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('testVariables', builder.build())).stack; - const result = loadTupleSomeGenericStruct(source); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt2.abi b/src/test/features/output/optionals_Opt2.abi deleted file mode 100644 index 8d4babfe9..000000000 --- a/src/test/features/output/optionals_Opt2.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Opt2","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Struct2","header":2971230874,"fields":[{"name":"v","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"OptStruct","header":null,"fields":[{"name":"s","type":{"kind":"simple","type":"Struct2","optional":true}}]},{"name":"SomeGenericStruct","header":null,"fields":[{"name":"value1","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value2","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value3","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value4","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value5","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"StructWithOptionals","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}}]},{"name":"Update","header":357891325,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}},{"name":"f","type":{"kind":"simple","type":"StructWithOptionals","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Test"}}],"getters":[],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.any.v0"]} \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt2.code.boc b/src/test/features/output/optionals_Opt2.code.boc deleted file mode 100644 index 014a8b79f..000000000 Binary files a/src/test/features/output/optionals_Opt2.code.boc and /dev/null differ diff --git a/src/test/features/output/optionals_Opt2.code.boc.html b/src/test/features/output/optionals_Opt2.code.boc.html deleted file mode 100644 index c082f0705..000000000 --- a/src/test/features/output/optionals_Opt2.code.boc.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_554772b4aae59ccf;
-            ..DECLPROC ?fun_ref_692fda53369ed802;
-            ..DECLPROC ?fun_ref_a0eacc9676d4e13d;
-            ..DECLPROC ?fun_ref_bc0f7ff2672522e8;
-            ..DECLPROC ?fun_ref_c2fcb182f1814c3f;
-            ..DECLPROC ?fun_ref_cf24b18cf8fe8b89;
-            ..DECLPROC ?fun_ref_ee6e8b26e5656e82;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....s0 s1 XCHG
-            ....1279 PUSHINT
-            ....EQUAL
-            ....OR
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_cf24b18cf8fe8b89 INLINECALLDICT
-            ....SWAP2
-            ....?fun_ref_bc0f7ff2672522e8 INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....ROTREV
-            ....s0 s2 XCHG
-            ....STREF
-            ....STREF
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....289074767680806556846472852687671582181 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D595657623970505A685772747465625733766F324263516165526B31543634444B6F6D524B6A54586A694A4682_} PUSHSLICE
-            ..}>
-            ..?fun_ref_554772b4aae59ccf PROCREF:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....LDDICT
-            ....s0 POP
-            ....NULL
-            ....s0 s1 XCHG
-            ....41175 PUSHINT
-            ....s0 s1 XCHG
-            ....16 PUSHINT
-            ....DICTUGETREF
-            ....NULLSWAPIFNOT
-            ....135 THROWIFNOT
-            ....s0 s1 XCHG
-            ....41175 PUSHINT
-            ....s2 PUSH
-            ....s0 s2 XCHG
-            ....16 PUSHINT
-            ....DICTUSETREF
-            ....NEWC
-            ....s0 s1 XCHG
-            ....NEWC
-            ....STDICT
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ....0 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....ROT
-            ....s0 PUSH
-            ....ISNULL
-            ....NOT
-            ....<{
-            ......-1 PUSHINT
-            ......ROT
-            ......1 STI
-            ......s0 s1 XCHG
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......1 UNTUPLE
-            ......2971230874 PUSHINT
-            ......ROT
-            ......32 STU
-            ......257 PUSHINT
-            ......STIX
-            ....}> PUSHCONT
-            ....<{
-            ......s0 POP
-            ......0 PUSHINT
-            ......s0 s1 XCHG
-            ......1 STI
-            ....}> PUSHCONT
-            ....IFELSE
-            ....ENDC
-            ..}>
-            ..?fun_ref_692fda53369ed802 PROCREF:<{
-            ....1 PUSHINT
-            ....1 TUPLE
-            ....?fun_ref_a0eacc9676d4e13d INLINECALLDICT
-            ....NULL
-            ....?fun_ref_a0eacc9676d4e13d INLINECALLDICT
-            ....1 PUSHINT
-            ....?fun_ref_a0eacc9676d4e13d INLINECALLDICT
-            ....1 PUSHINT
-            ....1 TUPLE
-            ....s0 POP
-            ....NULL
-            ....s0 POP
-            ....1 PUSHINT
-            ....?fun_ref_ee6e8b26e5656e82 INLINECALLDICT
-            ....s0 POP
-            ..}>
-            ..?fun_ref_a0eacc9676d4e13d PROCREF:<{
-            ....s0 POP
-            ..}>
-            ..?fun_ref_bc0f7ff2672522e8 PROCREF:<{
-            ....2 SAVE
-            ....SAMEALTSAVE
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....0 EQINT
-            ....<{
-            ......HASHSU
-            ......80416760937470256574205143064822765317873105370604638581169614883119666509557 PUSHINT
-            ......EQUAL
-            ......<{
-            ........?fun_ref_692fda53369ed802 INLINECALLDICT
-            ........-1 PUSHINT
-            ........RETFALSE
-            ......}> PUSHCONT
-            ......IFJMP
-            ....}> PUSHCONT
-            ....<{
-            ......s0 POP
-            ....}> PUSHCONT
-            ....IFELSE
-            ....0 PUSHINT
-            ..}>
-            ..?fun_ref_c2fcb182f1814c3f PROCREF:<{
-            ....3 GETGLOBVAR
-            ....1 PUSHINT
-            ....1 TUPLE
-            ....?fun_ref_554772b4aae59ccf INLINECALLDICT
-            ..}>
-            ..?fun_ref_cf24b18cf8fe8b89 PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......LDREF
-            ......LDREF
-            ......ROTREV
-            ......1 2 BLKDROP2
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 POP
-            ....?fun_ref_c2fcb182f1814c3f INLINECALLDICT
-            ..}>
-            ..?fun_ref_ee6e8b26e5656e82 PROCREF:<{
-            ....1 TUPLE
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt2.code.fc b/src/test/features/output/optionals_Opt2.code.fc deleted file mode 100644 index e0802e76f..000000000 --- a/src/test/features/output/optionals_Opt2.code.fc +++ /dev/null @@ -1,130 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "optionals_Opt2.headers.fc"; -#include "optionals_Opt2.stdlib.fc"; -#include "optionals_Opt2.storage.fc"; - -;; -;; Contract Opt2 functions -;; - -((cell, cell)) $Opt2$_contract_init() impure inline_ref { - var ((($self'stateInit'code, $self'stateInit'data))) = (null()); - ($self'stateInit'code, $self'stateInit'data) = $Opt3$_init_child(__tact_context_sys, $Struct2$_as_optional($Struct2$_constructor_v(1))); - return (($self'stateInit'code, $self'stateInit'data)); -} - -(tuple) $global_sample3(tuple $src) impure inline_ref { - var ($src) = $src; - return $OptStruct$_constructor_s($src); -} - -(tuple) $global_sample4((int) $src) impure inline_ref { - var (($src'v)) = $src; - return $OptStruct$_constructor_s($Struct2$_as_optional(($src'v))); -} - -(((cell, cell)), ()) $Opt2$_fun_sample(((cell, cell)) $self, tuple $src) impure inline_ref { - var ((($self'stateInit'code, $self'stateInit'data))) = $self; - var ($src) = $src; - return ((($self'stateInit'code, $self'stateInit'data)), ()); -} - -(((cell, cell)), ()) $Opt2$_fun_sample2(((cell, cell)) $self, (int) $src) impure inline_ref { - var ((($self'stateInit'code, $self'stateInit'data))) = $self; - var (($src'v)) = $src; - return ((($self'stateInit'code, $self'stateInit'data)), ()); -} - -;; -;; Receivers of a Contract Opt2 -;; - -(((cell, cell)), ()) $Opt2$_internal_text_b1ca4612e051af84e43ede13a404d52d88e1da5852309143c4f99941663f36f5(((cell, cell)) $self) impure inline { - var (($self'stateInit'code, $self'stateInit'data)) = $self; - (($self'stateInit'code, $self'stateInit'data))~$Opt2$_fun_sample($Struct2$_as_optional($Struct2$_constructor_v(1))); - (($self'stateInit'code, $self'stateInit'data))~$Opt2$_fun_sample(null()); - (($self'stateInit'code, $self'stateInit'data))~$Opt2$_fun_sample2($Struct2$_tensor_cast($Struct2$_constructor_v(1))); - $global_sample3($Struct2$_as_optional($Struct2$_constructor_v(1))); - $global_sample3(null()); - $global_sample4($Struct2$_constructor_v(1)); - return ((($self'stateInit'code, $self'stateInit'data)), ()); -} - -;; -;; Get methods of a Contract Opt2 -;; - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.any.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmYVWb9pPZhWrttebW3vo2BcQaeRk1T64DKomRKjTXjiJF"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Opt2 -;; - -(((cell, cell)), int) $Opt2$_contract_router_internal(((cell, cell)) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Test" message - if (text_op == 0xb1ca4612e051af84e43ede13a404d52d88e1da5852309143c4f99941663f36f5) { - self~$Opt2$_internal_text_b1ca4612e051af84e43ede13a404d52d88e1da5852309143c4f99941663f36f5(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Opt2$_contract_load(); - - ;; Handle operation - int handled = self~$Opt2$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Opt2$_contract_store(self); -} diff --git a/src/test/features/output/optionals_Opt2.code.fif b/src/test/features/output/optionals_Opt2.code.fif deleted file mode 100644 index c11a4f1f9..000000000 --- a/src/test/features/output/optionals_Opt2.code.fif +++ /dev/null @@ -1,286 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_dict_set_code - DECLPROC __tact_dict_get_code - DECLPROC $StateInit$_store - DECLPROC $StateInit$_load - DECLPROC $Struct2$_store - DECLPROC $Opt2$_store - DECLPROC $Opt2$_load - DECLPROC $Struct2$_not_null - DECLPROC $Struct2$_as_optional - DECLPROC $Opt3$init$_store - DECLPROC $Opt3$_init_child - DECLPROC $Struct2$_constructor_v - DECLPROC $Opt2$_contract_init - DECLPROC $Opt2$_contract_load - DECLPROC $Opt2$_contract_store - DECLPROC $OptStruct$_constructor_s - DECLPROC $global_sample3 - DECLPROC $global_sample4 - DECLPROC $Opt2$_fun_sample - DECLPROC $Opt2$_fun_sample2 - DECLPROC $Opt2$_internal_text_b1ca4612e051af84e43ede13a404d52d88e1da5852309143c4f99941663f36f5 - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Opt2$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 10 PUSHPOW2 - EQUAL - SWAP - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - }> - __tact_dict_set_code PROCINLINE:<{ - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - }> - __tact_dict_get_code PROCINLINE:<{ - SWAP - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - }> - $StateInit$_store PROCINLINE:<{ - s0 s2 XCHG - STREF - STREF - }> - $StateInit$_load PROCINLINE:<{ - LDREF - LDREF - -ROT - }> - $Struct2$_store PROCINLINE:<{ - 2971230874 PUSHINT - ROT - 32 STU - 257 PUSHINT - STIX - }> - $Opt2$_store PROCINLINE:<{ - $StateInit$_store INLINECALLDICT - }> - $Opt2$_load PROCINLINE:<{ - $StateInit$_load INLINECALLDICT - }> - $Struct2$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 1 UNTUPLE - }> - $Struct2$_as_optional PROCINLINE:<{ - 1 TUPLE - }> - $Opt3$init$_store PROCINLINE:<{ - DUP - ISNULL - NOT - IF:<{ - TRUE - ROT - 1 STI - SWAP - $Struct2$_not_null INLINECALLDICT - $Struct2$_store INLINECALLDICT - }>ELSE<{ - DROP - FALSE - SWAP - 1 STI - }> - }> - $Opt3$_init_child PROCREF:<{ - SWAP - CTOS - LDDICT - DROP - NEWDICT - SWAP - 41175 PUSHINT - __tact_dict_get_code INLINECALLDICT - SWAP - 41175 PUSHINT - s2 PUSH - __tact_dict_set_code INLINECALLDICT - NEWC - SWAP - NEWC - STDICT - ENDC - SWAP - STREF - FALSE - SWAP - 1 STI - ROT - $Opt3$init$_store INLINECALLDICT - ENDC - }> - $Struct2$_constructor_v PROCINLINE:<{ - }> - $Opt2$_contract_init PROCREF:<{ - __tact_context_sys GETGLOB - 1 PUSHINT - $Struct2$_constructor_v INLINECALLDICT - $Struct2$_as_optional INLINECALLDICT - $Opt3$_init_child INLINECALLDICT - }> - $Opt2$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $Opt2$_load INLINECALLDICT - 1 2 BLKDROP2 - }> - DROP - $Opt2$_contract_init INLINECALLDICT - }> - $Opt2$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - -ROT - $Opt2$_store INLINECALLDICT - ENDC - c4 POP - }> - $OptStruct$_constructor_s PROCINLINE:<{ - }> - $global_sample3 PROCREF:<{ - $OptStruct$_constructor_s INLINECALLDICT - }> - $global_sample4 PROCREF:<{ - $Struct2$_as_optional INLINECALLDICT - $OptStruct$_constructor_s INLINECALLDICT - }> - $Opt2$_fun_sample PROCREF:<{ - DROP - }> - $Opt2$_fun_sample2 PROCREF:<{ - DROP - }> - $Opt2$_internal_text_b1ca4612e051af84e43ede13a404d52d88e1da5852309143c4f99941663f36f5 PROCINLINE:<{ - 1 PUSHINT - $Struct2$_constructor_v INLINECALLDICT - $Struct2$_as_optional INLINECALLDICT - $Opt2$_fun_sample INLINECALLDICT - PUSHNULL - $Opt2$_fun_sample INLINECALLDICT - 1 PUSHINT - $Struct2$_constructor_v INLINECALLDICT - $Opt2$_fun_sample2 INLINECALLDICT - 1 PUSHINT - $Struct2$_constructor_v INLINECALLDICT - $Struct2$_as_optional INLINECALLDICT - $global_sample3 INLINECALLDICT - DROP - PUSHNULL - $global_sample3 INLINECALLDICT - DROP - 1 PUSHINT - $Struct2$_constructor_v INLINECALLDICT - $global_sample4 INLINECALLDICT - DROP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 289074767680806556846472852687671582181 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d595657623970505a685772747465625733766f324263516165526b31543634444b6f6d524b6a54586a694a46} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Opt2$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 0 EQINT - IF:<{ - HASHSU - 80416760937470256574205143064822765317873105370604638581169614883119666509557 PUSHINT - EQUAL - IFJMP:<{ - $Opt2$_internal_text_b1ca4612e051af84e43ede13a404d52d88e1da5852309143c4f99941663f36f5 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Opt2$_contract_load INLINECALLDICT - 2SWAP - $Opt2$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Opt2$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/optionals_Opt2.code.rev.fif b/src/test/features/output/optionals_Opt2.code.rev.fif deleted file mode 100644 index fa5d28c45..000000000 --- a/src/test/features/output/optionals_Opt2.code.rev.fif +++ /dev/null @@ -1,220 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_554772b4aae59ccf; - DECLPROC ?fun_ref_692fda53369ed802; - DECLPROC ?fun_ref_a0eacc9676d4e13d; - DECLPROC ?fun_ref_bc0f7ff2672522e8; - DECLPROC ?fun_ref_c2fcb182f1814c3f; - DECLPROC ?fun_ref_cf24b18cf8fe8b89; - DECLPROC ?fun_ref_ee6e8b26e5656e82; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_cf24b18cf8fe8b89 INLINECALLDICT - SWAP2 - ?fun_ref_bc0f7ff2672522e8 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ROTREV - s0 s2 XCHG - STREF - STREF - ENDC - c4 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 289074767680806556846472852687671582181 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D595657623970505A685772747465625733766F324263516165526B31543634444B6F6D524B6A54586A694A4682_} PUSHSLICE - }> - ?fun_ref_554772b4aae59ccf PROCREF:<{ - s0 s1 XCHG - CTOS - LDDICT - s0 POP - NULL - s0 s1 XCHG - 41175 PUSHINT - s0 s1 XCHG - 16 PUSHINT - DICTUGETREF - NULLSWAPIFNOT - 135 THROWIFNOT - s0 s1 XCHG - 41175 PUSHINT - s2 PUSH - s0 s2 XCHG - 16 PUSHINT - DICTUSETREF - NEWC - s0 s1 XCHG - NEWC - STDICT - ENDC - s0 s1 XCHG - STREF - 0 PUSHINT - s0 s1 XCHG - 1 STI - ROT - s0 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - ROT - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - 1 UNTUPLE - 2971230874 PUSHINT - ROT - 32 STU - 257 PUSHINT - STIX - }> PUSHCONT - <{ - s0 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - }> - ?fun_ref_692fda53369ed802 PROCREF:<{ - 1 PUSHINT - 1 TUPLE - ?fun_ref_a0eacc9676d4e13d INLINECALLDICT - NULL - ?fun_ref_a0eacc9676d4e13d INLINECALLDICT - 1 PUSHINT - ?fun_ref_a0eacc9676d4e13d INLINECALLDICT - 1 PUSHINT - 1 TUPLE - s0 POP - NULL - s0 POP - 1 PUSHINT - ?fun_ref_ee6e8b26e5656e82 INLINECALLDICT - s0 POP - }> - ?fun_ref_a0eacc9676d4e13d PROCREF:<{ - s0 POP - }> - ?fun_ref_bc0f7ff2672522e8 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 0 EQINT - <{ - HASHSU - 80416760937470256574205143064822765317873105370604638581169614883119666509557 PUSHINT - EQUAL - <{ - ?fun_ref_692fda53369ed802 INLINECALLDICT - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - 0 PUSHINT - }> - ?fun_ref_c2fcb182f1814c3f PROCREF:<{ - 3 GETGLOBVAR - 1 PUSHINT - 1 TUPLE - ?fun_ref_554772b4aae59ccf INLINECALLDICT - }> - ?fun_ref_cf24b18cf8fe8b89 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDREF - LDREF - ROTREV - 1 2 BLKDROP2 - }> PUSHCONT - IFJMP - s0 POP - ?fun_ref_c2fcb182f1814c3f INLINECALLDICT - }> - ?fun_ref_ee6e8b26e5656e82 PROCREF:<{ - 1 TUPLE - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt2.headers.fc b/src/test/features/output/optionals_Opt2.headers.fc deleted file mode 100644 index a3c7a13d3..000000000 --- a/src/test/features/output/optionals_Opt2.headers.fc +++ /dev/null @@ -1,67 +0,0 @@ -;; -;; Header files for Opt2 -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_dict_set_code -cell __tact_dict_set_code(cell dict, int id, cell code) inline; - -;; __tact_dict_get_code -cell __tact_dict_get_code(cell dict, int id) inline; - -;; $StateInit$_store -builder $StateInit$_store(builder build_0, (cell, cell) v) inline; - -;; $StateInit$_load -(slice, ((cell, cell))) $StateInit$_load(slice sc_0) inline; - -;; $Struct2$_store -builder $Struct2$_store(builder build_0, (int) v) inline; - -;; $Opt2$_store -builder $Opt2$_store(builder build_0, ((cell, cell)) v) inline; - -;; $Opt2$_load -(slice, (((cell, cell)))) $Opt2$_load(slice sc_0) inline; - -;; $Struct2$_not_null -((int)) $Struct2$_not_null(tuple v) inline; - -;; $Struct2$_as_optional -tuple $Struct2$_as_optional((int) v) inline; - -;; $Opt3$init$_store -builder $Opt3$init$_store(builder build_0, (tuple) v) inline; - -;; $Opt3$_init_child -(cell, cell) $Opt3$_init_child(cell sys', tuple $arg) inline_ref; - -;; $Struct2$_constructor_v -((int)) $Struct2$_constructor_v(int v) inline; - -;; $Opt2$_contract_init -((cell, cell)) $Opt2$_contract_init() impure inline_ref; - -;; $Opt2$_contract_load -((cell, cell)) $Opt2$_contract_load() impure inline_ref; - -;; $Opt2$_contract_store -() $Opt2$_contract_store(((cell, cell)) v) impure inline; - -;; $OptStruct$_constructor_s -((tuple)) $OptStruct$_constructor_s(tuple s) inline; - -;; $global_sample3 -(tuple) $global_sample3(tuple $src) impure inline_ref; - -;; $global_sample4 -(tuple) $global_sample4((int) $src) impure inline_ref; - -;; $Opt2$_fun_sample -(((cell, cell)), ()) $Opt2$_fun_sample(((cell, cell)) $self, tuple $src) impure inline_ref; - -;; $Opt2$_fun_sample2 -(((cell, cell)), ()) $Opt2$_fun_sample2(((cell, cell)) $self, (int) $src) impure inline_ref; diff --git a/src/test/features/output/optionals_Opt2.md b/src/test/features/output/optionals_Opt2.md deleted file mode 100644 index 44312e4a7..000000000 --- a/src/test/features/output/optionals_Opt2.md +++ /dev/null @@ -1,67 +0,0 @@ -# TACT Compilation Report -Contract: Opt2 -BOC Size: 520 bytes - -# Types -Total Types: 8 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Struct2 -TLB: `struct2#b119629a v:int257 = Struct2` -Signature: `Struct2{v:int257}` - -## OptStruct -TLB: `_ s:Maybe Struct2{v:int257} = OptStruct` -Signature: `OptStruct{s:Maybe Struct2{v:int257}}` - -## SomeGenericStruct -TLB: `_ value1:int257 value2:int257 value3:int257 value4:int257 value5:int257 = SomeGenericStruct` -Signature: `SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}` - -## StructWithOptionals -TLB: `_ a:Maybe int257 b:Maybe bool c:Maybe ^cell d:Maybe address e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257} = StructWithOptionals` -Signature: `StructWithOptionals{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}}` - -## Update -TLB: `update#1554fcfd a:Maybe int257 b:Maybe bool c:Maybe ^cell d:Maybe address e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257} f:Maybe StructWithOptionals{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}} = Update` -Signature: `Update{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257},f:Maybe StructWithOptionals{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}}}` - -# Get Methods -Total Get Methods: 0 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt2.pkg b/src/test/features/output/optionals_Opt2.pkg deleted file mode 100644 index 5ddfbb89d..000000000 --- a/src/test/features/output/optionals_Opt2.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Opt2","code":"te6ccgECEAEAAfwAART/APSkE/S88sgLAQIBYgIDApbQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIVFBTA28E+GEC+GLbPFrbPPLggsj4QwHMfwHKAFkCzMzJ7VQEBQIBWAwNASjtRNDUAfhj0gABldTUWWwS4DDbPAYBlu2i7fsBkjB/4HAh10nCH5UwINcLH97AAI6t+QGC8LHKRhLgUa+E5D7eE6QE1S2I4dpYUjCRQ8T5mUFmPzb1uo6F2zx/2zHgkTDicAgBDvhDcW8B2zwHAKgB0PQEMG0BggCg1wGAEPQPb6Hy4IcBggCg1yICgBD0F8gByPQAyQHMcAHKAFggbrOOGn9YygABIG7y0IBvIYIQsRlimljLH4EBAc8AlTBwAcoA4skEJHFvAds8bds8cds8cW8BMG0wcQkJCQoAAjABBts8MAsABG8BALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnDZecZujDm8J6y2oTE1uN3lgCAUgODwARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1ZVldiOXBQWmhXcnR0ZWJXM3ZvMkJjUWFlUmsxVDY0REtvbVJLalRYamlKRoIA==","abi":"{\"name\":\"Opt2\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Struct2\",\"header\":2971230874,\"fields\":[{\"name\":\"v\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"OptStruct\",\"header\":null,\"fields\":[{\"name\":\"s\",\"type\":{\"kind\":\"simple\",\"type\":\"Struct2\",\"optional\":true}}]},{\"name\":\"SomeGenericStruct\",\"header\":null,\"fields\":[{\"name\":\"value1\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value2\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value3\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value4\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value5\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"StructWithOptionals\",\"header\":null,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}},{\"name\":\"c\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"d\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"e\",\"type\":{\"kind\":\"simple\",\"type\":\"SomeGenericStruct\",\"optional\":true}}]},{\"name\":\"Update\",\"header\":357891325,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}},{\"name\":\"c\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"d\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"e\",\"type\":{\"kind\":\"simple\",\"type\":\"SomeGenericStruct\",\"optional\":true}},{\"name\":\"f\",\"type\":{\"kind\":\"simple\",\"type\":\"StructWithOptionals\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Test\"}}],\"getters\":[],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.any.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECEgEAAgYAAQHAAQEFoWHtAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVlWV2I5cFBaaFdydHRlYlczdm8yQmNRYWVSazFUNjRES29tUktqVFhqaUpGggABGwr7tRNDSAAGAAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcNl5xm6MObwnrLahMTW43eWAKW0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiFRQUwNvBPhhAvhi2zxa2zzy4ILI+EMBzH8BygBZAszMye1UDwoBlu2i7fsBkjB/4HAh10nCH5UwINcLH97AAI6t+QGC8LHKRhLgUa+E5D7eE6QE1S2I4dpYUjCRQ8T5mUFmPzb1uo6F2zx/2zHgkTDicAsEJHFvAds8bds8cds8cW8BMG0wcQ4ODgwBBts8MA0ABG8BAAIwASjtRNDUAfhj0gABldTUWWwS4DDbPBABDvhDcW8B2zwRAKgB0PQEMG0BggCg1wGAEPQPb6Hy4IcBggCg1yICgBD0F8gByPQAyQHMcAHKAFggbrOOGn9YygABIG7y0IBvIYIQsRlimljLH4EBAc8AlTBwAcoA4snx6x4N"}},"sources":{"src\\test\\features\\optionals-2.tact":"ZnVuIHNhbXBsZTMoc3JjOiBTdHJ1Y3QyPyk6IE9wdFN0cnVjdCB7DQogICAgcmV0dXJuIE9wdFN0cnVjdHtzOiBzcmN9Ow0KfQ0KDQpmdW4gc2FtcGxlNChzcmM6IFN0cnVjdDIpOiBPcHRTdHJ1Y3Qgew0KICAgIHJldHVybiBPcHRTdHJ1Y3R7czogc3JjfTsNCn0NCg0KbWVzc2FnZSBTdHJ1Y3QyIHsNCiAgICB2OiBJbnQ7DQp9DQoNCnN0cnVjdCBPcHRTdHJ1Y3Qgew0KICAgIHM6IFN0cnVjdDI/Ow0KfQ0KDQpjb250cmFjdCBPcHQyIHsNCiAgICBzdGF0ZUluaXQ6IFN0YXRlSW5pdDsNCiAgICBpbml0KCkgew0KICAgICAgICBzZWxmLnN0YXRlSW5pdCA9IGluaXRPZiBPcHQzKFN0cnVjdDJ7djogMX0pOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoIlRlc3QiKSB7DQogICAgICAgIHNlbGYuc2FtcGxlKFN0cnVjdDJ7djogMX0pOw0KICAgICAgICBzZWxmLnNhbXBsZShudWxsKTsNCiAgICAgICAgc2VsZi5zYW1wbGUyKFN0cnVjdDJ7djogMX0pOw0KICAgICAgICBzYW1wbGUzKFN0cnVjdDJ7djogMX0pOw0KICAgICAgICBzYW1wbGUzKG51bGwpOw0KICAgICAgICBzYW1wbGU0KFN0cnVjdDJ7djogMX0pOw0KICAgIH0NCg0KICAgIGZ1biBzYW1wbGUoc3JjOiBTdHJ1Y3QyPykgew0KDQogICAgfQ0KDQogICAgZnVuIHNhbXBsZTIoc3JjOiBTdHJ1Y3QyKSB7DQoNCiAgICB9DQp9DQoNCmNvbnRyYWN0IE9wdDMgew0KICAgIGluaXQoYXJnOiBTdHJ1Y3QyPykgew0KICAgICAgICANCiAgICB9DQp9","src\\test\\features\\optionals.tact":"aW1wb3J0ICIuL29wdGlvbmFscy0yLnRhY3QiOw0Kc3RydWN0IFNvbWVHZW5lcmljU3RydWN0IHsNCiAgICB2YWx1ZTE6IEludDsNCiAgICB2YWx1ZTI6IEludDsNCiAgICB2YWx1ZTM6IEludDsNCiAgICB2YWx1ZTQ6IEludDsNCiAgICB2YWx1ZTU6IEludDsNCn0NCg0Kc3RydWN0IFN0cnVjdFdpdGhPcHRpb25hbHMgew0KICAgIGE6IEludD87DQogICAgYjogQm9vbD87DQogICAgYzogQ2VsbD87DQogICAgZDogQWRkcmVzcz87DQogICAgZTogU29tZUdlbmVyaWNTdHJ1Y3Q/Ow0KfQ0KDQptZXNzYWdlIFVwZGF0ZSB7DQogICAgYTogSW50PzsNCiAgICBiOiBCb29sPzsNCiAgICBjOiBDZWxsPzsNCiAgICBkOiBBZGRyZXNzPzsNCiAgICBlOiBTb21lR2VuZXJpY1N0cnVjdD87DQogICAgZjogU3RydWN0V2l0aE9wdGlvbmFscz87DQp9DQoNCmNvbnRyYWN0IENvbnRyYWN0V2l0aE9wdGlvbmFscyB7DQoNCiAgICBhOiBJbnQ/Ow0KICAgIGI6IEJvb2w/Ow0KICAgIGM6IENlbGw/Ow0KICAgIGQ6IEFkZHJlc3M/Ow0KICAgIGU6IFNvbWVHZW5lcmljU3RydWN0PzsNCiAgICBmOiBTdHJ1Y3RXaXRoT3B0aW9uYWxzPzsNCg0KICAgIGluaXQoYTogSW50PywgYjogQm9vbD8sIGM6IENlbGw/LCBkOiBBZGRyZXNzPywgZTogU29tZUdlbmVyaWNTdHJ1Y3Q/LCBmOiBTdHJ1Y3RXaXRoT3B0aW9uYWxzPykgew0KICAgICAgICBzZWxmLmEgPSBhOw0KICAgICAgICBzZWxmLmIgPSBiOw0KICAgICAgICBzZWxmLmMgPSBjOw0KICAgICAgICBzZWxmLmQgPSBkOw0KICAgICAgICBzZWxmLmUgPSBlOw0KICAgICAgICBzZWxmLmYgPSBmOw0KDQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYik7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYyk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZCk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZik7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgpIHsNCiAgICAgICAgLy8gRGVwbG95DQogICAgfQ0KDQogICAgcmVjZWl2ZShtc2c6IFVwZGF0ZSkgew0KICAgICAgICBzZWxmLmEgPSBtc2cuYTsNCiAgICAgICAgc2VsZi5iID0gbXNnLmI7DQogICAgICAgIHNlbGYuYyA9IG1zZy5jOw0KICAgICAgICBzZWxmLmQgPSBtc2cuZDsNCiAgICAgICAgc2VsZi5lID0gbXNnLmU7DQogICAgICAgIHNlbGYuZiA9IG1zZy5mOw0KDQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYik7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYyk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZCk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZik7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpc05vdE51bGxBKCk6IEJvb2wgew0KICAgICAgICByZXR1cm4gc2VsZi5hICE9IG51bGw7DQogICAgfQ0KICAgIGdldCBmdW4gaXNOb3ROdWxsQigpOiBCb29sIHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYiAhPSBudWxsOw0KICAgIH0NCiAgICBnZXQgZnVuIGlzTm90TnVsbEMoKTogQm9vbCB7DQogICAgICAgIHJldHVybiBzZWxmLmMgIT0gbnVsbDsNCiAgICB9DQogICAgZ2V0IGZ1biBpc05vdE51bGxEKCk6IEJvb2wgew0KICAgICAgICByZXR1cm4gc2VsZi5kICE9IG51bGw7DQogICAgfQ0KICAgIGdldCBmdW4gaXNOb3ROdWxsRSgpOiBCb29sIHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZSAhPSBudWxsOw0KICAgIH0NCiAgICBnZXQgZnVuIGlzTm90TnVsbEYoKTogQm9vbCB7DQogICAgICAgIHJldHVybiBzZWxmLmYgIT0gbnVsbDsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG51bGxBKCk6IEludD8gew0KICAgICAgICByZXR1cm4gc2VsZi5hOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbnVsbEIoKTogQm9vbD8gew0KICAgICAgICByZXR1cm4gc2VsZi5iOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbnVsbEMoKTogQ2VsbD8gew0KICAgICAgICByZXR1cm4gc2VsZi5jOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbnVsbEQoKTogQWRkcmVzcz8gew0KICAgICAgICByZXR1cm4gc2VsZi5kOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbnVsbEUoKTogU29tZUdlbmVyaWNTdHJ1Y3Q/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG51bGxGKCk6IFN0cnVjdFdpdGhPcHRpb25hbHM/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZjsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG5vdE51bGxBKCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLmEhITsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG5vdE51bGxCKCk6IEJvb2wgew0KICAgICAgICByZXR1cm4gc2VsZi5iISE7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBub3ROdWxsQygpOiBDZWxsIHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYyEhOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbm90TnVsbEQoKTogQWRkcmVzcyB7DQogICAgICAgIHJldHVybiBzZWxmLmQhITsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG5vdE51bGxFKCk6IFNvbWVHZW5lcmljU3RydWN0IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZSEhOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbm90TnVsbEYoKTogU3RydWN0V2l0aE9wdGlvbmFscyB7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYik7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYyk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZCk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZik7DQogICAgICAgIHJldHVybiBzZWxmLmYhITsNCiAgICB9DQoNCiAgICBnZXQgZnVuIHRlc3RWYXJpYWJsZXMoKTogU29tZUdlbmVyaWNTdHJ1Y3Qgew0KICAgICAgICBsZXQgYTogU29tZUdlbmVyaWNTdHJ1Y3Q/ID0gU29tZUdlbmVyaWNTdHJ1Y3R7dmFsdWUxOiAxLCB2YWx1ZTI6IDIsIHZhbHVlMzogMywgdmFsdWU0OiA0LCB2YWx1ZTU6IDV9Ow0KICAgICAgICByZXR1cm4gYSEhOw0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/optionals.tact\",\"options\":{\"debug\":true,\"masterchain\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt2.stdlib.fc b/src/test/features/output/optionals_Opt2.stdlib.fc deleted file mode 100644 index ce57cadf9..000000000 --- a/src/test/features/output/optionals_Opt2.stdlib.fc +++ /dev/null @@ -1,25 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_unless(136, (h == 1024) | (h == 1279)); - return address; -} - -cell __tact_dict_set_code(cell dict, int id, cell code) inline { - return udict_set_ref(dict, 16, id, code); -} - -cell __tact_dict_get_code(cell dict, int id) inline { - var (data, ok) = udict_get_ref?(dict, 16, id); - throw_unless(135, ok); - return data; -} - -forall X0 -> tuple __tact_tuple_create_1((X0) v) asm "1 TUPLE"; - -forall X0 -> (X0) __tact_tuple_destroy_1(tuple v) asm "1 UNTUPLE"; \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt2.storage.fc b/src/test/features/output/optionals_Opt2.storage.fc deleted file mode 100644 index 45cdf459d..000000000 --- a/src/test/features/output/optionals_Opt2.storage.fc +++ /dev/null @@ -1,117 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -builder $StateInit$_store(builder build_0, (cell, cell) v) inline { - var (v'code, v'data) = v; - build_0 = build_0.store_ref(v'code); - build_0 = build_0.store_ref(v'data); - return build_0; -} - -(slice, ((cell, cell))) $StateInit$_load(slice sc_0) inline { - var v'code = sc_0~load_ref(); - var v'data = sc_0~load_ref(); - return (sc_0, (v'code, v'data)); -} - -;; -;; Type: Struct2 -;; Header: 0xb119629a -;; TLB: struct2#b119629a v:int257 = Struct2 -;; - -builder $Struct2$_store(builder build_0, (int) v) inline { - var (v'v) = v; - build_0 = store_uint(build_0, 2971230874, 32); - build_0 = build_0.store_int(v'v, 257); - return build_0; -} - -((int)) $Struct2$_tensor_cast((int) v) asm "NOP"; - -((int)) $Struct2$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (int vvv'v) = __tact_tuple_destroy_1(v); - return (vvv'v); -} - -tuple $Struct2$_as_optional((int) v) inline { - var (v'v) = v; - return __tact_tuple_create_1(v'v); -} - -((int)) $Struct2$_constructor_v(int v) inline { - return (v); -} - -;; -;; Type: OptStruct -;; TLB: _ s:Maybe Struct2{v:int257} = OptStruct -;; - -((tuple)) $OptStruct$_constructor_s(tuple s) inline { - return (s); -} - -;; -;; Type: Opt2 -;; - -builder $Opt2$_store(builder build_0, ((cell, cell)) v) inline { - var ((v'stateInit'code, v'stateInit'data)) = v; - build_0 = $StateInit$_store(build_0, (v'stateInit'code, v'stateInit'data)); - return build_0; -} - -(slice, (((cell, cell)))) $Opt2$_load(slice sc_0) inline { - var v'stateInit = sc_0~$StateInit$_load(); - return (sc_0, (v'stateInit)); -} - -((cell, cell)) $Opt2$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$Opt2$_load(); - } else { - return $Opt2$_contract_init(); - } -} - -() $Opt2$_contract_store(((cell, cell)) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $Opt2$_store(b, v); - set_data(b.end_cell()); -} - -;; -;; Type: Opt3 -;; - -builder $Opt3$init$_store(builder build_0, (tuple) v) inline { - var (v'arg) = v; - build_0 = ~ null?(v'arg) ? build_0.store_int(true, 1).$Struct2$_store($Struct2$_not_null(v'arg)) : build_0.store_int(false, 1); - return build_0; -} - -(cell, cell) $Opt3$_init_child(cell sys', tuple $arg) inline_ref { - slice sc' = sys'.begin_parse(); - cell source = sc'~load_dict(); - cell contracts = new_dict(); - - ;; Contract Code: Opt3 - cell mine = __tact_dict_get_code(source, 41175); - contracts = __tact_dict_set_code(contracts, 41175, mine); - - ;; Build cell - builder b = begin_cell(); - b = b.store_ref(begin_cell().store_dict(contracts).end_cell()); - b = b.store_int(false, 1); - b = $Opt3$init$_store(b, ($arg)); - return (mine, b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt2.ts b/src/test/features/output/optionals_Opt2.ts deleted file mode 100644 index 956b0a7c2..000000000 --- a/src/test/features/output/optionals_Opt2.ts +++ /dev/null @@ -1,602 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Struct2 = { - $$type: 'Struct2'; - v: bigint; -} - -export function storeStruct2(src: Struct2) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2971230874, 32); - b_0.storeInt(src.v, 257); - }; -} - -export function loadStruct2(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2971230874) { throw Error('Invalid prefix'); } - let _v = sc_0.loadIntBig(257); - return { $$type: 'Struct2' as const, v: _v }; -} - -function loadTupleStruct2(source: TupleReader) { - let _v = source.readBigNumber(); - return { $$type: 'Struct2' as const, v: _v }; -} - -function storeTupleStruct2(source: Struct2) { - let builder = new TupleBuilder(); - builder.writeNumber(source.v); - return builder.build(); -} - -function dictValueParserStruct2(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStruct2(src)).endCell()); - }, - parse: (src) => { - return loadStruct2(src.loadRef().beginParse()); - } - } -} - -export type OptStruct = { - $$type: 'OptStruct'; - s: Struct2 | null; -} - -export function storeOptStruct(src: OptStruct) { - return (builder: Builder) => { - let b_0 = builder; - if (src.s !== null && src.s !== undefined) { b_0.storeBit(true); b_0.store(storeStruct2(src.s)); } else { b_0.storeBit(false); } - }; -} - -export function loadOptStruct(slice: Slice) { - let sc_0 = slice; - let _s = sc_0.loadBit() ? loadStruct2(sc_0) : null; - return { $$type: 'OptStruct' as const, s: _s }; -} - -function loadTupleOptStruct(source: TupleReader) { - const _s_p = source.readTupleOpt(); - const _s = _s_p ? loadTupleStruct2(_s_p) : null; - return { $$type: 'OptStruct' as const, s: _s }; -} - -function storeTupleOptStruct(source: OptStruct) { - let builder = new TupleBuilder(); - if (source.s !== null && source.s !== undefined) { - builder.writeTuple(storeTupleStruct2(source.s)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserOptStruct(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeOptStruct(src)).endCell()); - }, - parse: (src) => { - return loadOptStruct(src.loadRef().beginParse()); - } - } -} - -export type SomeGenericStruct = { - $$type: 'SomeGenericStruct'; - value1: bigint; - value2: bigint; - value3: bigint; - value4: bigint; - value5: bigint; -} - -export function storeSomeGenericStruct(src: SomeGenericStruct) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.value1, 257); - b_0.storeInt(src.value2, 257); - b_0.storeInt(src.value3, 257); - let b_1 = new Builder(); - b_1.storeInt(src.value4, 257); - b_1.storeInt(src.value5, 257); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadSomeGenericStruct(slice: Slice) { - let sc_0 = slice; - let _value1 = sc_0.loadIntBig(257); - let _value2 = sc_0.loadIntBig(257); - let _value3 = sc_0.loadIntBig(257); - let sc_1 = sc_0.loadRef().beginParse(); - let _value4 = sc_1.loadIntBig(257); - let _value5 = sc_1.loadIntBig(257); - return { $$type: 'SomeGenericStruct' as const, value1: _value1, value2: _value2, value3: _value3, value4: _value4, value5: _value5 }; -} - -function loadTupleSomeGenericStruct(source: TupleReader) { - let _value1 = source.readBigNumber(); - let _value2 = source.readBigNumber(); - let _value3 = source.readBigNumber(); - let _value4 = source.readBigNumber(); - let _value5 = source.readBigNumber(); - return { $$type: 'SomeGenericStruct' as const, value1: _value1, value2: _value2, value3: _value3, value4: _value4, value5: _value5 }; -} - -function storeTupleSomeGenericStruct(source: SomeGenericStruct) { - let builder = new TupleBuilder(); - builder.writeNumber(source.value1); - builder.writeNumber(source.value2); - builder.writeNumber(source.value3); - builder.writeNumber(source.value4); - builder.writeNumber(source.value5); - return builder.build(); -} - -function dictValueParserSomeGenericStruct(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSomeGenericStruct(src)).endCell()); - }, - parse: (src) => { - return loadSomeGenericStruct(src.loadRef().beginParse()); - } - } -} - -export type StructWithOptionals = { - $$type: 'StructWithOptionals'; - a: bigint | null; - b: boolean | null; - c: Cell | null; - d: Address | null; - e: SomeGenericStruct | null; -} - -export function storeStructWithOptionals(src: StructWithOptionals) { - return (builder: Builder) => { - let b_0 = builder; - if (src.a !== null && src.a !== undefined) { b_0.storeBit(true).storeInt(src.a, 257); } else { b_0.storeBit(false); } - if (src.b !== null && src.b !== undefined) { b_0.storeBit(true).storeBit(src.b); } else { b_0.storeBit(false); } - if (src.c !== null && src.c !== undefined) { b_0.storeBit(true).storeRef(src.c); } else { b_0.storeBit(false); } - b_0.storeAddress(src.d); - let b_1 = new Builder(); - if (src.e !== null && src.e !== undefined) { b_1.storeBit(true); b_1.store(storeSomeGenericStruct(src.e)); } else { b_1.storeBit(false); } - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadStructWithOptionals(slice: Slice) { - let sc_0 = slice; - let _a = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - let _b = sc_0.loadBit() ? sc_0.loadBit() : null; - let _c = sc_0.loadBit() ? sc_0.loadRef() : null; - let _d = sc_0.loadMaybeAddress(); - let sc_1 = sc_0.loadRef().beginParse(); - let _e = sc_1.loadBit() ? loadSomeGenericStruct(sc_1) : null; - return { $$type: 'StructWithOptionals' as const, a: _a, b: _b, c: _c, d: _d, e: _e }; -} - -function loadTupleStructWithOptionals(source: TupleReader) { - let _a = source.readBigNumberOpt(); - let _b = source.readBooleanOpt(); - let _c = source.readCellOpt(); - let _d = source.readAddressOpt(); - const _e_p = source.readTupleOpt(); - const _e = _e_p ? loadTupleSomeGenericStruct(_e_p) : null; - return { $$type: 'StructWithOptionals' as const, a: _a, b: _b, c: _c, d: _d, e: _e }; -} - -function storeTupleStructWithOptionals(source: StructWithOptionals) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeBoolean(source.b); - builder.writeCell(source.c); - builder.writeAddress(source.d); - if (source.e !== null && source.e !== undefined) { - builder.writeTuple(storeTupleSomeGenericStruct(source.e)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserStructWithOptionals(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStructWithOptionals(src)).endCell()); - }, - parse: (src) => { - return loadStructWithOptionals(src.loadRef().beginParse()); - } - } -} - -export type Update = { - $$type: 'Update'; - a: bigint | null; - b: boolean | null; - c: Cell | null; - d: Address | null; - e: SomeGenericStruct | null; - f: StructWithOptionals | null; -} - -export function storeUpdate(src: Update) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(357891325, 32); - if (src.a !== null && src.a !== undefined) { b_0.storeBit(true).storeInt(src.a, 257); } else { b_0.storeBit(false); } - if (src.b !== null && src.b !== undefined) { b_0.storeBit(true).storeBit(src.b); } else { b_0.storeBit(false); } - if (src.c !== null && src.c !== undefined) { b_0.storeBit(true).storeRef(src.c); } else { b_0.storeBit(false); } - b_0.storeAddress(src.d); - let b_1 = new Builder(); - if (src.e !== null && src.e !== undefined) { b_1.storeBit(true); b_1.store(storeSomeGenericStruct(src.e)); } else { b_1.storeBit(false); } - let b_2 = new Builder(); - if (src.f !== null && src.f !== undefined) { b_2.storeBit(true); b_2.store(storeStructWithOptionals(src.f)); } else { b_2.storeBit(false); } - b_1.storeRef(b_2.endCell()); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadUpdate(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 357891325) { throw Error('Invalid prefix'); } - let _a = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - let _b = sc_0.loadBit() ? sc_0.loadBit() : null; - let _c = sc_0.loadBit() ? sc_0.loadRef() : null; - let _d = sc_0.loadMaybeAddress(); - let sc_1 = sc_0.loadRef().beginParse(); - let _e = sc_1.loadBit() ? loadSomeGenericStruct(sc_1) : null; - let sc_2 = sc_1.loadRef().beginParse(); - let _f = sc_2.loadBit() ? loadStructWithOptionals(sc_2) : null; - return { $$type: 'Update' as const, a: _a, b: _b, c: _c, d: _d, e: _e, f: _f }; -} - -function loadTupleUpdate(source: TupleReader) { - let _a = source.readBigNumberOpt(); - let _b = source.readBooleanOpt(); - let _c = source.readCellOpt(); - let _d = source.readAddressOpt(); - const _e_p = source.readTupleOpt(); - const _e = _e_p ? loadTupleSomeGenericStruct(_e_p) : null; - const _f_p = source.readTupleOpt(); - const _f = _f_p ? loadTupleStructWithOptionals(_f_p) : null; - return { $$type: 'Update' as const, a: _a, b: _b, c: _c, d: _d, e: _e, f: _f }; -} - -function storeTupleUpdate(source: Update) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeBoolean(source.b); - builder.writeCell(source.c); - builder.writeAddress(source.d); - if (source.e !== null && source.e !== undefined) { - builder.writeTuple(storeTupleSomeGenericStruct(source.e)); - } else { - builder.writeTuple(null); - } - if (source.f !== null && source.f !== undefined) { - builder.writeTuple(storeTupleStructWithOptionals(source.f)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserUpdate(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeUpdate(src)).endCell()); - }, - parse: (src) => { - return loadUpdate(src.loadRef().beginParse()); - } - } -} - - type Opt2_init_args = { - $$type: 'Opt2_init_args'; -} - -function initOpt2_init_args(src: Opt2_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function Opt2_init() { - const __code = Cell.fromBase64('te6ccgECEAEAAfwAART/APSkE/S88sgLAQIBYgIDApbQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIVFBTA28E+GEC+GLbPFrbPPLggsj4QwHMfwHKAFkCzMzJ7VQEBQIBWAwNASjtRNDUAfhj0gABldTUWWwS4DDbPAYBlu2i7fsBkjB/4HAh10nCH5UwINcLH97AAI6t+QGC8LHKRhLgUa+E5D7eE6QE1S2I4dpYUjCRQ8T5mUFmPzb1uo6F2zx/2zHgkTDicAgBDvhDcW8B2zwHAKgB0PQEMG0BggCg1wGAEPQPb6Hy4IcBggCg1yICgBD0F8gByPQAyQHMcAHKAFggbrOOGn9YygABIG7y0IBvIYIQsRlimljLH4EBAc8AlTBwAcoA4skEJHFvAds8bds8cds8cW8BMG0wcQkJCQoAAjABBts8MAsABG8BALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnDZecZujDm8J6y2oTE1uN3lgCAUgODwARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1ZVldiOXBQWmhXcnR0ZWJXM3ZvMkJjUWFlUmsxVDY0REtvbVJLalRYamlKRoIA=='); - const __system = Cell.fromBase64('te6cckECEgEAAgYAAQHAAQEFoWHtAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVlWV2I5cFBaaFdydHRlYlczdm8yQmNRYWVSazFUNjRES29tUktqVFhqaUpGggABGwr7tRNDSAAGAAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcNl5xm6MObwnrLahMTW43eWAKW0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiFRQUwNvBPhhAvhi2zxa2zzy4ILI+EMBzH8BygBZAszMye1UDwoBlu2i7fsBkjB/4HAh10nCH5UwINcLH97AAI6t+QGC8LHKRhLgUa+E5D7eE6QE1S2I4dpYUjCRQ8T5mUFmPzb1uo6F2zx/2zHgkTDicAsEJHFvAds8bds8cds8cW8BMG0wcQ4ODgwBBts8MA0ABG8BAAIwASjtRNDUAfhj0gABldTUWWwS4DDbPBABDvhDcW8B2zwRAKgB0PQEMG0BggCg1wGAEPQPb6Hy4IcBggCg1yICgBD0F8gByPQAyQHMcAHKAFggbrOOGn9YygABIG7y0IBvIYIQsRlimljLH4EBAc8AlTBwAcoA4snx6x4N'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initOpt2_init_args({ $$type: 'Opt2_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Opt2_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const Opt2_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Struct2","header":2971230874,"fields":[{"name":"v","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"OptStruct","header":null,"fields":[{"name":"s","type":{"kind":"simple","type":"Struct2","optional":true}}]}, - {"name":"SomeGenericStruct","header":null,"fields":[{"name":"value1","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value2","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value3","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value4","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value5","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"StructWithOptionals","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}}]}, - {"name":"Update","header":357891325,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}},{"name":"f","type":{"kind":"simple","type":"StructWithOptionals","optional":true}}]}, -] - -const Opt2_getters: ABIGetter[] = [ -] - -const Opt2_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Test"}}, -] - -export class Opt2 implements Contract { - - static async init() { - return await Opt2_init(); - } - - static async fromInit() { - const init = await Opt2_init(); - const address = contractAddress(0, init); - return new Opt2(address, init); - } - - static fromAddress(address: Address) { - return new Opt2(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Opt2_types, - getters: Opt2_getters, - receivers: Opt2_receivers, - errors: Opt2_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Test') { - - let body: Cell | null = null; - if (message === 'Test') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - -} \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt3.abi b/src/test/features/output/optionals_Opt3.abi deleted file mode 100644 index 366f94cc2..000000000 --- a/src/test/features/output/optionals_Opt3.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"Opt3","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Struct2","header":2971230874,"fields":[{"name":"v","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"OptStruct","header":null,"fields":[{"name":"s","type":{"kind":"simple","type":"Struct2","optional":true}}]},{"name":"SomeGenericStruct","header":null,"fields":[{"name":"value1","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value2","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value3","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value4","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value5","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"StructWithOptionals","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}}]},{"name":"Update","header":357891325,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}},{"name":"f","type":{"kind":"simple","type":"StructWithOptionals","optional":true}}]}],"receivers":[],"getters":[],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.any.v0"]} \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt3.code.boc b/src/test/features/output/optionals_Opt3.code.boc deleted file mode 100644 index 7b0a6169b..000000000 Binary files a/src/test/features/output/optionals_Opt3.code.boc and /dev/null differ diff --git a/src/test/features/output/optionals_Opt3.code.boc.html b/src/test/features/output/optionals_Opt3.code.boc.html deleted file mode 100644 index c53363741..000000000 --- a/src/test/features/output/optionals_Opt3.code.boc.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_647e186de4251eb5;
-            ..DECLPROC ?fun_ref_d31b4aed7a42e751;
-            ..DECLPROC ?fun_ref_dca7aba6e712f2dd;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....s0 s1 XCHG
-            ....1279 PUSHINT
-            ....EQUAL
-            ....OR
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_647e186de4251eb5 INLINECALLDICT
-            ....ROTREV
-            ....?fun_ref_d31b4aed7a42e751 INLINECALLDICT
-            ....130 THROWIFNOT
-            ....s0 POP
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....289074767680806556846472852687671582181 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D636353766439645343617562584D5439654A3864616F4E4B437A446832474A5369345256386846414D42376B82_} PUSHSLICE
-            ..}>
-            ..?fun_ref_647e186de4251eb5 PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IFJMP
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2971230874 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 s1 XCHG
-            ......1 TUPLE
-            ....}> PUSHCONT
-            ....<{
-            ......NULL
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 s1 XCHG
-            ....ENDS
-            ....?fun_ref_dca7aba6e712f2dd INLINECALLDICT
-            ..}>
-            ..?fun_ref_d31b4aed7a42e751 PROCREF:<{
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 PUSH
-            ....SBITS
-            ....s1 POP
-            ....31 GTINT
-            ....s0 POP
-            ....0 PUSHINT
-            ..}>
-            ..?fun_ref_dca7aba6e712f2dd PROCREF:<{
-            ....s0 POP
-            ....NULL
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt3.code.fc b/src/test/features/output/optionals_Opt3.code.fc deleted file mode 100644 index 9ce2f9535..000000000 --- a/src/test/features/output/optionals_Opt3.code.fc +++ /dev/null @@ -1,86 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "optionals_Opt3.headers.fc"; -#include "optionals_Opt3.stdlib.fc"; -#include "optionals_Opt3.storage.fc"; - -;; -;; Contract Opt3 functions -;; - -tuple $Opt3$_contract_init(tuple $arg) impure inline_ref { - var ($arg) = $arg; - tuple $self = null(); - return $self; -} - -;; -;; Receivers of a Contract Opt3 -;; - -;; -;; Get methods of a Contract Opt3 -;; - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.any.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmccSvd9dSCaubXMT9eJ8daoNKCzDh2GJSi4RV8hFAMB7k"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract Opt3 -;; - -(tuple, int) $Opt3$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $Opt3$_contract_load(); - - ;; Handle operation - int handled = self~$Opt3$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $Opt3$_contract_store(self); -} diff --git a/src/test/features/output/optionals_Opt3.code.fif b/src/test/features/output/optionals_Opt3.code.fif deleted file mode 100644 index a34f7cbe7..000000000 --- a/src/test/features/output/optionals_Opt3.code.fif +++ /dev/null @@ -1,145 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Struct2$_load - DECLPROC $Struct2$_as_optional - DECLPROC $Opt3$init$_load - DECLPROC $Opt3$_contract_init - DECLPROC $Opt3$_contract_load - DECLPROC $Opt3$_contract_store - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $Opt3$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 10 PUSHPOW2 - EQUAL - SWAP - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - }> - $Struct2$_load PROCINLINE:<{ - 32 LDU - SWAP - 2971230874 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - SWAP - }> - $Struct2$_as_optional PROCINLINE:<{ - 1 TUPLE - }> - $Opt3$init$_load PROCINLINE:<{ - 1 LDI - SWAP - IF:<{ - $Struct2$_load INLINECALLDICT - $Struct2$_as_optional INLINECALLDICT - }>ELSE<{ - PUSHNULL - }> - }> - $Opt3$_contract_init PROCREF:<{ - DROP - PUSHNULL - }> - $Opt3$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - DROP - PUSHNULL - }> - $Opt3$init$_load INLINECALLDICT - SWAP - ENDS - $Opt3$_contract_init INLINECALLDICT - }> - $Opt3$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 289074767680806556846472852687671582181 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d636353766439645343617562584d5439654a3864616f4e4b437a446832474a5369345256386846414d42376b} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $Opt3$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - DUP - SBITS - NIP - 31 GTINT - IF:<{ - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $Opt3$_contract_load INLINECALLDICT - -ROT - $Opt3$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $Opt3$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/optionals_Opt3.code.rev.fif b/src/test/features/output/optionals_Opt3.code.rev.fif deleted file mode 100644 index 442d2c19c..000000000 --- a/src/test/features/output/optionals_Opt3.code.rev.fif +++ /dev/null @@ -1,124 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_647e186de4251eb5; - DECLPROC ?fun_ref_d31b4aed7a42e751; - DECLPROC ?fun_ref_dca7aba6e712f2dd; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 10 PUSHPOW2 - EQUAL - s0 s1 XCHG - 1279 PUSHINT - EQUAL - OR - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_647e186de4251eb5 INLINECALLDICT - ROTREV - ?fun_ref_d31b4aed7a42e751 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 289074767680806556846472852687671582181 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D636353766439645343617562584D5439654A3864616F4E4B437A446832474A5369345256386846414D42376B82_} PUSHSLICE - }> - ?fun_ref_647e186de4251eb5 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - s0 POP - NULL - }> PUSHCONT - IFJMP - 1 LDI - s0 s1 XCHG - <{ - 32 LDU - s0 s1 XCHG - 2971230874 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - s0 s1 XCHG - 1 TUPLE - }> PUSHCONT - <{ - NULL - }> PUSHCONT - IFELSE - s0 s1 XCHG - ENDS - ?fun_ref_dca7aba6e712f2dd INLINECALLDICT - }> - ?fun_ref_d31b4aed7a42e751 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 PUSH - SBITS - s1 POP - 31 GTINT - s0 POP - 0 PUSHINT - }> - ?fun_ref_dca7aba6e712f2dd PROCREF:<{ - s0 POP - NULL - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt3.headers.fc b/src/test/features/output/optionals_Opt3.headers.fc deleted file mode 100644 index 58047018e..000000000 --- a/src/test/features/output/optionals_Opt3.headers.fc +++ /dev/null @@ -1,25 +0,0 @@ -;; -;; Header files for Opt3 -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Struct2$_load -(slice, ((int))) $Struct2$_load(slice sc_0) inline; - -;; $Struct2$_as_optional -tuple $Struct2$_as_optional((int) v) inline; - -;; $Opt3$init$_load -(slice, ((tuple))) $Opt3$init$_load(slice sc_0) inline; - -;; $Opt3$_contract_init -tuple $Opt3$_contract_init(tuple $arg) impure inline_ref; - -;; $Opt3$_contract_load -tuple $Opt3$_contract_load() impure inline_ref; - -;; $Opt3$_contract_store -() $Opt3$_contract_store(tuple v) impure inline; diff --git a/src/test/features/output/optionals_Opt3.md b/src/test/features/output/optionals_Opt3.md deleted file mode 100644 index ae1b39651..000000000 --- a/src/test/features/output/optionals_Opt3.md +++ /dev/null @@ -1,67 +0,0 @@ -# TACT Compilation Report -Contract: Opt3 -BOC Size: 352 bytes - -# Types -Total Types: 8 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Struct2 -TLB: `struct2#b119629a v:int257 = Struct2` -Signature: `Struct2{v:int257}` - -## OptStruct -TLB: `_ s:Maybe Struct2{v:int257} = OptStruct` -Signature: `OptStruct{s:Maybe Struct2{v:int257}}` - -## SomeGenericStruct -TLB: `_ value1:int257 value2:int257 value3:int257 value4:int257 value5:int257 = SomeGenericStruct` -Signature: `SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}` - -## StructWithOptionals -TLB: `_ a:Maybe int257 b:Maybe bool c:Maybe ^cell d:Maybe address e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257} = StructWithOptionals` -Signature: `StructWithOptionals{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}}` - -## Update -TLB: `update#1554fcfd a:Maybe int257 b:Maybe bool c:Maybe ^cell d:Maybe address e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257} f:Maybe StructWithOptionals{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}} = Update` -Signature: `Update{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257},f:Maybe StructWithOptionals{a:Maybe int257,b:Maybe bool,c:Maybe ^cell,d:Maybe address,e:Maybe SomeGenericStruct{value1:int257,value2:int257,value3:int257,value4:int257,value5:int257}}}` - -# Get Methods -Total Get Methods: 0 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt3.pkg b/src/test/features/output/optionals_Opt3.pkg deleted file mode 100644 index 38cd19f6b..000000000 --- a/src/test/features/output/optionals_Opt3.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"Opt3","code":"te6ccgECCwEAAVQAART/APSkE/S88sgLAQIBYgIDApDQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQEBQIBWAcIAV7tRNDUAfhj0gABkjBt4NIAAY4V0x8BghCxGWKauvLggYEBAdcAAW8BkW3iAdHbPAYAGgGSMH/gINdJMcIfMHAABDBtALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnDZecZujDm8J6y2oTE1uN3lgCAUgJCgARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1jY1N2ZDlkU0NhdWJYTVQ5ZUo4ZGFvTktDekRoMkdKU2k0UlY4aEZBTUI3a4IA==","abi":"{\"name\":\"Opt3\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Struct2\",\"header\":2971230874,\"fields\":[{\"name\":\"v\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"OptStruct\",\"header\":null,\"fields\":[{\"name\":\"s\",\"type\":{\"kind\":\"simple\",\"type\":\"Struct2\",\"optional\":true}}]},{\"name\":\"SomeGenericStruct\",\"header\":null,\"fields\":[{\"name\":\"value1\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value2\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value3\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value4\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"value5\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"StructWithOptionals\",\"header\":null,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}},{\"name\":\"c\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"d\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"e\",\"type\":{\"kind\":\"simple\",\"type\":\"SomeGenericStruct\",\"optional\":true}}]},{\"name\":\"Update\",\"header\":357891325,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":true,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":true}},{\"name\":\"c\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"d\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":true}},{\"name\":\"e\",\"type\":{\"kind\":\"simple\",\"type\":\"SomeGenericStruct\",\"optional\":true}},{\"name\":\"f\",\"type\":{\"kind\":\"simple\",\"type\":\"StructWithOptionals\",\"optional\":true}}]}],\"receivers\":[],\"getters\":[],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.any.v0\"]}","init":{"kind":"direct","args":[{"name":"arg","type":{"kind":"simple","type":"Struct2","optional":true}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECDQEAAV4AAQHAAQEFoUGvAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbWNjU3ZkOWRTQ2F1YlhNVDllSjhkYW9OS0N6RGgyR0pTaTRSVjhoRkFNQjdrggABGwr7tRNDSAAGAAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcNl5xm6MObwnrLahMTW43eWAKQ0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UCwoAGgGSMH/gINdJMcIfMHABXu1E0NQB+GPSAAGSMG3g0gABjhXTHwGCELEZYpq68uCBgQEB1wABbwGRbeIB0ds8DAAEMG29noAU"}},"sources":{"src\\test\\features\\optionals-2.tact":"ZnVuIHNhbXBsZTMoc3JjOiBTdHJ1Y3QyPyk6IE9wdFN0cnVjdCB7DQogICAgcmV0dXJuIE9wdFN0cnVjdHtzOiBzcmN9Ow0KfQ0KDQpmdW4gc2FtcGxlNChzcmM6IFN0cnVjdDIpOiBPcHRTdHJ1Y3Qgew0KICAgIHJldHVybiBPcHRTdHJ1Y3R7czogc3JjfTsNCn0NCg0KbWVzc2FnZSBTdHJ1Y3QyIHsNCiAgICB2OiBJbnQ7DQp9DQoNCnN0cnVjdCBPcHRTdHJ1Y3Qgew0KICAgIHM6IFN0cnVjdDI/Ow0KfQ0KDQpjb250cmFjdCBPcHQyIHsNCiAgICBzdGF0ZUluaXQ6IFN0YXRlSW5pdDsNCiAgICBpbml0KCkgew0KICAgICAgICBzZWxmLnN0YXRlSW5pdCA9IGluaXRPZiBPcHQzKFN0cnVjdDJ7djogMX0pOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoIlRlc3QiKSB7DQogICAgICAgIHNlbGYuc2FtcGxlKFN0cnVjdDJ7djogMX0pOw0KICAgICAgICBzZWxmLnNhbXBsZShudWxsKTsNCiAgICAgICAgc2VsZi5zYW1wbGUyKFN0cnVjdDJ7djogMX0pOw0KICAgICAgICBzYW1wbGUzKFN0cnVjdDJ7djogMX0pOw0KICAgICAgICBzYW1wbGUzKG51bGwpOw0KICAgICAgICBzYW1wbGU0KFN0cnVjdDJ7djogMX0pOw0KICAgIH0NCg0KICAgIGZ1biBzYW1wbGUoc3JjOiBTdHJ1Y3QyPykgew0KDQogICAgfQ0KDQogICAgZnVuIHNhbXBsZTIoc3JjOiBTdHJ1Y3QyKSB7DQoNCiAgICB9DQp9DQoNCmNvbnRyYWN0IE9wdDMgew0KICAgIGluaXQoYXJnOiBTdHJ1Y3QyPykgew0KICAgICAgICANCiAgICB9DQp9","src\\test\\features\\optionals.tact":"aW1wb3J0ICIuL29wdGlvbmFscy0yLnRhY3QiOw0Kc3RydWN0IFNvbWVHZW5lcmljU3RydWN0IHsNCiAgICB2YWx1ZTE6IEludDsNCiAgICB2YWx1ZTI6IEludDsNCiAgICB2YWx1ZTM6IEludDsNCiAgICB2YWx1ZTQ6IEludDsNCiAgICB2YWx1ZTU6IEludDsNCn0NCg0Kc3RydWN0IFN0cnVjdFdpdGhPcHRpb25hbHMgew0KICAgIGE6IEludD87DQogICAgYjogQm9vbD87DQogICAgYzogQ2VsbD87DQogICAgZDogQWRkcmVzcz87DQogICAgZTogU29tZUdlbmVyaWNTdHJ1Y3Q/Ow0KfQ0KDQptZXNzYWdlIFVwZGF0ZSB7DQogICAgYTogSW50PzsNCiAgICBiOiBCb29sPzsNCiAgICBjOiBDZWxsPzsNCiAgICBkOiBBZGRyZXNzPzsNCiAgICBlOiBTb21lR2VuZXJpY1N0cnVjdD87DQogICAgZjogU3RydWN0V2l0aE9wdGlvbmFscz87DQp9DQoNCmNvbnRyYWN0IENvbnRyYWN0V2l0aE9wdGlvbmFscyB7DQoNCiAgICBhOiBJbnQ/Ow0KICAgIGI6IEJvb2w/Ow0KICAgIGM6IENlbGw/Ow0KICAgIGQ6IEFkZHJlc3M/Ow0KICAgIGU6IFNvbWVHZW5lcmljU3RydWN0PzsNCiAgICBmOiBTdHJ1Y3RXaXRoT3B0aW9uYWxzPzsNCg0KICAgIGluaXQoYTogSW50PywgYjogQm9vbD8sIGM6IENlbGw/LCBkOiBBZGRyZXNzPywgZTogU29tZUdlbmVyaWNTdHJ1Y3Q/LCBmOiBTdHJ1Y3RXaXRoT3B0aW9uYWxzPykgew0KICAgICAgICBzZWxmLmEgPSBhOw0KICAgICAgICBzZWxmLmIgPSBiOw0KICAgICAgICBzZWxmLmMgPSBjOw0KICAgICAgICBzZWxmLmQgPSBkOw0KICAgICAgICBzZWxmLmUgPSBlOw0KICAgICAgICBzZWxmLmYgPSBmOw0KDQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYik7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYyk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZCk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZik7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgpIHsNCiAgICAgICAgLy8gRGVwbG95DQogICAgfQ0KDQogICAgcmVjZWl2ZShtc2c6IFVwZGF0ZSkgew0KICAgICAgICBzZWxmLmEgPSBtc2cuYTsNCiAgICAgICAgc2VsZi5iID0gbXNnLmI7DQogICAgICAgIHNlbGYuYyA9IG1zZy5jOw0KICAgICAgICBzZWxmLmQgPSBtc2cuZDsNCiAgICAgICAgc2VsZi5lID0gbXNnLmU7DQogICAgICAgIHNlbGYuZiA9IG1zZy5mOw0KDQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYik7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYyk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZCk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZik7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBpc05vdE51bGxBKCk6IEJvb2wgew0KICAgICAgICByZXR1cm4gc2VsZi5hICE9IG51bGw7DQogICAgfQ0KICAgIGdldCBmdW4gaXNOb3ROdWxsQigpOiBCb29sIHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYiAhPSBudWxsOw0KICAgIH0NCiAgICBnZXQgZnVuIGlzTm90TnVsbEMoKTogQm9vbCB7DQogICAgICAgIHJldHVybiBzZWxmLmMgIT0gbnVsbDsNCiAgICB9DQogICAgZ2V0IGZ1biBpc05vdE51bGxEKCk6IEJvb2wgew0KICAgICAgICByZXR1cm4gc2VsZi5kICE9IG51bGw7DQogICAgfQ0KICAgIGdldCBmdW4gaXNOb3ROdWxsRSgpOiBCb29sIHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZSAhPSBudWxsOw0KICAgIH0NCiAgICBnZXQgZnVuIGlzTm90TnVsbEYoKTogQm9vbCB7DQogICAgICAgIHJldHVybiBzZWxmLmYgIT0gbnVsbDsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG51bGxBKCk6IEludD8gew0KICAgICAgICByZXR1cm4gc2VsZi5hOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbnVsbEIoKTogQm9vbD8gew0KICAgICAgICByZXR1cm4gc2VsZi5iOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbnVsbEMoKTogQ2VsbD8gew0KICAgICAgICByZXR1cm4gc2VsZi5jOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbnVsbEQoKTogQWRkcmVzcz8gew0KICAgICAgICByZXR1cm4gc2VsZi5kOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbnVsbEUoKTogU29tZUdlbmVyaWNTdHJ1Y3Q/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG51bGxGKCk6IFN0cnVjdFdpdGhPcHRpb25hbHM/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZjsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG5vdE51bGxBKCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLmEhITsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG5vdE51bGxCKCk6IEJvb2wgew0KICAgICAgICByZXR1cm4gc2VsZi5iISE7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBub3ROdWxsQygpOiBDZWxsIHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYyEhOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbm90TnVsbEQoKTogQWRkcmVzcyB7DQogICAgICAgIHJldHVybiBzZWxmLmQhITsNCiAgICB9DQoNCiAgICBnZXQgZnVuIG5vdE51bGxFKCk6IFNvbWVHZW5lcmljU3RydWN0IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZSEhOw0KICAgIH0NCg0KICAgIGdldCBmdW4gbm90TnVsbEYoKTogU3RydWN0V2l0aE9wdGlvbmFscyB7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYik7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYyk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZCk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuZik7DQogICAgICAgIHJldHVybiBzZWxmLmYhITsNCiAgICB9DQoNCiAgICBnZXQgZnVuIHRlc3RWYXJpYWJsZXMoKTogU29tZUdlbmVyaWNTdHJ1Y3Qgew0KICAgICAgICBsZXQgYTogU29tZUdlbmVyaWNTdHJ1Y3Q/ID0gU29tZUdlbmVyaWNTdHJ1Y3R7dmFsdWUxOiAxLCB2YWx1ZTI6IDIsIHZhbHVlMzogMywgdmFsdWU0OiA0LCB2YWx1ZTU6IDV9Ow0KICAgICAgICByZXR1cm4gYSEhOw0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/optionals.tact\",\"options\":{\"debug\":true,\"masterchain\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt3.stdlib.fc b/src/test/features/output/optionals_Opt3.stdlib.fc deleted file mode 100644 index 06d848228..000000000 --- a/src/test/features/output/optionals_Opt3.stdlib.fc +++ /dev/null @@ -1,13 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_unless(136, (h == 1024) | (h == 1279)); - return address; -} - -forall X0 -> tuple __tact_tuple_create_1((X0) v) asm "1 TUPLE"; \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt3.storage.fc b/src/test/features/output/optionals_Opt3.storage.fc deleted file mode 100644 index b911893dd..000000000 --- a/src/test/features/output/optionals_Opt3.storage.fc +++ /dev/null @@ -1,45 +0,0 @@ -;; -;; Type: Struct2 -;; Header: 0xb119629a -;; TLB: struct2#b119629a v:int257 = Struct2 -;; - -(slice, ((int))) $Struct2$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2971230874); - var v'v = sc_0~load_int(257); - return (sc_0, (v'v)); -} - -tuple $Struct2$_as_optional((int) v) inline { - var (v'v) = v; - return __tact_tuple_create_1(v'v); -} - -;; -;; Type: Opt3 -;; - -(slice, ((tuple))) $Opt3$init$_load(slice sc_0) inline { - var v'arg = sc_0~load_int(1) ? $Struct2$_as_optional(sc_0~$Struct2$_load()) : null(); - return (sc_0, (v'arg)); -} - -tuple $Opt3$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - (tuple arg) = $sc~$Opt3$init$_load(); - $sc.end_parse(); - return $Opt3$_contract_init(arg); - } -} - -() $Opt3$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/optionals_Opt3.ts b/src/test/features/output/optionals_Opt3.ts deleted file mode 100644 index 02c9fa0c5..000000000 --- a/src/test/features/output/optionals_Opt3.ts +++ /dev/null @@ -1,591 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Struct2 = { - $$type: 'Struct2'; - v: bigint; -} - -export function storeStruct2(src: Struct2) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2971230874, 32); - b_0.storeInt(src.v, 257); - }; -} - -export function loadStruct2(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2971230874) { throw Error('Invalid prefix'); } - let _v = sc_0.loadIntBig(257); - return { $$type: 'Struct2' as const, v: _v }; -} - -function loadTupleStruct2(source: TupleReader) { - let _v = source.readBigNumber(); - return { $$type: 'Struct2' as const, v: _v }; -} - -function storeTupleStruct2(source: Struct2) { - let builder = new TupleBuilder(); - builder.writeNumber(source.v); - return builder.build(); -} - -function dictValueParserStruct2(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStruct2(src)).endCell()); - }, - parse: (src) => { - return loadStruct2(src.loadRef().beginParse()); - } - } -} - -export type OptStruct = { - $$type: 'OptStruct'; - s: Struct2 | null; -} - -export function storeOptStruct(src: OptStruct) { - return (builder: Builder) => { - let b_0 = builder; - if (src.s !== null && src.s !== undefined) { b_0.storeBit(true); b_0.store(storeStruct2(src.s)); } else { b_0.storeBit(false); } - }; -} - -export function loadOptStruct(slice: Slice) { - let sc_0 = slice; - let _s = sc_0.loadBit() ? loadStruct2(sc_0) : null; - return { $$type: 'OptStruct' as const, s: _s }; -} - -function loadTupleOptStruct(source: TupleReader) { - const _s_p = source.readTupleOpt(); - const _s = _s_p ? loadTupleStruct2(_s_p) : null; - return { $$type: 'OptStruct' as const, s: _s }; -} - -function storeTupleOptStruct(source: OptStruct) { - let builder = new TupleBuilder(); - if (source.s !== null && source.s !== undefined) { - builder.writeTuple(storeTupleStruct2(source.s)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserOptStruct(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeOptStruct(src)).endCell()); - }, - parse: (src) => { - return loadOptStruct(src.loadRef().beginParse()); - } - } -} - -export type SomeGenericStruct = { - $$type: 'SomeGenericStruct'; - value1: bigint; - value2: bigint; - value3: bigint; - value4: bigint; - value5: bigint; -} - -export function storeSomeGenericStruct(src: SomeGenericStruct) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.value1, 257); - b_0.storeInt(src.value2, 257); - b_0.storeInt(src.value3, 257); - let b_1 = new Builder(); - b_1.storeInt(src.value4, 257); - b_1.storeInt(src.value5, 257); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadSomeGenericStruct(slice: Slice) { - let sc_0 = slice; - let _value1 = sc_0.loadIntBig(257); - let _value2 = sc_0.loadIntBig(257); - let _value3 = sc_0.loadIntBig(257); - let sc_1 = sc_0.loadRef().beginParse(); - let _value4 = sc_1.loadIntBig(257); - let _value5 = sc_1.loadIntBig(257); - return { $$type: 'SomeGenericStruct' as const, value1: _value1, value2: _value2, value3: _value3, value4: _value4, value5: _value5 }; -} - -function loadTupleSomeGenericStruct(source: TupleReader) { - let _value1 = source.readBigNumber(); - let _value2 = source.readBigNumber(); - let _value3 = source.readBigNumber(); - let _value4 = source.readBigNumber(); - let _value5 = source.readBigNumber(); - return { $$type: 'SomeGenericStruct' as const, value1: _value1, value2: _value2, value3: _value3, value4: _value4, value5: _value5 }; -} - -function storeTupleSomeGenericStruct(source: SomeGenericStruct) { - let builder = new TupleBuilder(); - builder.writeNumber(source.value1); - builder.writeNumber(source.value2); - builder.writeNumber(source.value3); - builder.writeNumber(source.value4); - builder.writeNumber(source.value5); - return builder.build(); -} - -function dictValueParserSomeGenericStruct(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSomeGenericStruct(src)).endCell()); - }, - parse: (src) => { - return loadSomeGenericStruct(src.loadRef().beginParse()); - } - } -} - -export type StructWithOptionals = { - $$type: 'StructWithOptionals'; - a: bigint | null; - b: boolean | null; - c: Cell | null; - d: Address | null; - e: SomeGenericStruct | null; -} - -export function storeStructWithOptionals(src: StructWithOptionals) { - return (builder: Builder) => { - let b_0 = builder; - if (src.a !== null && src.a !== undefined) { b_0.storeBit(true).storeInt(src.a, 257); } else { b_0.storeBit(false); } - if (src.b !== null && src.b !== undefined) { b_0.storeBit(true).storeBit(src.b); } else { b_0.storeBit(false); } - if (src.c !== null && src.c !== undefined) { b_0.storeBit(true).storeRef(src.c); } else { b_0.storeBit(false); } - b_0.storeAddress(src.d); - let b_1 = new Builder(); - if (src.e !== null && src.e !== undefined) { b_1.storeBit(true); b_1.store(storeSomeGenericStruct(src.e)); } else { b_1.storeBit(false); } - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadStructWithOptionals(slice: Slice) { - let sc_0 = slice; - let _a = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - let _b = sc_0.loadBit() ? sc_0.loadBit() : null; - let _c = sc_0.loadBit() ? sc_0.loadRef() : null; - let _d = sc_0.loadMaybeAddress(); - let sc_1 = sc_0.loadRef().beginParse(); - let _e = sc_1.loadBit() ? loadSomeGenericStruct(sc_1) : null; - return { $$type: 'StructWithOptionals' as const, a: _a, b: _b, c: _c, d: _d, e: _e }; -} - -function loadTupleStructWithOptionals(source: TupleReader) { - let _a = source.readBigNumberOpt(); - let _b = source.readBooleanOpt(); - let _c = source.readCellOpt(); - let _d = source.readAddressOpt(); - const _e_p = source.readTupleOpt(); - const _e = _e_p ? loadTupleSomeGenericStruct(_e_p) : null; - return { $$type: 'StructWithOptionals' as const, a: _a, b: _b, c: _c, d: _d, e: _e }; -} - -function storeTupleStructWithOptionals(source: StructWithOptionals) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeBoolean(source.b); - builder.writeCell(source.c); - builder.writeAddress(source.d); - if (source.e !== null && source.e !== undefined) { - builder.writeTuple(storeTupleSomeGenericStruct(source.e)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserStructWithOptionals(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStructWithOptionals(src)).endCell()); - }, - parse: (src) => { - return loadStructWithOptionals(src.loadRef().beginParse()); - } - } -} - -export type Update = { - $$type: 'Update'; - a: bigint | null; - b: boolean | null; - c: Cell | null; - d: Address | null; - e: SomeGenericStruct | null; - f: StructWithOptionals | null; -} - -export function storeUpdate(src: Update) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(357891325, 32); - if (src.a !== null && src.a !== undefined) { b_0.storeBit(true).storeInt(src.a, 257); } else { b_0.storeBit(false); } - if (src.b !== null && src.b !== undefined) { b_0.storeBit(true).storeBit(src.b); } else { b_0.storeBit(false); } - if (src.c !== null && src.c !== undefined) { b_0.storeBit(true).storeRef(src.c); } else { b_0.storeBit(false); } - b_0.storeAddress(src.d); - let b_1 = new Builder(); - if (src.e !== null && src.e !== undefined) { b_1.storeBit(true); b_1.store(storeSomeGenericStruct(src.e)); } else { b_1.storeBit(false); } - let b_2 = new Builder(); - if (src.f !== null && src.f !== undefined) { b_2.storeBit(true); b_2.store(storeStructWithOptionals(src.f)); } else { b_2.storeBit(false); } - b_1.storeRef(b_2.endCell()); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadUpdate(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 357891325) { throw Error('Invalid prefix'); } - let _a = sc_0.loadBit() ? sc_0.loadIntBig(257) : null; - let _b = sc_0.loadBit() ? sc_0.loadBit() : null; - let _c = sc_0.loadBit() ? sc_0.loadRef() : null; - let _d = sc_0.loadMaybeAddress(); - let sc_1 = sc_0.loadRef().beginParse(); - let _e = sc_1.loadBit() ? loadSomeGenericStruct(sc_1) : null; - let sc_2 = sc_1.loadRef().beginParse(); - let _f = sc_2.loadBit() ? loadStructWithOptionals(sc_2) : null; - return { $$type: 'Update' as const, a: _a, b: _b, c: _c, d: _d, e: _e, f: _f }; -} - -function loadTupleUpdate(source: TupleReader) { - let _a = source.readBigNumberOpt(); - let _b = source.readBooleanOpt(); - let _c = source.readCellOpt(); - let _d = source.readAddressOpt(); - const _e_p = source.readTupleOpt(); - const _e = _e_p ? loadTupleSomeGenericStruct(_e_p) : null; - const _f_p = source.readTupleOpt(); - const _f = _f_p ? loadTupleStructWithOptionals(_f_p) : null; - return { $$type: 'Update' as const, a: _a, b: _b, c: _c, d: _d, e: _e, f: _f }; -} - -function storeTupleUpdate(source: Update) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeBoolean(source.b); - builder.writeCell(source.c); - builder.writeAddress(source.d); - if (source.e !== null && source.e !== undefined) { - builder.writeTuple(storeTupleSomeGenericStruct(source.e)); - } else { - builder.writeTuple(null); - } - if (source.f !== null && source.f !== undefined) { - builder.writeTuple(storeTupleStructWithOptionals(source.f)); - } else { - builder.writeTuple(null); - } - return builder.build(); -} - -function dictValueParserUpdate(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeUpdate(src)).endCell()); - }, - parse: (src) => { - return loadUpdate(src.loadRef().beginParse()); - } - } -} - - type Opt3_init_args = { - $$type: 'Opt3_init_args'; - arg: Struct2 | null; -} - -function initOpt3_init_args(src: Opt3_init_args) { - return (builder: Builder) => { - let b_0 = builder; - if (src.arg !== null && src.arg !== undefined) { b_0.storeBit(true); b_0.store(storeStruct2(src.arg)); } else { b_0.storeBit(false); } - }; -} - -async function Opt3_init(arg: Struct2 | null) { - const __code = Cell.fromBase64('te6ccgECCwEAAVQAART/APSkE/S88sgLAQIBYgIDApDQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggwm6AYEE/7qx8uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQEBQIBWAcIAV7tRNDUAfhj0gABkjBt4NIAAY4V0x8BghCxGWKauvLggYEBAdcAAW8BkW3iAdHbPAYAGgGSMH/gINdJMcIfMHAABDBtALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnDZecZujDm8J6y2oTE1uN3lgCAUgJCgARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1jY1N2ZDlkU0NhdWJYTVQ5ZUo4ZGFvTktDekRoMkdKU2k0UlY4aEZBTUI3a4IA=='); - const __system = Cell.fromBase64('te6cckECDQEAAV4AAQHAAQEFoUGvAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbWNjU3ZkOWRTQ2F1YlhNVDllSjhkYW9OS0N6RGgyR0pTaTRSVjhoRkFNQjdrggABGwr7tRNDSAAGAAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcNl5xm6MObwnrLahMTW43eWAKQ0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIMJugGBBP+6sfLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UCwoAGgGSMH/gINdJMcIfMHABXu1E0NQB+GPSAAGSMG3g0gABjhXTHwGCELEZYpq68uCBgQEB1wABbwGRbeIB0ds8DAAEMG29noAU'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initOpt3_init_args({ $$type: 'Opt3_init_args', arg })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const Opt3_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const Opt3_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Struct2","header":2971230874,"fields":[{"name":"v","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"OptStruct","header":null,"fields":[{"name":"s","type":{"kind":"simple","type":"Struct2","optional":true}}]}, - {"name":"SomeGenericStruct","header":null,"fields":[{"name":"value1","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value2","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value3","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value4","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"value5","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"StructWithOptionals","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}}]}, - {"name":"Update","header":357891325,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":true,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":true}},{"name":"c","type":{"kind":"simple","type":"cell","optional":true}},{"name":"d","type":{"kind":"simple","type":"address","optional":true}},{"name":"e","type":{"kind":"simple","type":"SomeGenericStruct","optional":true}},{"name":"f","type":{"kind":"simple","type":"StructWithOptionals","optional":true}}]}, -] - -const Opt3_getters: ABIGetter[] = [ -] - -const Opt3_receivers: ABIReceiver[] = [ -] - -export class Opt3 implements Contract { - - static async init(arg: Struct2 | null) { - return await Opt3_init(arg); - } - - static async fromInit(arg: Struct2 | null) { - const init = await Opt3_init(arg); - const address = contractAddress(0, init); - return new Opt3(address, init); - } - - static fromAddress(address: Address) { - return new Opt3(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: Opt3_types, - getters: Opt3_getters, - receivers: Opt3_receivers, - errors: Opt3_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - -} \ No newline at end of file diff --git a/src/test/features/output/ordering_A.abi b/src/test/features/output/ordering_A.abi deleted file mode 100644 index 32de07128..000000000 --- a/src/test/features/output/ordering_A.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"A","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]},{"name":"S","header":null,"fields":[{"name":"v1","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"v2","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"v3","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}],"getters":[{"name":"create","arguments":[{"name":"v","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"S","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/ordering_A.code.boc b/src/test/features/output/ordering_A.code.boc deleted file mode 100644 index e76209b73..000000000 Binary files a/src/test/features/output/ordering_A.code.boc and /dev/null differ diff --git a/src/test/features/output/ordering_A.code.boc.html b/src/test/features/output/ordering_A.code.boc.html deleted file mode 100644 index a32855744..000000000 --- a/src/test/features/output/ordering_A.code.boc.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_96687;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_1dd4b06caa854cc5;
-            ..DECLPROC ?fun_ref_259b30bfe27e7d8d;
-            ..DECLPROC ?fun_ref_3303f942c639c105;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            ..DECLPROC ?fun_ref_ed0c6f0c0e19c38a;
-            x1..recv_internal PROC:<{
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            26x1....4 LDU
-            18x1....s0 s1 XCHG
-            18x1....1 PUSHINT
-            18x1....AND
-            18x1....-1 MULCONST
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            34x1....s0 s6 s4 PUXCPU
-            18x1....s0 s3 XCHG
-            30x1....4 TUPLE
-            28x1....1 SETGLOBVAR
-            18x1....s0 s2 XCHG
-            29x1....2 SETGLOBVAR
-            126x1....?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT
-            18x1....ROTREV
-            126x1....?fun_ref_1dd4b06caa854cc5 INLINECALLDICT
-            34x1....130 THROWIFNOT
-            18x1....NEWC
-            26x1....3 GETGLOBVAR
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....-1 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            26x1....STSLICER
-            518x1....ENDC
-            26x1....c4 POP
-            x1..}>
-            x1..?fun_96687 PROC:<{
-            126x1....?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT
-            18x1....s0 s1 XCHG
-            126x1....?fun_ref_259b30bfe27e7d8d INLINECALLDICT
-            26x1....1 3 BLKDROP2
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D5561626D437068334E7351687A7A68647044364B7833364E6F35424B4E50364B33444D63637352776D4C7A3382_} PUSHSLICE
-            ..}>
-            x58..?fun_ref_1dd4b06caa854cc5 PROCREF:<{
-            18x58....s0 s1 XCHG
-            18x58....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x58....}> PUSHCONT
-            18x58....IFJMP
-            18x58....0 PUSHINT
-            18x58....s1 PUSH
-            26x58....SBITS
-            26x58....31 GTINT
-            18x58....<{
-            18x58......s0 POP
-            18x58......s0 PUSH
-            34x58......32 PLDU
-            18x58....}> PUSHCONT
-            18x58....IF
-            23x58....2490013878 PUSHINT
-            18x58....EQUAL
-            26x58....<{
-            26x58......32 LDU
-            18x58......s0 s1 XCHG
-            23x58......2490013878 PUSHINT
-            18x58......EQUAL
-            34x58......129 THROWIFNOT
-            26x58......64 LDU
-            18x58......s0 s1 XCHG
-            18x58......s1 POP
-            18x58......NEWC
-            18x58......s0 s1 XCHG
-            23x58......2952335191 PUSHINT
-            18x58......ROT
-            26x58......32 STU
-            26x58......64 STU
-            518x58......ENDC
-            26x58......2 GETGLOBVAR
-            18x58......s0 s1 XCHG
-            18x58......0 PUSHINT
-            18x58......NULL
-            126x58......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            18x58......-1 PUSHINT
-            26x58....}> PUSHCONT
-            18x58....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            x58..}>
-            x1..?fun_ref_259b30bfe27e7d8d PROCREF:<{
-            126x1....?fun_ref_3303f942c639c105 INLINECALLDICT
-            18x1....s0 s1 XCHG
-            51x1....?fun_ref_3303f942c639c105 INLINECALLDICT
-            18x1....s0 s1 XCHG
-            51x1....?fun_ref_3303f942c639c105 INLINECALLDICT
-            18x1....s1 POP
-            18x1....s0 s2 XCHG
-            x1..}>
-            x3..?fun_ref_3303f942c639c105 PROCREF:<{
-            18x3....INC
-            18x3....s0 PUSH
-            x3..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            x6..?fun_ref_ed0c6f0c0e19c38a PROCREF:<{
-            26x6....c4 PUSH
-            118x6....CTOS
-            18x6....LDREF
-            18x6....s0 s1 XCHG
-            30x6....3 SETGLOBVAR
-            26x6....1 LDI
-            18x6....s0 s1 XCHG
-            26x6....<{
-            26x3......LDMSGADDR
-            18x3......s0 s1 XCHG
-            18x3......s0 PUSH
-            26x3......SBITS
-            34x3......267 PUSHINT
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s0 PUSH
-            34x3......11 PLDU
-            18x3......s0 PUSH
-            34x3......1279 PUSHINT
-            18x3......EQUAL
-            34x3......137 THROWIF
-            26x3......10 PUSHPOW2
-            18x3......EQUAL
-            34x3......136 THROWIFNOT
-            18x3......s1 POP
-            26x6....}> PUSHCONT
-            18x6....IFJMP
-            26x3....MYADDR
-            34x3....11 PLDU
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....137 THROWIFNOT
-            26x3....LDMSGADDR
-            18x3....s0 s1 XCHG
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 s1 XCHG
-            18x3....ENDS
-            x6..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/ordering_A.code.fc b/src/test/features/output/ordering_A.code.fc deleted file mode 100644 index 70dd3c247..000000000 --- a/src/test/features/output/ordering_A.code.fc +++ /dev/null @@ -1,118 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "ordering_A.headers.fc"; -#include "ordering_A.stdlib.fc"; -#include "ordering_A.storage.fc"; - -;; -;; Contract A functions -;; - -(slice) $A$_contract_init(slice $owner) impure inline_ref { - var (($self'owner)) = (null()); - $self'owner = $owner; - return ($self'owner); -} - -(int, int) $Int$_fun_inc(int $self) impure inline_ref { - var ($self) = $self; - $self = ($self + 1); - return ($self, $self); -} - -((slice), (int, int, int)) $A$_fun_create((slice) $self, int $v) impure inline_ref { - var (($self'owner)) = $self; - return (($self'owner), $S$_constructor_v3_v2_v1($v~$Int$_fun_inc(), $v~$Int$_fun_inc(), $v~$Int$_fun_inc())); -} - -;; -;; Receivers of a Contract A -;; - -(((slice)), ()) $A$_internal_binary_Deploy((slice) $self, (int) $deploy) impure inline { - var ($self'owner) = $self; - var ($deploy'queryId) = $deploy; - ($self'owner)~$A$_fun_notify($DeployOk$_store_cell($DeployOk$_constructor_queryId($deploy'queryId))); - return (($self'owner), ()); -} - -;; -;; Get methods of a Contract A -;; - -_ %create(int $$v) method_id(96687) { - int $v = $$v; - var self = $A$_contract_load(); - var res = self~$A$_fun_create($v); - return $S$_to_external(res); -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmUabmCph3NsQhzzhdpD6Kx36No5BKNP6K3DMccsRwmLz3"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract A -;; - -((slice), int) $A$_contract_router_internal((slice) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Deploy message - if (op == 2490013878) { - var msg = in_msg~$Deploy$_load(); - self~$A$_internal_binary_Deploy(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $A$_contract_load(); - - ;; Handle operation - int handled = self~$A$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $A$_contract_store(self); -} diff --git a/src/test/features/output/ordering_A.code.fif b/src/test/features/output/ordering_A.code.fif deleted file mode 100644 index ef037b38e..000000000 --- a/src/test/features/output/ordering_A.code.fif +++ /dev/null @@ -1,389 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_load_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC $Deploy$_load - DECLPROC $DeployOk$_store - DECLPROC $DeployOk$_store_cell - DECLPROC $A$_store - DECLPROC $A$_load - DECLPROC $StateInit$_not_null - DECLPROC $S$_to_external - DECLPROC $A$init$_load - DECLPROC $A$_contract_init - DECLPROC $A$_contract_load - DECLPROC $A$_contract_store - DECLPROC $global_send - DECLPROC $Int$_fun_inc - DECLPROC $S$_constructor_v3_v2_v1 - DECLPROC $A$_fun_create - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $A$_fun_forward - DECLPROC $A$_fun_notify - DECLPROC $DeployOk$_constructor_queryId - DECLPROC $A$_internal_binary_Deploy - 96687 DECLMETHOD %create - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $A$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_load_address PROCINLINE:<{ - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - $Deploy$_load PROCINLINE:<{ - 32 LDU - SWAP - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - SWAP - }> - $DeployOk$_store PROCINLINE:<{ - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - }> - $DeployOk$_store_cell PROCINLINE:<{ - NEWC - SWAP - $DeployOk$_store INLINECALLDICT - ENDC - }> - $A$_store PROCINLINE:<{ - __tact_store_address INLINECALLDICT - }> - $A$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $S$_to_external PROCINLINE:<{ - }> - $A$init$_load PROCINLINE:<{ - __tact_load_address INLINECALLDICT - }> - $A$_contract_init PROCREF:<{ - }> - $A$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $A$_load INLINECALLDICT - NIP - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $A$init$_load INLINECALLDICT - SWAP - ENDS - $A$_contract_init INLINECALLDICT - }> - $A$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - SWAP - $A$_store INLINECALLDICT - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $Int$_fun_inc PROCREF:<{ - INC - DUP - }> - $S$_constructor_v3_v2_v1 PROCINLINE:<{ - s0 s2 XCHG - }> - $A$_fun_create PROCREF:<{ - $Int$_fun_inc INLINECALLDICT - SWAP - $Int$_fun_inc INLINECALLDICT - SWAP - $Int$_fun_inc INLINECALLDICT - NIP - $S$_constructor_v3_v2_v1 INLINECALLDICT - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $A$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $A$_fun_notify PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - FALSE - PUSHNULL - $A$_fun_forward INLINECALLDICT - }> - $DeployOk$_constructor_queryId PROCINLINE:<{ - }> - $A$_internal_binary_Deploy PROCINLINE:<{ - $DeployOk$_constructor_queryId INLINECALLDICT - $DeployOk$_store_cell INLINECALLDICT - $A$_fun_notify INLINECALLDICT - }> - %create PROC:<{ - $A$_contract_load INLINECALLDICT - SWAP - $A$_fun_create INLINECALLDICT - 1 3 BLKDROP2 - $S$_to_external INLINECALLDICT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d5561626d437068334e7351687a7a68647044364b7833364e6f35424b4e50364b33444d63637352776d4c7a33} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $A$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 2490013878 PUSHINT - EQUAL - IFJMP:<{ - $Deploy$_load INLINECALLDICT - NIP - $A$_internal_binary_Deploy INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $A$_contract_load INLINECALLDICT - -ROT - $A$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $A$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/ordering_A.code.rev.fif b/src/test/features/output/ordering_A.code.rev.fif deleted file mode 100644 index da3ea6974..000000000 --- a/src/test/features/output/ordering_A.code.rev.fif +++ /dev/null @@ -1,377 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_96687; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_1dd4b06caa854cc5; - DECLPROC ?fun_ref_259b30bfe27e7d8d; - DECLPROC ?fun_ref_3303f942c639c105; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_e31d986f279fa0fb; - DECLPROC ?fun_ref_ed0c6f0c0e19c38a; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT - ROTREV - ?fun_ref_1dd4b06caa854cc5 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - ENDC - c4 POP - }> - ?fun_96687 PROC:<{ - ?fun_ref_ed0c6f0c0e19c38a INLINECALLDICT - s0 s1 XCHG - ?fun_ref_259b30bfe27e7d8d INLINECALLDICT - 1 3 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D5561626D437068334E7351687A7A68647044364B7833364E6F35424B4E50364B33444D63637352776D4C7A3382_} PUSHSLICE - }> - ?fun_ref_1dd4b06caa854cc5 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 2490013878 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - s0 s1 XCHG - s1 POP - NEWC - s0 s1 XCHG - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - 0 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> - ?fun_ref_259b30bfe27e7d8d PROCREF:<{ - ?fun_ref_3303f942c639c105 INLINECALLDICT - s0 s1 XCHG - ?fun_ref_3303f942c639c105 INLINECALLDICT - s0 s1 XCHG - ?fun_ref_3303f942c639c105 INLINECALLDICT - s1 POP - s0 s2 XCHG - }> - ?fun_ref_3303f942c639c105 PROCREF:<{ - INC - s0 PUSH - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_ed0c6f0c0e19c38a PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s1 POP - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s1 XCHG - ENDS - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/ordering_A.headers.fc b/src/test/features/output/ordering_A.headers.fc deleted file mode 100644 index 114faf3e2..000000000 --- a/src/test/features/output/ordering_A.headers.fc +++ /dev/null @@ -1,85 +0,0 @@ -;; -;; Header files for A -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_load_address -(slice, slice) __tact_load_address(slice cs) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; $Deploy$_load -(slice, ((int))) $Deploy$_load(slice sc_0) inline; - -;; $DeployOk$_store -builder $DeployOk$_store(builder build_0, (int) v) inline; - -;; $DeployOk$_store_cell -cell $DeployOk$_store_cell((int) v) inline; - -;; $A$_store -builder $A$_store(builder build_0, (slice) v) inline; - -;; $A$_load -(slice, ((slice))) $A$_load(slice sc_0) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $S$_to_external -(int, int, int) $S$_to_external(((int, int, int)) v) inline; - -;; $A$init$_load -(slice, ((slice))) $A$init$_load(slice sc_0) inline; - -;; $A$_contract_init -(slice) $A$_contract_init(slice $owner) impure inline_ref; - -;; $A$_contract_load -(slice) $A$_contract_load() impure inline_ref; - -;; $A$_contract_store -() $A$_contract_store((slice) v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $Int$_fun_inc -(int, int) $Int$_fun_inc(int $self) impure inline_ref; - -;; $S$_constructor_v3_v2_v1 -((int, int, int)) $S$_constructor_v3_v2_v1(int v3, int v2, int v1) inline; - -;; $A$_fun_create -((slice), (int, int, int)) $A$_fun_create((slice) $self, int $v) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $A$_fun_forward -((slice), ()) $A$_fun_forward((slice) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $A$_fun_notify -((slice), ()) $A$_fun_notify((slice) $self, cell $body) impure inline; - -;; $DeployOk$_constructor_queryId -((int)) $DeployOk$_constructor_queryId(int queryId) inline; diff --git a/src/test/features/output/ordering_A.md b/src/test/features/output/ordering_A.md deleted file mode 100644 index f51f834d2..000000000 --- a/src/test/features/output/ordering_A.md +++ /dev/null @@ -1,66 +0,0 @@ -# TACT Compilation Report -Contract: A -BOC Size: 729 bytes - -# Types -Total Types: 7 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Deploy -TLB: `deploy#946a98b6 queryId:uint64 = Deploy` -Signature: `Deploy{queryId:uint64}` - -## DeployOk -TLB: `deploy_ok#aff90f57 queryId:uint64 = DeployOk` -Signature: `DeployOk{queryId:uint64}` - -## FactoryDeploy -TLB: `factory_deploy#6d0ff13b queryId:uint64 cashback:address = FactoryDeploy` -Signature: `FactoryDeploy{queryId:uint64,cashback:address}` - -## S -TLB: `_ v1:int257 v2:int257 v3:int257 = S` -Signature: `S{v1:int257,v2:int257,v3:int257}` - -# Get Methods -Total Get Methods: 1 - -## create -Argument: v - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/ordering_A.pkg b/src/test/features/output/ordering_A.pkg deleted file mode 100644 index a3c59ae42..000000000 --- a/src/test/features/output/ordering_A.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"A","code":"te6ccgECEQEAAs0AART/APSkE/S88sgLAQIBYgIDAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UCgQCASAICQGKAZIwf+BwIddJwh+VMCDXCx/eghCUapi2uo6n0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4DBwBQE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwGAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AAcAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwCE7/NftngDtnjYJwKCwIBIA0OALLtRNDUAfhj0gABjiD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIMeD4KNcLCoMJuvLgifpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0QMU2zwB2zwB2zwxAgwMDAAEpCAAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSAIBSA8QABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVVhYm1DcGgzTnNRaHp6aGRwRDZLeDM2Tm81QktOUDZLM0RNY2NzUndtTHozgg","abi":"{\"name\":\"A\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Deploy\",\"header\":2490013878,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"DeployOk\",\"header\":2952335191,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"FactoryDeploy\",\"header\":1829761339,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"cashback\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]},{\"name\":\"S\",\"header\":null,\"fields\":[{\"name\":\"v1\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"v2\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"v3\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Deploy\"}}],\"getters\":[{\"name\":\"create\",\"arguments\":[{\"name\":\"v\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"S\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"owner","type":{"kind":"simple","type":"address","optional":false}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECEwEAAtcAAQHAAQEFoLHLAgEU/wD0pBP0vPLICwMCAWINBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtVWFibUNwaDNOc1FoenpoZHBENkt4MzZObzVCS05QNkszRE1jY3NSd21MejOCAAEbCvu1E0NIAAYAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAhO/zX7Z4A7Z42CcEgsDFNs8Ads8Ads8MQIMDAwABKQgAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UEg4BigGSMH/gcCHXScIflTAg1wsf3oIQlGqYtrqOp9MfAYIQlGqYtrry4IHTPwExyAGCEK/5D1dYyx/LP8n4QgFwbds8f+AwcA8BOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8EAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wARAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMALLtRNDUAfhj0gABjiD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIMeD4KNcLCoMJuvLgifpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0ako0e8="}},"sources":{"src\\test\\features\\ordering.tact":"aW1wb3J0ICJAc3RkbGliL2RlcGxveSI7DQoNCnN0cnVjdCBTIHsNCiAgICB2MTogSW50Ow0KICAgIHYyOiBJbnQ7DQogICAgdjM6IEludDsNCn0NCg0KbXV0YXRlcyBleHRlbmRzIGZ1biBpbmMoc2VsZjogSW50KTogSW50IHsNCiAgICBzZWxmID0gc2VsZiArIDE7DQogICAgcmV0dXJuIHNlbGY7DQp9DQoNCmNvbnRyYWN0IEEgd2l0aCBEZXBsb3lhYmxlIHsNCg0KICAgIG93bmVyOiBBZGRyZXNzOw0KDQogICAgaW5pdChvd25lcjogQWRkcmVzcykgew0KICAgICAgICBzZWxmLm93bmVyID0gb3duZXI7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBjcmVhdGUodjogSW50KTogUyB7DQogICAgICAgIHJldHVybiBTe3YzOiB2LmluYygpLCB2Mjogdi5pbmMoKSwgdjE6IHYuaW5jKCl9OyAvLyBOT1RFOiBJbnZlcnRlZCBvcmRlciENCiAgICB9IA0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/ordering.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/ordering_A.stdlib.fc b/src/test/features/output/ordering_A.stdlib.fc deleted file mode 100644 index c549a2800..000000000 --- a/src/test/features/output/ordering_A.stdlib.fc +++ /dev/null @@ -1,116 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -(slice, slice) __tact_load_address(slice cs) inline { - slice raw = cs~load_msg_addr(); - return (cs, __tact_verify_address(raw)); -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -((slice), ()) $A$_fun_forward((slice) $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var (($self'owner)) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return (($self'owner), ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return (($self'owner), ()); -} - -((slice), ()) $A$_fun_notify((slice) $self, cell $body) impure inline { - var (($self'owner)) = $self; - ($self'owner)~$A$_fun_forward(__tact_context_get_sender(), $body, false, null()); - return (($self'owner), ()); -} \ No newline at end of file diff --git a/src/test/features/output/ordering_A.storage.fc b/src/test/features/output/ordering_A.storage.fc deleted file mode 100644 index 88c00aefb..000000000 --- a/src/test/features/output/ordering_A.storage.fc +++ /dev/null @@ -1,109 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: Deploy -;; Header: 0x946a98b6 -;; TLB: deploy#946a98b6 queryId:uint64 = Deploy -;; - -(slice, ((int))) $Deploy$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2490013878); - var v'queryId = sc_0~load_uint(64); - return (sc_0, (v'queryId)); -} - -;; -;; Type: DeployOk -;; Header: 0xaff90f57 -;; TLB: deploy_ok#aff90f57 queryId:uint64 = DeployOk -;; - -builder $DeployOk$_store(builder build_0, (int) v) inline { - var (v'queryId) = v; - build_0 = store_uint(build_0, 2952335191, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell $DeployOk$_store_cell((int) v) inline { - return $DeployOk$_store(begin_cell(), v).end_cell(); -} - -((int)) $DeployOk$_constructor_queryId(int queryId) inline { - return (queryId); -} - -;; -;; Type: S -;; TLB: _ v1:int257 v2:int257 v3:int257 = S -;; - -(int, int, int) $S$_to_external(((int, int, int)) v) inline { - var (v'v1, v'v2, v'v3) = v; - return (v'v1, v'v2, v'v3); -} - -((int, int, int)) $S$_constructor_v3_v2_v1(int v3, int v2, int v1) inline { - return (v1, v2, v3); -} - -;; -;; Type: A -;; - -builder $A$_store(builder build_0, (slice) v) inline { - var (v'owner) = v; - build_0 = __tact_store_address(build_0, v'owner); - return build_0; -} - -(slice, ((slice))) $A$_load(slice sc_0) inline { - var v'owner = sc_0~__tact_load_address(); - return (sc_0, (v'owner)); -} - -(slice, ((slice))) $A$init$_load(slice sc_0) inline { - var v'owner = sc_0~__tact_load_address(); - return (sc_0, (v'owner)); -} - -(slice) $A$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$A$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (slice owner) = $sc~$A$init$_load(); - $sc.end_parse(); - return $A$_contract_init(owner); - } -} - -() $A$_contract_store((slice) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $A$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/ordering_A.ts b/src/test/features/output/ordering_A.ts deleted file mode 100644 index 591eebb62..000000000 --- a/src/test/features/output/ordering_A.ts +++ /dev/null @@ -1,492 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Deploy = { - $$type: 'Deploy'; - queryId: bigint; -} - -export function storeDeploy(src: Deploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2490013878, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2490013878) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function loadTupleDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function storeTupleDeploy(source: Deploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeploy(src)).endCell()); - }, - parse: (src) => { - return loadDeploy(src.loadRef().beginParse()); - } - } -} - -export type DeployOk = { - $$type: 'DeployOk'; - queryId: bigint; -} - -export function storeDeployOk(src: DeployOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2952335191, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeployOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2952335191) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function loadTupleDeployOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function storeTupleDeployOk(source: DeployOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeployOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeployOk(src)).endCell()); - }, - parse: (src) => { - return loadDeployOk(src.loadRef().beginParse()); - } - } -} - -export type FactoryDeploy = { - $$type: 'FactoryDeploy'; - queryId: bigint; - cashback: Address; -} - -export function storeFactoryDeploy(src: FactoryDeploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1829761339, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.cashback); - }; -} - -export function loadFactoryDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1829761339) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _cashback = sc_0.loadAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function loadTupleFactoryDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _cashback = source.readAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function storeTupleFactoryDeploy(source: FactoryDeploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.cashback); - return builder.build(); -} - -function dictValueParserFactoryDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFactoryDeploy(src)).endCell()); - }, - parse: (src) => { - return loadFactoryDeploy(src.loadRef().beginParse()); - } - } -} - -export type S = { - $$type: 'S'; - v1: bigint; - v2: bigint; - v3: bigint; -} - -export function storeS(src: S) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.v1, 257); - b_0.storeInt(src.v2, 257); - b_0.storeInt(src.v3, 257); - }; -} - -export function loadS(slice: Slice) { - let sc_0 = slice; - let _v1 = sc_0.loadIntBig(257); - let _v2 = sc_0.loadIntBig(257); - let _v3 = sc_0.loadIntBig(257); - return { $$type: 'S' as const, v1: _v1, v2: _v2, v3: _v3 }; -} - -function loadTupleS(source: TupleReader) { - let _v1 = source.readBigNumber(); - let _v2 = source.readBigNumber(); - let _v3 = source.readBigNumber(); - return { $$type: 'S' as const, v1: _v1, v2: _v2, v3: _v3 }; -} - -function storeTupleS(source: S) { - let builder = new TupleBuilder(); - builder.writeNumber(source.v1); - builder.writeNumber(source.v2); - builder.writeNumber(source.v3); - return builder.build(); -} - -function dictValueParserS(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeS(src)).endCell()); - }, - parse: (src) => { - return loadS(src.loadRef().beginParse()); - } - } -} - - type A_init_args = { - $$type: 'A_init_args'; - owner: Address; -} - -function initA_init_args(src: A_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeAddress(src.owner); - }; -} - -async function A_init(owner: Address) { - const __code = Cell.fromBase64('te6ccgECEQEAAs0AART/APSkE/S88sgLAQIBYgIDAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UCgQCASAICQGKAZIwf+BwIddJwh+VMCDXCx/eghCUapi2uo6n0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4DBwBQE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwGAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AAcAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwCE7/NftngDtnjYJwKCwIBIA0OALLtRNDUAfhj0gABjiD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIMeD4KNcLCoMJuvLgifpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0QMU2zwB2zwB2zwxAgwMDAAEpCAAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSAIBSA8QABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbVVhYm1DcGgzTnNRaHp6aGRwRDZLeDM2Tm81QktOUDZLM0RNY2NzUndtTHozgg'); - const __system = Cell.fromBase64('te6cckECEwEAAtcAAQHAAQEFoLHLAgEU/wD0pBP0vPLICwMCAWINBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtVWFibUNwaDNOc1FoenpoZHBENkt4MzZObzVCS05QNkszRE1jY3NSd21MejOCAAEbCvu1E0NIAAYAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAhO/zX7Z4A7Z42CcEgsDFNs8Ads8Ads8MQIMDAwABKQgAs7QAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4ILI+EMBzH8BygABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8Wye1UEg4BigGSMH/gcCHXScIflTAg1wsf3oIQlGqYtrqOp9MfAYIQlGqYtrry4IHTPwExyAGCEK/5D1dYyx/LP8n4QgFwbds8f+AwcA8BOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8EAHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wARAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMALLtRNDUAfhj0gABjiD6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIMeD4KNcLCoMJuvLgifpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IgB0ako0e8='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initA_init_args({ $$type: 'A_init_args', owner })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const A_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const A_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}, - {"name":"S","header":null,"fields":[{"name":"v1","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"v2","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"v3","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const A_getters: ABIGetter[] = [ - {"name":"create","arguments":[{"name":"v","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"S","optional":false}}, -] - -const A_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}, -] - -export class A implements Contract { - - static async init(owner: Address) { - return await A_init(owner); - } - - static async fromInit(owner: Address) { - const init = await A_init(owner); - const address = contractAddress(0, init); - return new A(address, init); - } - - static fromAddress(address: Address) { - return new A(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: A_types, - getters: A_getters, - receivers: A_receivers, - errors: A_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: Deploy) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Deploy') { - body = beginCell().store(storeDeploy(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getCreate(provider: ContractProvider, v: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(v); - let source = (await provider.get('create', builder.build())).stack; - const result = loadTupleS(source); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/random_RandomContract.abi b/src/test/features/output/random_RandomContract.abi deleted file mode 100644 index 023e653da..000000000 --- a/src/test/features/output/random_RandomContract.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"RandomContract","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}],"getters":[{"name":"randomInt","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"random","arguments":[{"name":"min","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"max","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/random_RandomContract.code.boc b/src/test/features/output/random_RandomContract.code.boc deleted file mode 100644 index 9c3745188..000000000 Binary files a/src/test/features/output/random_RandomContract.code.boc and /dev/null differ diff --git a/src/test/features/output/random_RandomContract.code.boc.html b/src/test/features/output/random_RandomContract.code.boc.html deleted file mode 100644 index eecfacdc9..000000000 --- a/src/test/features/output/random_RandomContract.code.boc.html +++ /dev/null @@ -1,389 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_92013;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_128647;
-            ..DECLPROC ?fun_ref_12ddd495964bf857;
-            ..DECLPROC ?fun_ref_1dd4b06caa854cc5;
-            ..DECLPROC ?fun_ref_2d07f38171ff8546;
-            ..DECLPROC ?fun_ref_a05e0042bce184fb;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            x2..recv_internal PROC:<{
-            18x2....s0 s1 XCHG
-            118x2....CTOS
-            26x2....4 LDU
-            18x2....s0 s1 XCHG
-            18x2....1 PUSHINT
-            18x2....AND
-            18x2....-1 MULCONST
-            18x2....s0 s1 XCHG
-            26x2....LDMSGADDR
-            18x2....s0 s1 XCHG
-            18x2....s0 PUSH
-            26x2....SBITS
-            34x2....267 PUSHINT
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            18x2....s0 PUSH
-            34x2....11 PLDU
-            18x2....s0 PUSH
-            34x2....1279 PUSHINT
-            18x2....EQUAL
-            34x2....137 THROWIF
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            34x2....136 THROWIFNOT
-            34x2....s0 s6 s4 PUXCPU
-            18x2....s0 s3 XCHG
-            30x2....4 TUPLE
-            28x2....1 SETGLOBVAR
-            18x2....s0 s2 XCHG
-            29x2....2 SETGLOBVAR
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....ROTREV
-            126x2....?fun_ref_1dd4b06caa854cc5 INLINECALLDICT
-            34x2....130 THROWIFNOT
-            18x2....s0 POP
-            18x2....NEWC
-            26x2....3 GETGLOBVAR
-            18x2....s0 s1 XCHG
-            18x2....STREF
-            18x2....-1 PUSHINT
-            18x2....s0 s1 XCHG
-            26x2....1 STI
-            518x2....ENDC
-            26x2....c4 POP
-            x2..}>
-            x1..?fun_92013 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x1....ROTREV
-            126x1....?fun_ref_2d07f38171ff8546 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D654E4A4C6D346D54345472446D434D69695048794235473567763736675072764A6B6D4E784171415169737482_} PUSHSLICE
-            ..}>
-            x1..?fun_128647 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_12ddd495964bf857 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_ref_12ddd495964bf857 PROCREF:<{
-            26x1....4 GETGLOBVAR
-            18x1....ISNULL
-            18x1....<{
-            26x1......LTIME
-            40x1......ADDRAND
-            18x1......-1 PUSHINT
-            31x1......4 SETGLOBVAR
-            18x1....}> PUSHCONT
-            18x1....IF
-            41x1....RANDU256
-            x1..}>
-            x58..?fun_ref_1dd4b06caa854cc5 PROCREF:<{
-            18x58....s0 s1 XCHG
-            18x58....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x58....}> PUSHCONT
-            18x58....IFJMP
-            18x58....0 PUSHINT
-            18x58....s1 PUSH
-            26x58....SBITS
-            26x58....31 GTINT
-            18x58....<{
-            18x58......s0 POP
-            18x58......s0 PUSH
-            34x58......32 PLDU
-            18x58....}> PUSHCONT
-            18x58....IF
-            23x58....2490013878 PUSHINT
-            18x58....EQUAL
-            26x58....<{
-            26x58......32 LDU
-            18x58......s0 s1 XCHG
-            23x58......2490013878 PUSHINT
-            18x58......EQUAL
-            34x58......129 THROWIFNOT
-            26x58......64 LDU
-            18x58......s0 s1 XCHG
-            18x58......s1 POP
-            18x58......NEWC
-            18x58......s0 s1 XCHG
-            23x58......2952335191 PUSHINT
-            18x58......ROT
-            26x58......32 STU
-            26x58......64 STU
-            518x58......ENDC
-            26x58......2 GETGLOBVAR
-            18x58......s0 s1 XCHG
-            18x58......0 PUSHINT
-            18x58......NULL
-            126x58......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            18x58......-1 PUSHINT
-            26x58....}> PUSHCONT
-            18x58....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            x58..}>
-            x1..?fun_ref_2d07f38171ff8546 PROCREF:<{
-            26x1....4 GETGLOBVAR
-            18x1....ISNULL
-            18x1....<{
-            26x1......LTIME
-            40x1......ADDRAND
-            18x1......-1 PUSHINT
-            31x1......4 SETGLOBVAR
-            18x1....}> PUSHCONT
-            18x1....IF
-            18x1....s1 PUSH
-            18x1....SUB
-            41x1....RAND
-            18x1....ADD
-            x1..}>
-            x344..?fun_ref_a05e0042bce184fb PROCREF:<{
-            26x344....c4 PUSH
-            118x344....CTOS
-            18x344....LDREF
-            18x344....s0 s1 XCHG
-            30x344....3 SETGLOBVAR
-            26x344....1 LDI
-            18x344....s0 POP
-            18x344....<{
-            18x273......NULL
-            18x344....}> PUSHCONT
-            18x344....IFJMP
-            26x71....MYADDR
-            34x71....11 PLDU
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....137 THROWIFNOT
-            126x71....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x344..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x80..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x80....NULL
-            x80..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/random_RandomContract.code.fc b/src/test/features/output/random_RandomContract.code.fc deleted file mode 100644 index a15cc392c..000000000 --- a/src/test/features/output/random_RandomContract.code.fc +++ /dev/null @@ -1,123 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "random_RandomContract.headers.fc"; -#include "random_RandomContract.stdlib.fc"; -#include "random_RandomContract.storage.fc"; - -;; -;; Contract RandomContract functions -;; - -tuple $RandomContract$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -(tuple, int) $RandomContract$_fun_randomInt(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, $global_randomInt()); -} - -(tuple, int) $RandomContract$_fun_random(tuple $self, int $min, int $max) impure inline_ref { - var ($self) = $self; - return ($self, $global_random($min, $max)); -} - -;; -;; Receivers of a Contract RandomContract -;; - -((tuple), ()) $RandomContract$_internal_binary_Deploy(tuple $self, (int) $deploy) impure inline { - var $self = $self; - var ($deploy'queryId) = $deploy; - $self~$RandomContract$_fun_notify($DeployOk$_store_cell($DeployOk$_constructor_queryId($deploy'queryId))); - return ($self, ()); -} - -;; -;; Get methods of a Contract RandomContract -;; - -_ %randomInt() method_id(128647) { - var self = $RandomContract$_contract_load(); - var res = self~$RandomContract$_fun_randomInt(); - return res; -} - -_ %random(int $$min, int $$max) method_id(92013) { - int $min = $$min; - int $max = $$max; - var self = $RandomContract$_contract_load(); - var res = self~$RandomContract$_fun_random($min, $max); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmeNJLm4mT4TrDmCMiiPHyB5G5gv76gPrvJkmNxAqAQist"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract RandomContract -;; - -(tuple, int) $RandomContract$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Deploy message - if (op == 2490013878) { - var msg = in_msg~$Deploy$_load(); - self~$RandomContract$_internal_binary_Deploy(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $RandomContract$_contract_load(); - - ;; Handle operation - int handled = self~$RandomContract$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $RandomContract$_contract_store(self); -} diff --git a/src/test/features/output/random_RandomContract.code.fif b/src/test/features/output/random_RandomContract.code.fif deleted file mode 100644 index 798e56515..000000000 --- a/src/test/features/output/random_RandomContract.code.fif +++ /dev/null @@ -1,382 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_prepare_random - DECLPROC __tact_store_bool - DECLPROC $Deploy$_load - DECLPROC $DeployOk$_store - DECLPROC $DeployOk$_store_cell - DECLPROC $StateInit$_not_null - DECLPROC $RandomContract$_contract_init - DECLPROC $RandomContract$_contract_load - DECLPROC $RandomContract$_contract_store - DECLPROC $global_randomInt - DECLPROC $global_random - DECLPROC $global_send - DECLPROC $RandomContract$_fun_randomInt - DECLPROC $RandomContract$_fun_random - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $RandomContract$_fun_forward - DECLPROC $RandomContract$_fun_notify - DECLPROC $DeployOk$_constructor_queryId - DECLPROC $RandomContract$_internal_binary_Deploy - 128647 DECLMETHOD %randomInt - 92013 DECLMETHOD %random - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $RandomContract$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_prepare_random PROCINLINE:<{ - __tact_randomized GETGLOB - ISNULL - IF:<{ - LTIME - ADDRAND - TRUE - __tact_randomized SETGLOB - }> - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - $Deploy$_load PROCINLINE:<{ - 32 LDU - SWAP - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - SWAP - }> - $DeployOk$_store PROCINLINE:<{ - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - }> - $DeployOk$_store_cell PROCINLINE:<{ - NEWC - SWAP - $DeployOk$_store INLINECALLDICT - ENDC - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $RandomContract$_contract_init PROCREF:<{ - PUSHNULL - }> - $RandomContract$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $RandomContract$_contract_init INLINECALLDICT - }> - $RandomContract$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $global_randomInt PROCINLINE:<{ - __tact_prepare_random INLINECALLDICT - RANDU256 - }> - $global_random PROCINLINE:<{ - __tact_prepare_random INLINECALLDICT - OVER - SUB - RAND - ADD - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $RandomContract$_fun_randomInt PROCREF:<{ - $global_randomInt INLINECALLDICT - }> - $RandomContract$_fun_random PROCREF:<{ - $global_random INLINECALLDICT - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $RandomContract$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $RandomContract$_fun_notify PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - FALSE - PUSHNULL - $RandomContract$_fun_forward INLINECALLDICT - }> - $DeployOk$_constructor_queryId PROCINLINE:<{ - }> - $RandomContract$_internal_binary_Deploy PROCINLINE:<{ - $DeployOk$_constructor_queryId INLINECALLDICT - $DeployOk$_store_cell INLINECALLDICT - $RandomContract$_fun_notify INLINECALLDICT - }> - %randomInt PROC:<{ - $RandomContract$_contract_load INLINECALLDICT - $RandomContract$_fun_randomInt INLINECALLDICT - NIP - }> - %random PROC:<{ - $RandomContract$_contract_load INLINECALLDICT - -ROT - $RandomContract$_fun_random INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d654e4a4c6d346d54345472446d434d69695048794235473567763736675072764a6b6d4e7841714151697374} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $RandomContract$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 2490013878 PUSHINT - EQUAL - IFJMP:<{ - $Deploy$_load INLINECALLDICT - NIP - $RandomContract$_internal_binary_Deploy INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $RandomContract$_contract_load INLINECALLDICT - -ROT - $RandomContract$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $RandomContract$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/random_RandomContract.code.rev.fif b/src/test/features/output/random_RandomContract.code.rev.fif deleted file mode 100644 index 282bd5533..000000000 --- a/src/test/features/output/random_RandomContract.code.rev.fif +++ /dev/null @@ -1,353 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_92013; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_128647; - DECLPROC ?fun_ref_12ddd495964bf857; - DECLPROC ?fun_ref_1dd4b06caa854cc5; - DECLPROC ?fun_ref_2d07f38171ff8546; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_e31d986f279fa0fb; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_1dd4b06caa854cc5 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_92013 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_2d07f38171ff8546 INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D654E4A4C6D346D54345472446D434D69695048794235473567763736675072764A6B6D4E784171415169737482_} PUSHSLICE - }> - ?fun_128647 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_12ddd495964bf857 INLINECALLDICT - s1 POP - }> - ?fun_ref_12ddd495964bf857 PROCREF:<{ - 4 GETGLOBVAR - ISNULL - <{ - LTIME - ADDRAND - -1 PUSHINT - 4 SETGLOBVAR - }> PUSHCONT - IF - RANDU256 - }> - ?fun_ref_1dd4b06caa854cc5 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 2490013878 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - s0 s1 XCHG - s1 POP - NEWC - s0 s1 XCHG - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - 0 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> - ?fun_ref_2d07f38171ff8546 PROCREF:<{ - 4 GETGLOBVAR - ISNULL - <{ - LTIME - ADDRAND - -1 PUSHINT - 4 SETGLOBVAR - }> PUSHCONT - IF - s1 PUSH - SUB - RAND - ADD - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/random_RandomContract.headers.fc b/src/test/features/output/random_RandomContract.headers.fc deleted file mode 100644 index ed3ac9c70..000000000 --- a/src/test/features/output/random_RandomContract.headers.fc +++ /dev/null @@ -1,76 +0,0 @@ -;; -;; Header files for RandomContract -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_prepare_random -() __tact_prepare_random() impure inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; $Deploy$_load -(slice, ((int))) $Deploy$_load(slice sc_0) inline; - -;; $DeployOk$_store -builder $DeployOk$_store(builder build_0, (int) v) inline; - -;; $DeployOk$_store_cell -cell $DeployOk$_store_cell((int) v) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $RandomContract$_contract_init -tuple $RandomContract$_contract_init() impure inline_ref; - -;; $RandomContract$_contract_load -tuple $RandomContract$_contract_load() impure inline_ref; - -;; $RandomContract$_contract_store -() $RandomContract$_contract_store(tuple v) impure inline; - -;; $global_randomInt -int $global_randomInt() impure inline; - -;; $global_random -int $global_random(int $min, int $max) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $RandomContract$_fun_randomInt -(tuple, int) $RandomContract$_fun_randomInt(tuple $self) impure inline_ref; - -;; $RandomContract$_fun_random -(tuple, int) $RandomContract$_fun_random(tuple $self, int $min, int $max) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $RandomContract$_fun_forward -(tuple, ()) $RandomContract$_fun_forward(tuple $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $RandomContract$_fun_notify -(tuple, ()) $RandomContract$_fun_notify(tuple $self, cell $body) impure inline; - -;; $DeployOk$_constructor_queryId -((int)) $DeployOk$_constructor_queryId(int queryId) inline; diff --git a/src/test/features/output/random_RandomContract.md b/src/test/features/output/random_RandomContract.md deleted file mode 100644 index 7462679e2..000000000 --- a/src/test/features/output/random_RandomContract.md +++ /dev/null @@ -1,65 +0,0 @@ -# TACT Compilation Report -Contract: RandomContract -BOC Size: 672 bytes - -# Types -Total Types: 6 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Deploy -TLB: `deploy#946a98b6 queryId:uint64 = Deploy` -Signature: `Deploy{queryId:uint64}` - -## DeployOk -TLB: `deploy_ok#aff90f57 queryId:uint64 = DeployOk` -Signature: `DeployOk{queryId:uint64}` - -## FactoryDeploy -TLB: `factory_deploy#6d0ff13b queryId:uint64 cashback:address = FactoryDeploy` -Signature: `FactoryDeploy{queryId:uint64,cashback:address}` - -# Get Methods -Total Get Methods: 2 - -## randomInt - -## random -Argument: min -Argument: max - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/random_RandomContract.pkg b/src/test/features/output/random_RandomContract.pkg deleted file mode 100644 index 8bd54b3b3..000000000 --- a/src/test/features/output/random_RandomContract.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"RandomContract","code":"te6ccgECFAEAApQAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UEQQCASAICQGKAZIwf+BwIddJwh+VMCDXCx/eghCUapi2uo6n0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4DBwBQE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwGAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AAcAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwCEb87btniztnhjBEKAgEgCwwAIvhEbpf4JfgVf/hk3iGh+BGgALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgCASANDgIBIA8QAg+20Ptnm2eGMBESABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbWVOSkxtNG1UNFRyRG1DTWlpUEh5QjVHNWd2NzZnUHJ2SmttTnhBcUFRaXN0ggATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPBMAHPhEbpf4JfgVf/hk3vgQAAJt","abi":"{\"name\":\"RandomContract\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Deploy\",\"header\":2490013878,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"DeployOk\",\"header\":2952335191,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"FactoryDeploy\",\"header\":1829761339,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"cashback\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Deploy\"}}],\"getters\":[{\"name\":\"randomInt\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"random\",\"arguments\":[{\"name\":\"min\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"max\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECFgEAAp4AAQHAAQEFoUJ9AgEU/wD0pBP0vPLICwMCAWIPBAIBIA0FAgEgDAYCASAJBwIPttD7Z5tnhjAUCAAc+ERul/gl+BV/+GTe+BACASALCgB1sm7jQ1aXBmczovL1FtZU5KTG00bVQ0VHJEbUNNaWlQSHlCNUc1Z3Y3NmdQcnZKa21OeEFxQVFpc3SCAAEbCvu1E0NIAAYAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAhG/O27Z4s7Z4YwUDgAi+ERul/gl+BV/+GTeIaH4EaACktAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQUEAGKAZIwf+BwIddJwh+VMCDXCx/eghCUapi2uo6n0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4DBwEQE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwSAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABMAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwBNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8FQACbb/WsP0="}},"sources":{"src\\test\\features\\random.tact":"aW1wb3J0ICJAc3RkbGliL2RlcGxveSI7DQoNCmNvbnRyYWN0IFJhbmRvbUNvbnRyYWN0IHdpdGggRGVwbG95YWJsZSB7DQoNCiAgICBpbml0KCkgew0KICAgICAgICAvLyBkbyBub3RoaW5nDQogICAgfQ0KDQogICAgZ2V0IGZ1biByYW5kb21JbnQoKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHJhbmRvbUludCgpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gcmFuZG9tKG1pbjogSW50LCBtYXg6IEludCk6IEludCB7DQogICAgICAgIHJldHVybiByYW5kb20obWluLCBtYXgpOw0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/random.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/random_RandomContract.stdlib.fc b/src/test/features/output/random_RandomContract.stdlib.fc deleted file mode 100644 index 8320ff695..000000000 --- a/src/test/features/output/random_RandomContract.stdlib.fc +++ /dev/null @@ -1,128 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -() __tact_prepare_random() impure inline { - if (null?(__tact_randomized)) { - randomize_lt(); - __tact_randomized = true; - } -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -int $global_randomInt() impure inline { - __tact_prepare_random(); - return random(); -} - -int $global_random(int $min, int $max) impure inline { - __tact_prepare_random(); - return ($min + rand(($max - $min))); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -(tuple, ()) $RandomContract$_fun_forward(tuple $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var ($self) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return ($self, ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return ($self, ()); -} - -(tuple, ()) $RandomContract$_fun_notify(tuple $self, cell $body) impure inline { - var ($self) = $self; - $self~$RandomContract$_fun_forward(__tact_context_get_sender(), $body, false, null()); - return ($self, ()); -} \ No newline at end of file diff --git a/src/test/features/output/random_RandomContract.storage.fc b/src/test/features/output/random_RandomContract.storage.fc deleted file mode 100644 index 79823d7d7..000000000 --- a/src/test/features/output/random_RandomContract.storage.fc +++ /dev/null @@ -1,76 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: Deploy -;; Header: 0x946a98b6 -;; TLB: deploy#946a98b6 queryId:uint64 = Deploy -;; - -(slice, ((int))) $Deploy$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2490013878); - var v'queryId = sc_0~load_uint(64); - return (sc_0, (v'queryId)); -} - -;; -;; Type: DeployOk -;; Header: 0xaff90f57 -;; TLB: deploy_ok#aff90f57 queryId:uint64 = DeployOk -;; - -builder $DeployOk$_store(builder build_0, (int) v) inline { - var (v'queryId) = v; - build_0 = store_uint(build_0, 2952335191, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell $DeployOk$_store_cell((int) v) inline { - return $DeployOk$_store(begin_cell(), v).end_cell(); -} - -((int)) $DeployOk$_constructor_queryId(int queryId) inline { - return (queryId); -} - -;; -;; Type: RandomContract -;; - -tuple $RandomContract$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $RandomContract$_contract_init(); - } -} - -() $RandomContract$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/random_RandomContract.ts b/src/test/features/output/random_RandomContract.ts deleted file mode 100644 index 7b7762c2c..000000000 --- a/src/test/features/output/random_RandomContract.ts +++ /dev/null @@ -1,448 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Deploy = { - $$type: 'Deploy'; - queryId: bigint; -} - -export function storeDeploy(src: Deploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2490013878, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2490013878) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function loadTupleDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function storeTupleDeploy(source: Deploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeploy(src)).endCell()); - }, - parse: (src) => { - return loadDeploy(src.loadRef().beginParse()); - } - } -} - -export type DeployOk = { - $$type: 'DeployOk'; - queryId: bigint; -} - -export function storeDeployOk(src: DeployOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2952335191, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeployOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2952335191) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function loadTupleDeployOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function storeTupleDeployOk(source: DeployOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeployOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeployOk(src)).endCell()); - }, - parse: (src) => { - return loadDeployOk(src.loadRef().beginParse()); - } - } -} - -export type FactoryDeploy = { - $$type: 'FactoryDeploy'; - queryId: bigint; - cashback: Address; -} - -export function storeFactoryDeploy(src: FactoryDeploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1829761339, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.cashback); - }; -} - -export function loadFactoryDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1829761339) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _cashback = sc_0.loadAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function loadTupleFactoryDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _cashback = source.readAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function storeTupleFactoryDeploy(source: FactoryDeploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.cashback); - return builder.build(); -} - -function dictValueParserFactoryDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFactoryDeploy(src)).endCell()); - }, - parse: (src) => { - return loadFactoryDeploy(src.loadRef().beginParse()); - } - } -} - - type RandomContract_init_args = { - $$type: 'RandomContract_init_args'; -} - -function initRandomContract_init_args(src: RandomContract_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function RandomContract_init() { - const __code = Cell.fromBase64('te6ccgECFAEAApQAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UEQQCASAICQGKAZIwf+BwIddJwh+VMCDXCx/eghCUapi2uo6n0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4DBwBQE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwGAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7AAcAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwCEb87btniztnhjBEKAgEgCwwAIvhEbpf4JfgVf/hk3iGh+BGgALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgCASANDgIBIA8QAg+20Ptnm2eGMBESABGwr7tRNDSAAGAAdbJu40NWlwZnM6Ly9RbWVOSkxtNG1UNFRyRG1DTWlpUEh5QjVHNWd2NzZnUHJ2SmttTnhBcUFRaXN0ggATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPBMAHPhEbpf4JfgVf/hk3vgQAAJt'); - const __system = Cell.fromBase64('te6cckECFgEAAp4AAQHAAQEFoUJ9AgEU/wD0pBP0vPLICwMCAWIPBAIBIA0FAgEgDAYCASAJBwIPttD7Z5tnhjAUCAAc+ERul/gl+BV/+GTe+BACASALCgB1sm7jQ1aXBmczovL1FtZU5KTG00bVQ0VHJEbUNNaWlQSHlCNUc1Z3Y3NmdQcnZKa21OeEFxQVFpc3SCAAEbCvu1E0NIAAYAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAhG/O27Z4s7Z4YwUDgAi+ERul/gl+BV/+GTeIaH4EaACktAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQUEAGKAZIwf+BwIddJwh+VMCDXCx/eghCUapi2uo6n0x8BghCUapi2uvLggdM/ATHIAYIQr/kPV1jLH8s/yfhCAXBt2zx/4DBwEQE6bW0ibrOZWyBu8tCAbyIBkTLiECRwAwSAQlAj2zwSAcrIcQHKAVAHAcoAcAHKAlAFINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiM8WUAP6AnABymgjbrORf5MkbrPilzMzAXABygDjDSFus5x/AcoAASBu8tCAAcyVMXABygDiyQH7ABMAmH8BygDIcAHKAHABygAkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDiJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4nABygACfwHKAALJWMwBNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8FQACbb/WsP0='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initRandomContract_init_args({ $$type: 'RandomContract_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const RandomContract_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const RandomContract_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}, -] - -const RandomContract_getters: ABIGetter[] = [ - {"name":"randomInt","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"random","arguments":[{"name":"min","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"max","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const RandomContract_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}, -] - -export class RandomContract implements Contract { - - static async init() { - return await RandomContract_init(); - } - - static async fromInit() { - const init = await RandomContract_init(); - const address = contractAddress(0, init); - return new RandomContract(address, init); - } - - static fromAddress(address: Address) { - return new RandomContract(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: RandomContract_types, - getters: RandomContract_getters, - receivers: RandomContract_receivers, - errors: RandomContract_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: Deploy) { - - let body: Cell | null = null; - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Deploy') { - body = beginCell().store(storeDeploy(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getRandomInt(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('randomInt', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getRandom(provider: ContractProvider, min: bigint, max: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(min); - builder.writeNumber(max); - let source = (await provider.get('random', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/send_SendTester.abi b/src/test/features/output/send_SendTester.abi deleted file mode 100644 index b76da332b..000000000 --- a/src/test/features/output/send_SendTester.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"SendTester","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]},{"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"text","text":"Hello"}},{"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}],"getters":[],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/send_SendTester.code.boc b/src/test/features/output/send_SendTester.code.boc deleted file mode 100644 index b2a0480a5..000000000 Binary files a/src/test/features/output/send_SendTester.code.boc and /dev/null differ diff --git a/src/test/features/output/send_SendTester.code.boc.html b/src/test/features/output/send_SendTester.code.boc.html deleted file mode 100644 index 24e4665b8..000000000 --- a/src/test/features/output/send_SendTester.code.boc.html +++ /dev/null @@ -1,388 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_b93b9862cda1783c;
-            ..DECLPROC ?fun_ref_be9e48593636eeba;
-            ..DECLPROC ?fun_ref_d8a2bb458e05ea78;
-            ..DECLPROC ?fun_ref_e31d986f279fa0fb;
-            ..DECLPROC ?fun_ref_f9f31152659ffd4f;
-            x4..recv_internal PROC:<{
-            18x4....s0 s1 XCHG
-            118x4....CTOS
-            26x4....4 LDU
-            18x4....s0 s1 XCHG
-            18x4....1 PUSHINT
-            18x4....AND
-            18x4....-1 MULCONST
-            18x4....s0 s1 XCHG
-            26x4....LDMSGADDR
-            18x4....s0 s1 XCHG
-            18x4....s0 PUSH
-            26x4....SBITS
-            34x4....267 PUSHINT
-            18x4....EQUAL
-            34x4....136 THROWIFNOT
-            18x4....s0 PUSH
-            34x4....11 PLDU
-            18x4....s0 PUSH
-            34x4....1279 PUSHINT
-            18x4....EQUAL
-            34x4....137 THROWIF
-            26x4....10 PUSHPOW2
-            18x4....EQUAL
-            34x4....136 THROWIFNOT
-            34x4....s0 s6 s4 PUXCPU
-            18x4....s0 s3 XCHG
-            30x4....4 TUPLE
-            28x4....1 SETGLOBVAR
-            18x4....s0 s2 XCHG
-            29x4....2 SETGLOBVAR
-            126x4....?fun_ref_f9f31152659ffd4f INLINECALLDICT
-            18x4....ROTREV
-            126x4....?fun_ref_d8a2bb458e05ea78 INLINECALLDICT
-            84x4....130 THROWIFNOT
-            18x3....s0 POP
-            18x3....NEWC
-            26x3....3 GETGLOBVAR
-            18x3....s0 s1 XCHG
-            18x3....STREF
-            18x3....-1 PUSHINT
-            18x3....s0 s1 XCHG
-            26x3....1 STI
-            518x3....ENDC
-            26x3....c4 POP
-            x4..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D51763254463944416F53696842567647486D46544170516A50706A7A4C42426550577970783854594C52424D82_} PUSHSLICE
-            ..}>
-            x71..?fun_ref_b93b9862cda1783c PROCREF:<{
-            18x71....NEWC
-            18x71....1 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....2 STI
-            26x71....s0 s7 XCHG2
-            18x71....s0 s1 XCHG
-            26x71....1 STI
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....3 STI
-            26x71....s0 s5 XCHG2
-            18x71....s0 PUSH
-            26x71....SBITS
-            34x71....267 PUSHINT
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            18x71....s0 PUSH
-            34x71....11 PLDU
-            18x71....s0 PUSH
-            34x71....1279 PUSHINT
-            18x71....EQUAL
-            34x71....137 THROWIF
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....136 THROWIFNOT
-            26x71....STSLICER
-            26x71....s0 s3 XCHG2
-            26x71....STGRAMS
-            18x71....0 PUSHINT
-            18x71....s0 s1 XCHG
-            26x71....105 STI
-            18x71....s3 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x4......-1 PUSHINT
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x67......s4 PUSH
-            18x67......ISNULL
-            18x67......NOT
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            18x71....<{
-            18x67......s3 POP
-            18x67......s3 POP
-            18x67......s0 s1 XCHG
-            18x67......0 PUSHINT
-            18x67......s0 s1 XCHG
-            26x67......1 STI
-            18x71....}> PUSHCONT
-            126x71....<{
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......NEWC
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......s4 PUSH
-            18x4......ISNULL
-            18x4......NOT
-            18x4......<{
-            18x4........-1 PUSHINT
-            18x4........s0 s1 XCHG
-            26x4........1 STI
-            18x4........s0 s4 XCHG
-            18x4........s0 PUSH
-            18x4........ISNULL
-            34x4........128 THROWIF
-            26x4........s0 s4 XCHG2
-            18x4........STREF
-            18x4......}> PUSHCONT
-            18x4......<{
-            ........s4 POP
-            ........s0 s3 XCHG
-            ........0 PUSHINT
-            ........s0 s1 XCHG
-            ........1 STI
-            18x4......}> PUSHCONT
-            18x4......IFELSE
-            18x4......0 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            18x4......-1 PUSHINT
-            18x4......s0 s1 XCHG
-            26x4......1 STI
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            18x4......ROT
-            18x4......STREF
-            126x71....}> IFREFELSE
-            18x71....s1 PUSH
-            18x71....ISNULL
-            18x71....NOT
-            18x71....<{
-            18x70......-1 PUSHINT
-            18x70......s0 s1 XCHG
-            26x70......1 STI
-            18x70......s0 s1 XCHG
-            18x70......s0 PUSH
-            18x70......ISNULL
-            34x70......128 THROWIF
-            18x70......s0 s1 XCHG
-            18x70......STREF
-            18x71....}> PUSHCONT
-            18x71....<{
-            18x1......s1 POP
-            18x1......0 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......1 STI
-            18x71....}> PUSHCONT
-            18x71....IFELSE
-            518x71....ENDC
-            18x71....s0 s1 XCHG
-            526x71....SENDRAWMSG
-            x71..}>
-            x2..?fun_ref_be9e48593636eeba PROCREF:<{
-            18x2....NULL
-            18x2....x{000000004465706C6F792073756363657373} PUSHREF
-            18x2....NEWC
-            23x2....15211807202738752817960438464513 PUSHINT
-            18x2....s0 s1 XCHG
-            26x2....104 STU
-            18x2....STREF
-            518x2....ENDC
-            18x2....0 PUSHINT
-            526x2....SENDRAWMSG
-            x2..}>
-            x4..?fun_ref_d8a2bb458e05ea78 PROCREF:<{
-            26x4....2 SAVE
-            26x4....SAMEALTSAVE
-            18x4....s0 s1 XCHG
-            18x4....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x4....}> PUSHCONT
-            18x4....IFJMP
-            18x4....0 PUSHINT
-            18x4....s1 PUSH
-            26x4....SBITS
-            26x4....31 GTINT
-            18x4....<{
-            18x4......s0 POP
-            18x4......s0 PUSH
-            34x4......32 PLDU
-            18x4....}> PUSHCONT
-            18x4....IF
-            18x4....s0 PUSH
-            23x4....2490013878 PUSHINT
-            18x4....EQUAL
-            26x4....<{
-            18x2......s0 POP
-            26x2......32 LDU
-            18x2......s0 s1 XCHG
-            23x2......2490013878 PUSHINT
-            18x2......EQUAL
-            34x2......129 THROWIFNOT
-            26x2......64 LDU
-            18x2......s0 s1 XCHG
-            18x2......s1 POP
-            18x2......NEWC
-            18x2......s0 s1 XCHG
-            23x2......2952335191 PUSHINT
-            18x2......ROT
-            26x2......32 STU
-            26x2......64 STU
-            518x2......ENDC
-            26x2......2 GETGLOBVAR
-            18x2......s0 s1 XCHG
-            18x2......0 PUSHINT
-            18x2......NULL
-            126x2......?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            18x2......-1 PUSHINT
-            26x4....}> PUSHCONT
-            18x4....IFJMP
-            26x2....0 EQINT
-            18x2....<{
-            ......s0 POP
-            18x2....}> PUSHCONT
-            126x2....<{
-            526x2......HASHSU
-            23x2......70428803322249702641686993123444091967701319117035219703275842373885383815233 PUSHINT
-            18x2......EQUAL
-            26x2......<{
-            18x1........x{00000000576F726C64} PUSHREF
-            26x1........2 GETGLOBVAR
-            18x1........s0 s1 XCHG
-            18x1........-1 PUSHINT
-            18x1........NULL
-            126x1........?fun_ref_e31d986f279fa0fb INLINECALLDICT
-            18x1........x{00000000536F6D657468696E67} PUSHREF
-            18x1........NEWC
-            23x1........15211807202738752817960438464513 PUSHINT
-            18x1........s0 s1 XCHG
-            26x1........104 STU
-            18x1........STREF
-            518x1........ENDC
-            18x1........0 PUSHINT
-            526x1........SENDRAWMSG
-            18x1........-1 PUSHINT
-            26x1........RETFALSE
-            26x2......}> PUSHCONT
-            18x2......IFJMP
-            126x2....}> IFREFELSE
-            18x1....0 PUSHINT
-            x4..}>
-            x63..?fun_ref_e31d986f279fa0fb PROCREF:<{
-            18x63....NULL
-            18x63....NULL
-            18x63....s2 PUSH
-            18x63....ISNULL
-            18x63....NOT
-            18x63....<{
-            ......DROP2
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            18x63....}> PUSHCONT
-            18x63....<{
-            18x63......s2 POP
-            18x63....}> PUSHCONT
-            18x63....IFELSE
-            26x63....s2 s4 XCHG
-            18x63....0 PUSHINT
-            18x63....s0 s3 XCHG
-            18x63....s0 s4 XCHG
-            26x63....66 PUSHINT
-            26x63....s2 s3 XCHG2
-            126x63....?fun_ref_b93b9862cda1783c INLINECALLDICT
-            x63..}>
-            x4..?fun_ref_f9f31152659ffd4f PROCREF:<{
-            26x4....c4 PUSH
-            118x4....CTOS
-            18x4....LDREF
-            18x4....s0 s1 XCHG
-            30x4....3 SETGLOBVAR
-            26x4....1 LDI
-            18x4....s0 POP
-            18x4....<{
-            18x2......NULL
-            18x4....}> PUSHCONT
-            18x4....IFJMP
-            26x2....MYADDR
-            34x2....11 PLDU
-            26x2....10 PUSHPOW2
-            18x2....EQUAL
-            34x2....137 THROWIFNOT
-            126x2....?fun_ref_be9e48593636eeba INLINECALLDICT
-            x4..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/send_SendTester.code.fc b/src/test/features/output/send_SendTester.code.fc deleted file mode 100644 index f72987e4c..000000000 --- a/src/test/features/output/send_SendTester.code.fc +++ /dev/null @@ -1,119 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "send_SendTester.headers.fc"; -#include "send_SendTester.stdlib.fc"; -#include "send_SendTester.constants.fc"; -#include "send_SendTester.storage.fc"; - -;; -;; Contract SendTester functions -;; - -tuple $SendTester$_contract_init() impure inline_ref { - tuple $self = null(); - $global_emit(__gen_cell_comment_50b8812df4a733c5a2266eb68dec952c64d04a3174bae42566a1e191dbdb470c()); - return $self; -} - -;; -;; Receivers of a Contract SendTester -;; - -(tuple, ()) $SendTester$_internal_text_9bb54a40af36ff58e865c6cca0bf3be3897054c962cb4a54c3b60962cb2a3041(tuple $self) impure inline { - var $self = $self; - $self~$SendTester$_fun_reply(__gen_cell_comment_95fbfd67c31e549b5d4386ed4a2beebc294be55acb3eddadaa7f9df86be36d42()); - $global_emit(__gen_cell_comment_ec65c74747db20896a39d874b0473dd5e61e08fc9f3516d56d58eaeea5031ea4()); - return ($self, ()); -} - -((tuple), ()) $SendTester$_internal_binary_Deploy(tuple $self, (int) $deploy) impure inline { - var $self = $self; - var ($deploy'queryId) = $deploy; - $self~$SendTester$_fun_notify($DeployOk$_store_cell($DeployOk$_constructor_queryId($deploy'queryId))); - return ($self, ()); -} - -;; -;; Get methods of a Contract SendTester -;; - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmQv2TF9DAoSihBVvGHmFTApQjPpjzLBBePWypx8TYLRBM"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract SendTester -;; - -(tuple, int) $SendTester$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive Deploy message - if (op == 2490013878) { - var msg = in_msg~$Deploy$_load(); - self~$SendTester$_internal_binary_Deploy(msg); - return (self, true); - } - - ;; Text Receivers - if (op == 0) { - var text_op = slice_hash(in_msg); - - ;; Receive "Hello" message - if (text_op == 0x9bb54a40af36ff58e865c6cca0bf3be3897054c962cb4a54c3b60962cb2a3041) { - self~$SendTester$_internal_text_9bb54a40af36ff58e865c6cca0bf3be3897054c962cb4a54c3b60962cb2a3041(); - return (self, true); - } - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $SendTester$_contract_load(); - - ;; Handle operation - int handled = self~$SendTester$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $SendTester$_contract_store(self); -} diff --git a/src/test/features/output/send_SendTester.code.fif b/src/test/features/output/send_SendTester.code.fif deleted file mode 100644 index 94bb42a6f..000000000 --- a/src/test/features/output/send_SendTester.code.fif +++ /dev/null @@ -1,381 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_store_address - DECLPROC __tact_my_balance - DECLPROC __tact_not_null - DECLPROC __tact_context_get - DECLPROC __tact_context_get_sender - DECLPROC __tact_store_bool - DECLPROC $Deploy$_load - DECLPROC $DeployOk$_store - DECLPROC $DeployOk$_store_cell - DECLPROC $StateInit$_not_null - DECLPROC $global_emit - DECLPROC $SendTester$_contract_init - DECLPROC $SendTester$_contract_load - DECLPROC $SendTester$_contract_store - DECLPROC $global_send - DECLPROC $SendParameters$_constructor_bounce_to_value_mode_body_code_data - DECLPROC $SendTester$_fun_forward - DECLPROC $SendTester$_fun_reply - DECLPROC $SendTester$_fun_notify - DECLPROC $DeployOk$_constructor_queryId - DECLPROC $SendTester$_internal_text_9bb54a40af36ff58e865c6cca0bf3be3897054c962cb4a54c3b60962cb2a3041 - DECLPROC $SendTester$_internal_binary_Deploy - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $SendTester$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_store_address PROCINLINE:<{ - __tact_verify_address INLINECALLDICT - STSLICER - }> - __tact_my_balance PROCINLINE:<{ - BALANCE - FIRST - }> - __tact_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - }> - __tact_context_get PROCINLINE:<{ - __tact_context GETGLOB - 4 UNTUPLE - }> - __tact_context_get_sender PROCINLINE:<{ - __tact_context_sender GETGLOB - }> - __tact_store_bool PROCINLINE:<{ - SWAP - 1 STI - }> - $Deploy$_load PROCINLINE:<{ - 32 LDU - SWAP - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - SWAP - }> - $DeployOk$_store PROCINLINE:<{ - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - }> - $DeployOk$_store_cell PROCINLINE:<{ - NEWC - SWAP - $DeployOk$_store INLINECALLDICT - ENDC - }> - $StateInit$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 2 UNTUPLE - }> - $global_emit PROCINLINE:<{ - NEWC - 15211807202738752817960438464513 PUSHINT - SWAP - 104 STU - STREF - ENDC - 0 PUSHINT - SENDRAWMSG - }> - $SendTester$_contract_init PROCREF:<{ - PUSHNULL - B{b5ee9c72410101010014000024000000004465706c6f7920737563636573736c569015} B>boc PUSHREF - $global_emit INLINECALLDICT - }> - $SendTester$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $SendTester$_contract_init INLINECALLDICT - }> - $SendTester$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $global_send PROCREF:<{ - NEWC - 1 PUSHINT - SWAP - 2 STI - s0 s7 XCHG2 - __tact_store_bool INLINECALLDICT - 0 PUSHINT - SWAP - 3 STI - s0 s5 XCHG2 - __tact_store_address INLINECALLDICT - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - SWAP - 105 STI - s3 PUSH - ISNULL - NOT - IF:<{ - TRUE - }>ELSE<{ - s4 PUSH - ISNULL - NOT - }> - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - NEWC - FALSE - __tact_store_bool INLINECALLDICT - FALSE - __tact_store_bool INLINECALLDICT - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - s4 PUSH - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - s0 s4 XCHG - __tact_not_null INLINECALLDICT - s0 s4 XCHG2 - STREF - }>ELSE<{ - s4 POP - s0 s3 XCHG - FALSE - __tact_store_bool INLINECALLDICT - }> - FALSE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - TRUE - __tact_store_bool INLINECALLDICT - s0 s2 XCHG - ENDC - ROT - STREF - }>ELSE<{ - s3 POP - s3 POP - SWAP - FALSE - __tact_store_bool INLINECALLDICT - }> - OVER - ISNULL - NOT - IF:<{ - TRUE - __tact_store_bool INLINECALLDICT - SWAP - __tact_not_null INLINECALLDICT - SWAP - STREF - }>ELSE<{ - NIP - FALSE - __tact_store_bool INLINECALLDICT - }> - ENDC - SWAP - SENDRAWMSG - }> - $SendParameters$_constructor_bounce_to_value_mode_body_code_data PROCINLINE:<{ - }> - $SendTester$_fun_forward PROCREF:<{ - PUSHNULL - PUSHNULL - s2 PUSH - ISNULL - NOT - IF:<{ - 2DROP - $StateInit$_not_null INLINECALLDICT - SWAP - }>ELSE<{ - s2 POP - }> - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - $SendParameters$_constructor_bounce_to_value_mode_body_code_data INLINECALLDICT - $global_send INLINECALLDICT - }> - $SendTester$_fun_reply PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - TRUE - PUSHNULL - $SendTester$_fun_forward INLINECALLDICT - }> - $SendTester$_fun_notify PROCINLINE:<{ - __tact_context_get_sender INLINECALLDICT - SWAP - FALSE - PUSHNULL - $SendTester$_fun_forward INLINECALLDICT - }> - $DeployOk$_constructor_queryId PROCINLINE:<{ - }> - $SendTester$_internal_text_9bb54a40af36ff58e865c6cca0bf3be3897054c962cb4a54c3b60962cb2a3041 PROCINLINE:<{ - B{b5ee9c7241010101000b00001200000000576f726c64cf8219c9} B>boc PUSHREF - $SendTester$_fun_reply INLINECALLDICT - B{b5ee9c7241010101000f00001a00000000536f6d657468696e6707ec49a0} B>boc PUSHREF - $global_emit INLINECALLDICT - }> - $SendTester$_internal_binary_Deploy PROCINLINE:<{ - $DeployOk$_constructor_queryId INLINECALLDICT - $DeployOk$_store_cell INLINECALLDICT - $SendTester$_fun_notify INLINECALLDICT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d51763254463944416f53696842567647486d46544170516a50706a7a4c42426550577970783854594c52424d} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $SendTester$_contract_router_internal PROCREF:<{ - c2 SAVE - SAMEALTSAVE - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 2490013878 PUSHINT - EQUAL - IFJMP:<{ - DROP - $Deploy$_load INLINECALLDICT - NIP - $SendTester$_internal_binary_Deploy INLINECALLDICT - TRUE - }> - 0 EQINT - IF:<{ - HASHSU - 70428803322249702641686993123444091967701319117035219703275842373885383815233 PUSHINT - EQUAL - IFJMP:<{ - $SendTester$_internal_text_9bb54a40af36ff58e865c6cca0bf3be3897054c962cb4a54c3b60962cb2a3041 INLINECALLDICT - TRUE - RETALT - }> - }>ELSE<{ - DROP - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $SendTester$_contract_load INLINECALLDICT - -ROT - $SendTester$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $SendTester$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/send_SendTester.code.rev.fif b/src/test/features/output/send_SendTester.code.rev.fif deleted file mode 100644 index 2f7f1f8a4..000000000 --- a/src/test/features/output/send_SendTester.code.rev.fif +++ /dev/null @@ -1,352 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_b93b9862cda1783c; - DECLPROC ?fun_ref_be9e48593636eeba; - DECLPROC ?fun_ref_d8a2bb458e05ea78; - DECLPROC ?fun_ref_e31d986f279fa0fb; - DECLPROC ?fun_ref_f9f31152659ffd4f; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_f9f31152659ffd4f INLINECALLDICT - ROTREV - ?fun_ref_d8a2bb458e05ea78 INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D51763254463944416F53696842567647486D46544170516A50706A7A4C42426550577970783854594C52424D82_} PUSHSLICE - }> - ?fun_ref_b93b9862cda1783c PROCREF:<{ - NEWC - 1 PUSHINT - s0 s1 XCHG - 2 STI - s0 s7 XCHG2 - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 3 STI - s0 s5 XCHG2 - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - STSLICER - s0 s3 XCHG2 - STGRAMS - 0 PUSHINT - s0 s1 XCHG - 105 STI - s3 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s4 PUSH - ISNULL - NOT - }> PUSHCONT - IFELSE - <{ - s3 POP - s3 POP - s0 s1 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - NEWC - 0 PUSHINT - s0 s1 XCHG - 1 STI - 0 PUSHINT - s0 s1 XCHG - 1 STI - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - s4 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s4 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s4 XCHG2 - STREF - }> PUSHCONT - <{ - s4 POP - s0 s3 XCHG - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - 0 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s2 XCHG - ENDC - ROT - STREF - }> IFREFELSE - s1 PUSH - ISNULL - NOT - <{ - -1 PUSHINT - s0 s1 XCHG - 1 STI - s0 s1 XCHG - s0 PUSH - ISNULL - 128 THROWIF - s0 s1 XCHG - STREF - }> PUSHCONT - <{ - s1 POP - 0 PUSHINT - s0 s1 XCHG - 1 STI - }> PUSHCONT - IFELSE - ENDC - s0 s1 XCHG - SENDRAWMSG - }> - ?fun_ref_be9e48593636eeba PROCREF:<{ - NULL - x{000000004465706C6F792073756363657373} PUSHREF - NEWC - 15211807202738752817960438464513 PUSHINT - s0 s1 XCHG - 104 STU - STREF - ENDC - 0 PUSHINT - SENDRAWMSG - }> - ?fun_ref_d8a2bb458e05ea78 PROCREF:<{ - 2 SAVE - SAMEALTSAVE - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 2490013878 PUSHINT - EQUAL - <{ - s0 POP - 32 LDU - s0 s1 XCHG - 2490013878 PUSHINT - EQUAL - 129 THROWIFNOT - 64 LDU - s0 s1 XCHG - s1 POP - NEWC - s0 s1 XCHG - 2952335191 PUSHINT - ROT - 32 STU - 64 STU - ENDC - 2 GETGLOBVAR - s0 s1 XCHG - 0 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 EQINT - <{ - s0 POP - }> PUSHCONT - <{ - HASHSU - 70428803322249702641686993123444091967701319117035219703275842373885383815233 PUSHINT - EQUAL - <{ - x{00000000576F726C64} PUSHREF - 2 GETGLOBVAR - s0 s1 XCHG - -1 PUSHINT - NULL - ?fun_ref_e31d986f279fa0fb INLINECALLDICT - x{00000000536F6D657468696E67} PUSHREF - NEWC - 15211807202738752817960438464513 PUSHINT - s0 s1 XCHG - 104 STU - STREF - ENDC - 0 PUSHINT - SENDRAWMSG - -1 PUSHINT - RETFALSE - }> PUSHCONT - IFJMP - }> IFREFELSE - 0 PUSHINT - }> - ?fun_ref_e31d986f279fa0fb PROCREF:<{ - NULL - NULL - s2 PUSH - ISNULL - NOT - <{ - DROP2 - s0 PUSH - ISNULL - 128 THROWIF - 2 UNTUPLE - s0 s1 XCHG - }> PUSHCONT - <{ - s2 POP - }> PUSHCONT - IFELSE - s2 s4 XCHG - 0 PUSHINT - s0 s3 XCHG - s0 s4 XCHG - 66 PUSHINT - s2 s3 XCHG2 - ?fun_ref_b93b9862cda1783c INLINECALLDICT - }> - ?fun_ref_f9f31152659ffd4f PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_be9e48593636eeba INLINECALLDICT - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/send_SendTester.constants.fc b/src/test/features/output/send_SendTester.constants.fc deleted file mode 100644 index 6c7499ca8..000000000 --- a/src/test/features/output/send_SendTester.constants.fc +++ /dev/null @@ -1,8 +0,0 @@ -;; Comment "Deploy success" -cell __gen_cell_comment_50b8812df4a733c5a2266eb68dec952c64d04a3174bae42566a1e191dbdb470c() asm "B{b5ee9c72410101010014000024000000004465706c6f7920737563636573736c569015} B>boc PUSHREF"; - -;; Comment "World" -cell __gen_cell_comment_95fbfd67c31e549b5d4386ed4a2beebc294be55acb3eddadaa7f9df86be36d42() asm "B{b5ee9c7241010101000b00001200000000576f726c64cf8219c9} B>boc PUSHREF"; - -;; Comment "Something" -cell __gen_cell_comment_ec65c74747db20896a39d874b0473dd5e61e08fc9f3516d56d58eaeea5031ea4() asm "B{b5ee9c7241010101000f00001a00000000536f6d657468696e6707ec49a0} B>boc PUSHREF"; \ No newline at end of file diff --git a/src/test/features/output/send_SendTester.headers.fc b/src/test/features/output/send_SendTester.headers.fc deleted file mode 100644 index 26546f031..000000000 --- a/src/test/features/output/send_SendTester.headers.fc +++ /dev/null @@ -1,67 +0,0 @@ -;; -;; Header files for SendTester -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; __tact_store_address -builder __tact_store_address(builder b, slice address) inline; - -;; __tact_my_balance -int __tact_my_balance() inline; - -;; __tact_not_null -forall X -> X __tact_not_null(X x) inline; - -;; __tact_context_get -(int, slice, int, slice) __tact_context_get() inline; - -;; __tact_context_get_sender -slice __tact_context_get_sender() inline; - -;; __tact_store_bool -builder __tact_store_bool(builder b, int v) inline; - -;; $Deploy$_load -(slice, ((int))) $Deploy$_load(slice sc_0) inline; - -;; $DeployOk$_store -builder $DeployOk$_store(builder build_0, (int) v) inline; - -;; $DeployOk$_store_cell -cell $DeployOk$_store_cell((int) v) inline; - -;; $StateInit$_not_null -((cell, cell)) $StateInit$_not_null(tuple v) inline; - -;; $global_emit -() $global_emit(cell $body) impure inline; - -;; $SendTester$_contract_init -tuple $SendTester$_contract_init() impure inline_ref; - -;; $SendTester$_contract_load -tuple $SendTester$_contract_load() impure inline_ref; - -;; $SendTester$_contract_store -() $SendTester$_contract_store(tuple v) impure inline; - -;; $global_send -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref; - -;; $SendParameters$_constructor_bounce_to_value_mode_body_code_data -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline; - -;; $SendTester$_fun_forward -(tuple, ()) $SendTester$_fun_forward(tuple $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref; - -;; $SendTester$_fun_reply -(tuple, ()) $SendTester$_fun_reply(tuple $self, cell $body) impure inline; - -;; $SendTester$_fun_notify -(tuple, ()) $SendTester$_fun_notify(tuple $self, cell $body) impure inline; - -;; $DeployOk$_constructor_queryId -((int)) $DeployOk$_constructor_queryId(int queryId) inline; diff --git a/src/test/features/output/send_SendTester.md b/src/test/features/output/send_SendTester.md deleted file mode 100644 index 58eca0b60..000000000 --- a/src/test/features/output/send_SendTester.md +++ /dev/null @@ -1,59 +0,0 @@ -# TACT Compilation Report -Contract: SendTester -BOC Size: 767 bytes - -# Types -Total Types: 6 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Deploy -TLB: `deploy#946a98b6 queryId:uint64 = Deploy` -Signature: `Deploy{queryId:uint64}` - -## DeployOk -TLB: `deploy_ok#aff90f57 queryId:uint64 = DeployOk` -Signature: `DeployOk{queryId:uint64}` - -## FactoryDeploy -TLB: `factory_deploy#6d0ff13b queryId:uint64 cashback:address = FactoryDeploy` -Signature: `FactoryDeploy{queryId:uint64,cashback:address}` - -# Get Methods -Total Get Methods: 0 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/send_SendTester.pkg b/src/test/features/output/send_SendTester.pkg deleted file mode 100644 index 5af98d283..000000000 --- a/src/test/features/output/send_SendTester.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"SendTester","code":"te6ccgECEgEAAvMAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UBAUCAVgODwE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwGAqDtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQlGqYtrqOqDDTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gwACRMOMNcAoIATRtiMiCWMAAAAAAAAAAAAAAAAEBy2fMyXD7AAcAJAAAAABEZXBsb3kgc3VjY2VzcwOY+QGC8Ju1SkCvNv9Y6GXGzKC/O+OJcFTJYstKVMO2CWLLKjBBuo+kiPhCAX9t2zyIyIJYwAAAAAAAAAAAAAAAAQHLZ8zJcPsAf9sx4AkKCwASAAAAAFdvcmxkATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPAwAGgAAAABTb21ldGhpbmcByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsADQCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAgFIEBEAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtUXYyVEY5REFvU2loQlZ2R0htRlRBcFFqUHBqekxCQmVQV3lweDhUWUxSQk2CA=","abi":"{\"name\":\"SendTester\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Deploy\",\"header\":2490013878,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"DeployOk\",\"header\":2952335191,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}}]},{\"name\":\"FactoryDeploy\",\"header\":1829761339,\"fields\":[{\"name\":\"queryId\",\"type\":{\"kind\":\"simple\",\"type\":\"uint\",\"optional\":false,\"format\":64}},{\"name\":\"cashback\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"text\",\"text\":\"Hello\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Deploy\"}}],\"getters\":[],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECFAEAAv0AAQHAAQEFoQQVAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVF2MlRGOURBb1NpaEJWdkdIbUZUQXBRalBwanpMQkJlUFd5cHg4VFlMUkJNggABGwr7tRNDSAAGAAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSAKS0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCMMj4QwHMfwHKAMntVBEKAqDtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQlGqYtrqOqDDTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gwACRMOMNcA4LA5j5AYLwm7VKQK82/1joZcbMoL8744lwVMliy0pUw7YJYssqMEG6j6SI+EIBf23bPIjIgljAAAAAAAAAAAAAAAABActnzMlw+wB/2zHgDQ4MABoAAAAAU29tZXRoaW5nABIAAAAAV29ybGQBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8DwHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAQAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPBIBNG2IyIJYwAAAAAAAAAAAAAAAAQHLZ8zJcPsAEwAkAAAAAERlcGxveSBzdWNjZXNzoqf3bA=="}},"sources":{"src\\test\\features\\send.tact":"aW1wb3J0ICJAc3RkbGliL2RlcGxveSI7DQoNCmNvbnRyYWN0IFNlbmRUZXN0ZXIgd2l0aCBEZXBsb3lhYmxlIHsNCg0KICAgIGluaXQoKSB7DQogICAgICAgIGVtaXQoIkRlcGxveSBzdWNjZXNzIi5hc0NvbW1lbnQoKSk7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgiSGVsbG8iKSB7DQogICAgICAgIHNlbGYucmVwbHkoIldvcmxkIi5hc0NvbW1lbnQoKSk7DQogICAgICAgIGVtaXQoIlNvbWV0aGluZyIuYXNDb21tZW50KCkpOw0KICAgIH0NCn0="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/send.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/send_SendTester.stdlib.fc b/src/test/features/output/send_SendTester.stdlib.fc deleted file mode 100644 index df63cf98e..000000000 --- a/src/test/features/output/send_SendTester.stdlib.fc +++ /dev/null @@ -1,122 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -builder __tact_store_address(builder b, slice address) inline { - return b.store_slice(__tact_verify_address(address)); -} - -int __tact_my_balance() inline { - return pair_first(get_balance()); -} - -forall X -> X __tact_not_null(X x) inline { - throw_if(128, null?(x)); return x; -} - -(int, slice, int, slice) __tact_context_get() inline { - return __tact_context; -} - -slice __tact_context_get_sender() inline { - return __tact_context_sender; -} - -builder __tact_store_bool(builder b, int v) inline { - return b.store_int(v, 1); -} - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -() $global_emit(cell $body) impure inline { - cell $c = end_cell(store_ref(store_uint(begin_cell(), 15211807202738752817960438464513, 104), $body)); - send_raw_message($c, 0); -} - -() $global_send((int, slice, int, int, cell, cell, cell) $params) impure inline_ref { - var (($params'bounce, $params'to, $params'value, $params'mode, $params'body, $params'code, $params'data)) = $params; - builder $b = begin_cell(); - $b = store_int($b, 1, 2); - $b = __tact_store_bool($b, $params'bounce); - $b = store_int($b, 0, 3); - $b = __tact_store_address($b, $params'to); - $b = store_coins($b, $params'value); - $b = store_int($b, 0, ((((1 + 4) + 4) + 64) + 32)); - if (( ((~ null?($params'code))) ? (true) : ((~ null?($params'data))) )) { - $b = __tact_store_bool($b, true); - builder $bc = begin_cell(); - $bc = __tact_store_bool($bc, false); - $bc = __tact_store_bool($bc, false); - if ((~ null?($params'code))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'code)); - } else { - $bc = __tact_store_bool($bc, false); - } - if ((~ null?($params'data))) { - $bc = __tact_store_bool($bc, true); - $bc = store_ref($bc, __tact_not_null($params'data)); - } else { - $bc = __tact_store_bool($bc, false); - } - $bc = __tact_store_bool($bc, false); - $b = __tact_store_bool($b, true); - $b = store_ref($b, end_cell($bc)); - } else { - $b = __tact_store_bool($b, false); - } - cell $body = $params'body; - if ((~ null?($body))) { - $b = __tact_store_bool($b, true); - $b = store_ref($b, __tact_not_null($body)); - } else { - $b = __tact_store_bool($b, false); - } - cell $c = end_cell($b); - send_raw_message($c, $params'mode); -} - -(tuple, ()) $SendTester$_fun_forward(tuple $self, slice $to, cell $body, int $bounce, tuple $init) impure inline_ref { - var ($self) = $self; - var ($init) = $init; - cell $code = null(); - cell $data = null(); - if ((~ null?($init))) { - var ($init2'code, $init2'data) = $StateInit$_not_null($init); - $code = $init2'code; - $data = $init2'data; - } - if ((0 > 0)) { - var ($ctx'bounced, $ctx'sender, $ctx'value, $ctx'raw) = __tact_context_get(); - int $balance = __tact_my_balance(); - int $balanceBeforeMessage = ($balance - $ctx'value); - if (($balanceBeforeMessage < 0)) { - raw_reserve(0, 0); - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (128 + 2), $body, $code, $data)); - return ($self, ()); - } - } - $global_send($SendParameters$_constructor_bounce_to_value_mode_body_code_data($bounce, $to, 0, (64 + 2), $body, $code, $data)); - return ($self, ()); -} - -(tuple, ()) $SendTester$_fun_reply(tuple $self, cell $body) impure inline { - var ($self) = $self; - $self~$SendTester$_fun_forward(__tact_context_get_sender(), $body, true, null()); - return ($self, ()); -} - -(tuple, ()) $SendTester$_fun_notify(tuple $self, cell $body) impure inline { - var ($self) = $self; - $self~$SendTester$_fun_forward(__tact_context_get_sender(), $body, false, null()); - return ($self, ()); -} \ No newline at end of file diff --git a/src/test/features/output/send_SendTester.storage.fc b/src/test/features/output/send_SendTester.storage.fc deleted file mode 100644 index 1c6d96fc6..000000000 --- a/src/test/features/output/send_SendTester.storage.fc +++ /dev/null @@ -1,76 +0,0 @@ -;; -;; Type: StateInit -;; TLB: _ code:^cell data:^cell = StateInit -;; - -((cell, cell)) $StateInit$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (cell vvv'code, cell vvv'data) = __tact_tuple_destroy_2(v); - return (vvv'code, vvv'data); -} - -;; -;; Type: SendParameters -;; TLB: _ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters -;; - -((int, slice, int, int, cell, cell, cell)) $SendParameters$_constructor_bounce_to_value_mode_body_code_data(int bounce, slice to, int value, int mode, cell body, cell code, cell data) inline { - return (bounce, to, value, mode, body, code, data); -} - -;; -;; Type: Deploy -;; Header: 0x946a98b6 -;; TLB: deploy#946a98b6 queryId:uint64 = Deploy -;; - -(slice, ((int))) $Deploy$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2490013878); - var v'queryId = sc_0~load_uint(64); - return (sc_0, (v'queryId)); -} - -;; -;; Type: DeployOk -;; Header: 0xaff90f57 -;; TLB: deploy_ok#aff90f57 queryId:uint64 = DeployOk -;; - -builder $DeployOk$_store(builder build_0, (int) v) inline { - var (v'queryId) = v; - build_0 = store_uint(build_0, 2952335191, 32); - build_0 = build_0.store_uint(v'queryId, 64); - return build_0; -} - -cell $DeployOk$_store_cell((int) v) inline { - return $DeployOk$_store(begin_cell(), v).end_cell(); -} - -((int)) $DeployOk$_constructor_queryId(int queryId) inline { - return (queryId); -} - -;; -;; Type: SendTester -;; - -tuple $SendTester$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $SendTester$_contract_init(); - } -} - -() $SendTester$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/send_SendTester.ts b/src/test/features/output/send_SendTester.ts deleted file mode 100644 index c2743dc77..000000000 --- a/src/test/features/output/send_SendTester.ts +++ /dev/null @@ -1,434 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Deploy = { - $$type: 'Deploy'; - queryId: bigint; -} - -export function storeDeploy(src: Deploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2490013878, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2490013878) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function loadTupleDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'Deploy' as const, queryId: _queryId }; -} - -function storeTupleDeploy(source: Deploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeploy(src)).endCell()); - }, - parse: (src) => { - return loadDeploy(src.loadRef().beginParse()); - } - } -} - -export type DeployOk = { - $$type: 'DeployOk'; - queryId: bigint; -} - -export function storeDeployOk(src: DeployOk) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2952335191, 32); - b_0.storeUint(src.queryId, 64); - }; -} - -export function loadDeployOk(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2952335191) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function loadTupleDeployOk(source: TupleReader) { - let _queryId = source.readBigNumber(); - return { $$type: 'DeployOk' as const, queryId: _queryId }; -} - -function storeTupleDeployOk(source: DeployOk) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - return builder.build(); -} - -function dictValueParserDeployOk(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeDeployOk(src)).endCell()); - }, - parse: (src) => { - return loadDeployOk(src.loadRef().beginParse()); - } - } -} - -export type FactoryDeploy = { - $$type: 'FactoryDeploy'; - queryId: bigint; - cashback: Address; -} - -export function storeFactoryDeploy(src: FactoryDeploy) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(1829761339, 32); - b_0.storeUint(src.queryId, 64); - b_0.storeAddress(src.cashback); - }; -} - -export function loadFactoryDeploy(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 1829761339) { throw Error('Invalid prefix'); } - let _queryId = sc_0.loadUintBig(64); - let _cashback = sc_0.loadAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function loadTupleFactoryDeploy(source: TupleReader) { - let _queryId = source.readBigNumber(); - let _cashback = source.readAddress(); - return { $$type: 'FactoryDeploy' as const, queryId: _queryId, cashback: _cashback }; -} - -function storeTupleFactoryDeploy(source: FactoryDeploy) { - let builder = new TupleBuilder(); - builder.writeNumber(source.queryId); - builder.writeAddress(source.cashback); - return builder.build(); -} - -function dictValueParserFactoryDeploy(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeFactoryDeploy(src)).endCell()); - }, - parse: (src) => { - return loadFactoryDeploy(src.loadRef().beginParse()); - } - } -} - - type SendTester_init_args = { - $$type: 'SendTester_init_args'; -} - -function initSendTester_init_args(src: SendTester_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function SendTester_init() { - const __code = Cell.fromBase64('te6ccgECEgEAAvMAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UBAUCAVgODwE07UTQ1AH4Y9IAMJFt4Pgo1wsKgwm68uCJ2zwGAqDtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQlGqYtrqOqDDTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gwACRMOMNcAoIATRtiMiCWMAAAAAAAAAAAAAAAAEBy2fMyXD7AAcAJAAAAABEZXBsb3kgc3VjY2VzcwOY+QGC8Ju1SkCvNv9Y6GXGzKC/O+OJcFTJYstKVMO2CWLLKjBBuo+kiPhCAX9t2zyIyIJYwAAAAAAAAAAAAAAAAQHLZ8zJcPsAf9sx4AkKCwASAAAAAFdvcmxkATptbSJus5lbIG7y0IBvIgGRMuIQJHADBIBCUCPbPAwAGgAAAABTb21ldGhpbmcByshxAcoBUAcBygBwAcoCUAUg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIzxZQA/oCcAHKaCNus5F/kyRus+KXMzMBcAHKAOMNIW6znH8BygABIG7y0IABzJUxcAHKAOLJAfsADQCYfwHKAMhwAcoAcAHKACRus51/AcoABCBu8tCAUATMljQDcAHKAOIkbrOdfwHKAAQgbvLQgFAEzJY0A3ABygDicAHKAAJ/AcoAAslYzAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAgFIEBEAEbCvu1E0NIAAYAB1sm7jQ1aXBmczovL1FtUXYyVEY5REFvU2loQlZ2R0htRlRBcFFqUHBqekxCQmVQV3lweDhUWUxSQk2CA='); - const __system = Cell.fromBase64('te6cckECFAEAAv0AAQHAAQEFoQQVAgEU/wD0pBP0vPLICwMCAWIJBAIBWAgFAgFIBwYAdbJu40NWlwZnM6Ly9RbVF2MlRGOURBb1NpaEJWdkdIbUZUQXBRalBwanpMQkJlUFd5cHg4VFlMUkJNggABGwr7tRNDSAAGAAubu9GCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSAKS0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCMMj4QwHMfwHKAMntVBEKAqDtou37AZIwf+BwIddJwh+VMCDXCx/eIIIQlGqYtrqOqDDTHwGCEJRqmLa68uCB0z8BMcgBghCv+Q9XWMsfyz/J+EIBcG3bPH/gwACRMOMNcA4LA5j5AYLwm7VKQK82/1joZcbMoL8744lwVMliy0pUw7YJYssqMEG6j6SI+EIBf23bPIjIgljAAAAAAAAAAAAAAAABActnzMlw+wB/2zHgDQ4MABoAAAAAU29tZXRoaW5nABIAAAAAV29ybGQBOm1tIm6zmVsgbvLQgG8iAZEy4hAkcAMEgEJQI9s8DwHKyHEBygFQBwHKAHABygJQBSDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IjPFlAD+gJwAcpoI26zkX+TJG6z4pczMwFwAcoA4w0hbrOcfwHKAAEgbvLQgAHMlTFwAcoA4skB+wAQAJh/AcoAyHABygBwAcoAJG6znX8BygAEIG7y0IBQBMyWNANwAcoA4iRus51/AcoABCBu8tCAUATMljQDcAHKAOJwAcoAAn8BygACyVjMATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPBIBNG2IyIJYwAAAAAAAAAAAAAAAAQHLZ8zJcPsAEwAkAAAAAERlcGxveSBzdWNjZXNzoqf3bA=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initSendTester_init_args({ $$type: 'SendTester_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const SendTester_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const SendTester_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Deploy","header":2490013878,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"DeployOk","header":2952335191,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}}]}, - {"name":"FactoryDeploy","header":1829761339,"fields":[{"name":"queryId","type":{"kind":"simple","type":"uint","optional":false,"format":64}},{"name":"cashback","type":{"kind":"simple","type":"address","optional":false}}]}, -] - -const SendTester_getters: ABIGetter[] = [ -] - -const SendTester_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"text","text":"Hello"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Deploy"}}, -] - -export class SendTester implements Contract { - - static async init() { - return await SendTester_init(); - } - - static async fromInit() { - const init = await SendTester_init(); - const address = contractAddress(0, init); - return new SendTester(address, init); - } - - static fromAddress(address: Address) { - return new SendTester(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: SendTester_types, - getters: SendTester_getters, - receivers: SendTester_receivers, - errors: SendTester_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: 'Hello' | Deploy) { - - let body: Cell | null = null; - if (message === 'Hello') { - body = beginCell().storeUint(0, 32).storeStringTail(message).endCell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Deploy') { - body = beginCell().store(storeDeploy(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - -} \ No newline at end of file diff --git a/src/test/features/output/serialization-2_SerializationTester2.abi b/src/test/features/output/serialization-2_SerializationTester2.abi deleted file mode 100644 index 8a41166fb..000000000 --- a/src/test/features/output/serialization-2_SerializationTester2.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"SerializationTester2","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Vars","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"c","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"d","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"e","type":{"kind":"simple","type":"int","optional":false,"format":257}}]},{"name":"Both","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"Vars","optional":false}},{"name":"b","type":{"kind":"simple","type":"Vars","optional":false}}]},{"name":"Update","header":2732768933,"fields":[{"name":"a","type":{"kind":"simple","type":"Vars","optional":false}},{"name":"b","type":{"kind":"simple","type":"Vars","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}},{"receiver":"internal","message":{"kind":"typed","type":"Update"}}],"getters":[{"name":"getA","arguments":[],"returnType":{"kind":"simple","type":"Vars","optional":false}},{"name":"getAopt","arguments":[],"returnType":{"kind":"simple","type":"Vars","optional":true}},{"name":"getB","arguments":[],"returnType":{"kind":"simple","type":"Vars","optional":false}},{"name":"getBopt","arguments":[],"returnType":{"kind":"simple","type":"Vars","optional":true}},{"name":"getBoth","arguments":[],"returnType":{"kind":"simple","type":"Both","optional":false}},{"name":"getBothOpt","arguments":[],"returnType":{"kind":"simple","type":"Both","optional":true}},{"name":"process","arguments":[{"name":"src","type":{"kind":"simple","type":"Vars","optional":false}},{"name":"both","type":{"kind":"simple","type":"Both","optional":false}},{"name":"both2","type":{"kind":"simple","type":"Both","optional":true}}],"returnType":{"kind":"simple","type":"Vars","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/serialization-2_SerializationTester2.code.boc b/src/test/features/output/serialization-2_SerializationTester2.code.boc deleted file mode 100644 index 7c13ac440..000000000 Binary files a/src/test/features/output/serialization-2_SerializationTester2.code.boc and /dev/null differ diff --git a/src/test/features/output/serialization-2_SerializationTester2.code.boc.html b/src/test/features/output/serialization-2_SerializationTester2.code.boc.html deleted file mode 100644 index adbc59904..000000000 --- a/src/test/features/output/serialization-2_SerializationTester2.code.boc.html +++ /dev/null @@ -1,576 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_69430;
-            ..DECLPROC ?fun_73763;
-            ..DECLPROC ?fun_81754;
-            ..DECLPROC ?fun_104435;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC ?fun_113663;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC ?fun_119935;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_123932;
-            ..DECLPROC ?fun_ref_2a9288f69206cd27;
-            ..DECLPROC ?fun_ref_362f405abe5b5b1e;
-            ..DECLPROC ?fun_ref_38b956e6f2d96326;
-            ..DECLPROC ?fun_ref_5c3875cd93a9a567;
-            ..DECLPROC ?fun_ref_7047cccd1e662630;
-            ..DECLPROC ?fun_ref_b37c80e69b8b8647;
-            ..DECLPROC ?fun_ref_bde4d18aa276d959;
-            ..DECLPROC ?fun_ref_e2e845988e57d36d;
-            ..DECLPROC ?fun_ref_f38effbd2479a342;
-            x1..recv_internal PROC:<{
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            26x1....4 LDU
-            18x1....s0 s1 XCHG
-            18x1....1 PUSHINT
-            18x1....AND
-            18x1....-1 MULCONST
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            34x1....s0 s6 s4 PUXCPU
-            18x1....s0 s3 XCHG
-            30x1....4 TUPLE
-            28x1....1 SETGLOBVAR
-            18x1....s0 s2 XCHG
-            29x1....2 SETGLOBVAR
-            126x1....?fun_ref_2a9288f69206cd27 INLINECALLDICT
-            26x1....2 10 BLKSWAP
-            126x1....?fun_ref_38b956e6f2d96326 INLINECALLDICT
-            34x1....130 THROWIFNOT
-            18x1....NEWC
-            26x1....3 GETGLOBVAR
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....-1 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            26x1....10 1 BLKSWAP
-            26x1....s5 s10 XCHG
-            26x1....s4 s9 XCHG
-            26x1....s3 s8 XCHG
-            26x1....s7 s6 s10 XCHG3
-            26x1....s4 s5 XCHG2
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s1 s2 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s0 s1 XCHG
-            18x1....NEWC
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s1 s2 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            518x1....ENDC
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....NEWC
-            26x1....5 1 BLKSWAP
-            18x1....s0 s6 XCHG
-            26x1....s4 s5 XCHG2
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s1 s2 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s0 s1 XCHG
-            18x1....NEWC
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s1 s2 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            518x1....ENDC
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            518x1....ENDC
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            518x1....ENDC
-            26x1....c4 POP
-            x1..}>
-            ..?fun_69430 PROC:<{
-            ....?fun_ref_2a9288f69206cd27 INLINECALLDICT
-            ....?fun_ref_b37c80e69b8b8647 INLINECALLDICT
-            ....10 1 BLKDROP2
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......s0 PUSH
-            ......ISNULL
-            ......128 THROWIF
-            ......10 UNTUPLE
-            ......5 5 BLKSWAP
-            ......5 TUPLE
-            ......5 1 BLKSWAP
-            ......5 TUPLE
-            ......2 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....IF
-            ..}>
-            x1..?fun_73763 PROC:<{
-            126x1....?fun_ref_2a9288f69206cd27 INLINECALLDICT
-            126x1....?fun_ref_5c3875cd93a9a567 INLINECALLDICT
-            26x1....10 1 BLKDROP2
-            18x1....s0 PUSH
-            18x1....ISNULL
-            18x1....<{
-            ......s0 POP
-            ......NULL
-            18x1....}> PUSHCONT
-            18x1....<{
-            18x1......s0 PUSH
-            18x1......ISNULL
-            34x1......128 THROWIF
-            31x1......5 UNTUPLE
-            31x1......5 TUPLE
-            18x1....}> PUSHCONT
-            18x1....IFELSE
-            18x1....s0 PUSH
-            18x1....ISNULL
-            18x1....<{
-            ......s0 POP
-            ......NULL
-            18x1....}> PUSHCONT
-            18x1....IF
-            x1..}>
-            x1..?fun_81754 PROC:<{
-            126x1....?fun_ref_2a9288f69206cd27 INLINECALLDICT
-            126x1....?fun_ref_362f405abe5b5b1e INLINECALLDICT
-            26x1....10 10 BLKDROP2
-            26x1....5 5 BLKSWAP
-            31x1....5 TUPLE
-            26x1....5 1 BLKSWAP
-            31x1....5 TUPLE
-            x1..}>
-            ..?fun_104435 PROC:<{
-            ....s0 s2 XCHG
-            ....5 UNTUPLE
-            ....s0 s5 XCHG
-            ....2 UNTUPLE
-            ....s0 s1 XCHG
-            ....5 UNTUPLE
-            ....s0 s5 XCHG
-            ....5 UNTUPLE
-            ....s8 s9 XCHG
-            ....s7 s8 XCHG
-            ....s6 s7 XCHG
-            ....s5 s6 XCHG
-            ....s0 s15 XCHG
-            ....s0 PUSH
-            ....ISNULL
-            ....<{
-            ......s0 POP
-            ......NULL
-            ....}> PUSHCONT
-            ....<{
-            ......2 UNTUPLE
-            ......s0 s1 XCHG
-            ......5 UNTUPLE
-            ......s0 s5 XCHG
-            ......5 UNTUPLE
-            ......s8 s9 XCHG
-            ......s7 s8 XCHG
-            ......s6 s7 XCHG
-            ......s5 s6 XCHG
-            ......10 TUPLE
-            ....}> PUSHCONT
-            ....IFELSE
-            ....?fun_ref_2a9288f69206cd27 INLINECALLDICT
-            ....s0 s9 XCHG
-            ....s0 s25 XCHG
-            ....s0 s9 XCHG
-            ....s0 s8 XCHG
-            ....s0 s24 XCHG
-            ....s0 s8 XCHG
-            ....s0 s7 XCHG
-            ....s0 s23 XCHG
-            ....s0 s7 XCHG
-            ....s0 s6 XCHG
-            ....s0 s22 XCHG
-            ....s0 s6 XCHG
-            ....s0 s5 XCHG
-            ....s0 s21 XCHG
-            ....s0 s5 XCHG
-            ....s0 s4 XCHG
-            ....s0 s20 XCHG
-            ....s0 s4 XCHG
-            ....s0 s3 XCHG
-            ....s0 s19 XCHG
-            ....s0 s3 XCHG
-            ....s0 s2 XCHG
-            ....s0 s18 XCHG
-            ....s0 s2 XCHG
-            ....s0 s1 XCHG
-            ....s0 s17 XCHG
-            ....s0 s1 XCHG
-            ....s0 s16 XCHG
-            ....s7 s15 XCHG
-            ....s6 s14 XCHG
-            ....s5 s13 XCHG
-            ....s4 s12 XCHG
-            ....s8 s11 XCHG
-            ....s3 s10 XCHG
-            ....s9 s1 s7 XCHG3
-            ....s0 s6 XCHG
-            ....s0 s5 XCHG
-            ....s0 s4 XCHG
-            ....s8 s8 s3 XCHG3
-            ....?fun_ref_e2e845988e57d36d INLINECALLDICT
-            ....10 5 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            x1..?fun_113663 PROC:<{
-            126x1....?fun_ref_2a9288f69206cd27 INLINECALLDICT
-            126x1....?fun_ref_7047cccd1e662630 INLINECALLDICT
-            26x1....10 1 BLKDROP2
-            18x1....s0 PUSH
-            18x1....ISNULL
-            18x1....<{
-            ......s0 POP
-            ......NULL
-            18x1....}> PUSHCONT
-            18x1....<{
-            18x1......s0 PUSH
-            18x1......ISNULL
-            34x1......128 THROWIF
-            31x1......5 UNTUPLE
-            31x1......5 TUPLE
-            18x1....}> PUSHCONT
-            18x1....IFELSE
-            18x1....s0 PUSH
-            18x1....ISNULL
-            18x1....<{
-            ......s0 POP
-            ......NULL
-            18x1....}> PUSHCONT
-            18x1....IF
-            x1..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            x1..?fun_119935 PROC:<{
-            126x1....?fun_ref_2a9288f69206cd27 INLINECALLDICT
-            126x1....?fun_ref_bde4d18aa276d959 INLINECALLDICT
-            26x1....10 5 BLKDROP2
-            x1..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D5177744263533851386E31426848424C5454764D546E57524D576754664B6D34504736686544316B4355445582_} PUSHSLICE
-            ..}>
-            x1..?fun_123932 PROC:<{
-            126x1....?fun_ref_2a9288f69206cd27 INLINECALLDICT
-            126x1....?fun_ref_f38effbd2479a342 INLINECALLDICT
-            26x1....10 5 BLKDROP2
-            x1..}>
-            x6..?fun_ref_2a9288f69206cd27 PROCREF:<{
-            26x6....c4 PUSH
-            118x6....CTOS
-            18x6....LDREF
-            18x6....s0 s1 XCHG
-            30x6....3 SETGLOBVAR
-            26x6....1 LDI
-            18x6....s0 s1 XCHG
-            26x6....<{
-            34x5......257 PUSHINT
-            26x5......LDIX
-            34x5......257 PUSHINT
-            26x5......LDIX
-            34x5......257 PUSHINT
-            26x5......LDIX
-            18x5......LDREF
-            18x5......s0 s1 XCHG
-            118x5......CTOS
-            34x5......257 PUSHINT
-            26x5......LDIX
-            34x5......257 PUSHINT
-            26x5......LDIX
-            18x5......s0 POP
-            26x5......s2 s5 XCHG
-            26x5......s2 s4 XCHG
-            26x5......s2 s3 XCHG
-            18x5......s0 s5 XCHG
-            18x5......LDREF
-            18x5......s0 s1 XCHG
-            118x5......CTOS
-            34x5......257 PUSHINT
-            26x5......LDIX
-            34x5......257 PUSHINT
-            26x5......LDIX
-            34x5......257 PUSHINT
-            26x5......LDIX
-            18x5......LDREF
-            18x5......s0 s1 XCHG
-            118x5......CTOS
-            34x5......257 PUSHINT
-            26x5......LDIX
-            34x5......257 PUSHINT
-            26x5......LDIX
-            18x5......s0 POP
-            26x5......s2 s5 XCHG
-            26x5......s2 s4 XCHG
-            26x5......s2 s3 XCHG
-            18x5......s5 POP
-            26x5......s5 s10 XCHG
-            26x5......1 4 BLKSWAP
-            26x5......1 10 BLKDROP2
-            26x6....}> PUSHCONT
-            18x6....IFJMP
-            26x1....MYADDR
-            34x1....11 PLDU
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....137 THROWIFNOT
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....LDREF
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....s0 POP
-            26x1....s2 s5 XCHG
-            26x1....s2 s4 XCHG
-            26x1....s2 s3 XCHG
-            18x1....s0 s5 XCHG
-            18x1....LDREF
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....LDREF
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....s0 POP
-            26x1....s2 s5 XCHG
-            26x1....s2 s4 XCHG
-            26x1....s2 s3 XCHG
-            18x1....s5 POP
-            26x1....s5 s10 XCHG
-            26x1....1 4 BLKSWAP
-            18x1....s0 s10 XCHG
-            18x1....ENDS
-            26x1....1 9 BLKSWAP
-            x6..}>
-            x1..?fun_ref_362f405abe5b5b1e PROCREF:<{
-            34x1....s9 s8 s7 PUSH3
-            34x1....s9 s8 s7 PUSH3
-            34x1....s9 s8 s7 PUSH3
-            18x1....s9 PUSH
-            x1..}>
-            x1..?fun_ref_38b956e6f2d96326 PROCREF:<{
-            18x1....s0 s1 XCHG
-            18x1....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x1....}> PUSHCONT
-            18x1....IFJMP
-            18x1....0 PUSHINT
-            18x1....s1 PUSH
-            26x1....SBITS
-            26x1....31 GTINT
-            18x1....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            18x1....}> PUSHCONT
-            18x1....IF
-            18x1....s0 PUSH
-            26x1....0 EQINT
-            18x1....s2 PUSH
-            26x1....SBITS
-            26x1....33 LESSINT
-            18x1....AND
-            18x1....<{
-            18x1......DROP2
-            18x1......-1 PUSHINT
-            18x1....}> PUSHCONT
-            18x1....IFJMP
-            ....2732768933 PUSHINT
-            ....EQUAL
-            ....<{
-            ......32 LDU
-            ......s0 s1 XCHG
-            ......2732768933 PUSHINT
-            ......EQUAL
-            ......129 THROWIFNOT
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 POP
-            ......s2 s5 XCHG
-            ......s2 s4 XCHG
-            ......s2 s3 XCHG
-            ......s0 s5 XCHG
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......257 PUSHINT
-            ......LDIX
-            ......257 PUSHINT
-            ......LDIX
-            ......s0 POP
-            ......s2 s5 XCHG
-            ......s2 s4 XCHG
-            ......s2 s3 XCHG
-            ......s5 POP
-            ......s5 s10 XCHG
-            ......1 4 BLKSWAP
-            ......1 10 BLKDROP2
-            ......10 10 BLKDROP2
-            ......-1 PUSHINT
-            ....}> IFJMPREF
-            ....s0 POP
-            ....0 PUSHINT
-            x1..}>
-            x1..?fun_ref_5c3875cd93a9a567 PROCREF:<{
-            34x1....s4 s3 s2 PUSH3
-            26x1....s4 s3 PUSH2
-            31x1....5 TUPLE
-            x1..}>
-            x1..?fun_ref_7047cccd1e662630 PROCREF:<{
-            34x1....s9 s8 s7 PUSH3
-            26x1....s9 s8 PUSH2
-            31x1....5 TUPLE
-            x1..}>
-            ..?fun_ref_b37c80e69b8b8647 PROCREF:<{
-            ....s9 s8 s7 PUSH3
-            ....s9 s8 s7 PUSH3
-            ....s9 s8 s7 PUSH3
-            ....s9 PUSH
-            ....10 TUPLE
-            ..}>
-            x1..?fun_ref_bde4d18aa276d959 PROCREF:<{
-            34x1....s4 s3 s2 PUSH3
-            26x1....s4 s3 PUSH2
-            x1..}>
-            ..?fun_ref_e2e845988e57d36d PROCREF:<{
-            ....11 BLKDROP
-            ....s0 s4 XCHG
-            ....INC
-            ....s0 s3 XCHG
-            ....2 ADD
-            ....s0 s2 XCHG
-            ....3 ADD
-            ....s0 s1 XCHG
-            ....4 ADD
-            ....s0 s4 XCHG
-            ....5 ADD
-            ....s3 s4 XCHG
-            ....s1 s3 s0 XCHG3
-            ..}>
-            x1..?fun_ref_f38effbd2479a342 PROCREF:<{
-            34x1....s9 s8 s7 PUSH3
-            26x1....s9 s8 PUSH2
-            x1..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/serialization-2_SerializationTester2.code.fc b/src/test/features/output/serialization-2_SerializationTester2.code.fc deleted file mode 100644 index 61098c01e..000000000 --- a/src/test/features/output/serialization-2_SerializationTester2.code.fc +++ /dev/null @@ -1,198 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "serialization-2_SerializationTester2.headers.fc"; -#include "serialization-2_SerializationTester2.stdlib.fc"; -#include "serialization-2_SerializationTester2.storage.fc"; - -;; -;; Contract SerializationTester2 functions -;; - -((int, int, int, int, int), (int, int, int, int, int)) $SerializationTester2$_contract_init((int, int, int, int, int) $a, (int, int, int, int, int) $b) impure inline_ref { - var (($a'a, $a'b, $a'c, $a'd, $a'e)) = $a; - var (($b'a, $b'b, $b'c, $b'd, $b'e)) = $b; - var ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e))) = (null(), null()); - ($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e) = ($a'a, $a'b, $a'c, $a'd, $a'e); - ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e) = ($b'a, $b'b, $b'c, $b'd, $b'e); - return (($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)); -} - -(((int, int, int, int, int), (int, int, int, int, int)), (int, int, int, int, int)) $SerializationTester2$_fun_getA(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline_ref { - var ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e))) = $self; - return ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)), ($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e)); -} - -(((int, int, int, int, int), (int, int, int, int, int)), tuple) $SerializationTester2$_fun_getAopt(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline_ref { - var ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e))) = $self; - return ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)), $Vars$_as_optional(($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e))); -} - -(((int, int, int, int, int), (int, int, int, int, int)), (int, int, int, int, int)) $SerializationTester2$_fun_getB(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline_ref { - var ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e))) = $self; - return ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)); -} - -(((int, int, int, int, int), (int, int, int, int, int)), tuple) $SerializationTester2$_fun_getBopt(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline_ref { - var ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e))) = $self; - return ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)), $Vars$_as_optional(($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e))); -} - -(((int, int, int, int, int), (int, int, int, int, int)), ((int, int, int, int, int), (int, int, int, int, int))) $SerializationTester2$_fun_getBoth(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline_ref { - var ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e))) = $self; - return ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)), $Both$_constructor_a_b(($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e))); -} - -(((int, int, int, int, int), (int, int, int, int, int)), tuple) $SerializationTester2$_fun_getBothOpt(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline_ref { - var ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e))) = $self; - return ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)), $Both$_as_optional($Both$_constructor_a_b(($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)))); -} - -(((int, int, int, int, int), (int, int, int, int, int)), (int, int, int, int, int)) $SerializationTester2$_fun_process(((int, int, int, int, int), (int, int, int, int, int)) $self, (int, int, int, int, int) $src, ((int, int, int, int, int), (int, int, int, int, int)) $both, tuple $both2) impure inline_ref { - var ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e))) = $self; - var (($src'a, $src'b, $src'c, $src'd, $src'e)) = $src; - var ((($both'a'a, $both'a'b, $both'a'c, $both'a'd, $both'a'e), ($both'b'a, $both'b'b, $both'b'c, $both'b'd, $both'b'e))) = $both; - var ($both2) = $both2; - return ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)), $Vars$_constructor_a_b_c_d_e(($src'a + 1), ($src'b + 2), ($src'c + 3), ($src'd + 4), ($src'e + 5))); -} - -;; -;; Receivers of a Contract SerializationTester2 -;; - -((((int, int, int, int, int), (int, int, int, int, int))), ()) %$SerializationTester2$_internal_empty(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline { - var (($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)) = $self; - return ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)), ()); -} - -((((int, int, int, int, int), (int, int, int, int, int))), ()) $SerializationTester2$_internal_binary_Update(((int, int, int, int, int), (int, int, int, int, int)) $self, ((int, int, int, int, int), (int, int, int, int, int)) $msg) impure inline { - var (($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)) = $self; - var (($msg'a'a, $msg'a'b, $msg'a'c, $msg'a'd, $msg'a'e), ($msg'b'a, $msg'b'b, $msg'b'c, $msg'b'd, $msg'b'e)) = $msg; - ($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e) = ($msg'a'a, $msg'a'b, $msg'a'c, $msg'a'd, $msg'a'e); - ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e) = ($msg'b'a, $msg'b'b, $msg'b'c, $msg'b'd, $msg'b'e); - return ((($self'a'a, $self'a'b, $self'a'c, $self'a'd, $self'a'e), ($self'b'a, $self'b'b, $self'b'c, $self'b'd, $self'b'e)), ()); -} - -;; -;; Get methods of a Contract SerializationTester2 -;; - -_ %getA() method_id(123932) { - var self = $SerializationTester2$_contract_load(); - var res = self~$SerializationTester2$_fun_getA(); - return $Vars$_to_external(res); -} - -_ %getAopt() method_id(113663) { - var self = $SerializationTester2$_contract_load(); - var res = self~$SerializationTester2$_fun_getAopt(); - return $Vars$_to_opt_external(res); -} - -_ %getB() method_id(119935) { - var self = $SerializationTester2$_contract_load(); - var res = self~$SerializationTester2$_fun_getB(); - return $Vars$_to_external(res); -} - -_ %getBopt() method_id(73763) { - var self = $SerializationTester2$_contract_load(); - var res = self~$SerializationTester2$_fun_getBopt(); - return $Vars$_to_opt_external(res); -} - -_ %getBoth() method_id(81754) { - var self = $SerializationTester2$_contract_load(); - var res = self~$SerializationTester2$_fun_getBoth(); - return $Both$_to_external(res); -} - -_ %getBothOpt() method_id(69430) { - var self = $SerializationTester2$_contract_load(); - var res = self~$SerializationTester2$_fun_getBothOpt(); - return $Both$_to_opt_external(res); -} - -_ %process(tuple $$src, tuple $$both, tuple $$both2) method_id(104435) { - (int, int, int, int, int) $src = $Vars$_from_tuple($$src); - ((int, int, int, int, int), (int, int, int, int, int)) $both = $Both$_from_tuple($$both); - tuple $both2 = $Both$_from_opt_tuple($$both2); - var self = $SerializationTester2$_contract_load(); - var res = self~$SerializationTester2$_fun_process($src, $both, $both2); - return $Vars$_to_external(res); -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmQwtBcS8Q8n1BhHBLTTvMTnWRMWgTfKm4PG6heD1kCUDU"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract SerializationTester2 -;; - -(((int, int, int, int, int), (int, int, int, int, int)), int) $SerializationTester2$_contract_router_internal(((int, int, int, int, int), (int, int, int, int, int)) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$SerializationTester2$_internal_empty(); - return (self, true); - } - - ;; Receive Update message - if (op == 2732768933) { - var msg = in_msg~$Update$_load(); - self~$SerializationTester2$_internal_binary_Update(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $SerializationTester2$_contract_load(); - - ;; Handle operation - int handled = self~$SerializationTester2$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $SerializationTester2$_contract_store(self); -} diff --git a/src/test/features/output/serialization-2_SerializationTester2.code.fif b/src/test/features/output/serialization-2_SerializationTester2.code.fif deleted file mode 100644 index 26d7a8356..000000000 --- a/src/test/features/output/serialization-2_SerializationTester2.code.fif +++ /dev/null @@ -1,506 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Vars$_store - DECLPROC $Vars$_load - DECLPROC $Update$_load - DECLPROC $SerializationTester2$_store - DECLPROC $SerializationTester2$_load - DECLPROC $Vars$_not_null - DECLPROC $Vars$_as_optional - DECLPROC $Vars$_to_tuple - DECLPROC $Vars$_to_opt_tuple - DECLPROC $Vars$_from_tuple - DECLPROC $Vars$_to_external - DECLPROC $Vars$_to_opt_external - DECLPROC $Both$_not_null - DECLPROC $Both$_as_optional - DECLPROC $Both$_to_tuple - DECLPROC $Both$_to_opt_tuple - DECLPROC $Both$_from_tuple - DECLPROC $Both$_from_opt_tuple - DECLPROC $Both$_to_external - DECLPROC $Both$_to_opt_external - DECLPROC $SerializationTester2$init$_load - DECLPROC $SerializationTester2$_contract_init - DECLPROC $SerializationTester2$_contract_load - DECLPROC $SerializationTester2$_contract_store - DECLPROC $SerializationTester2$_fun_getA - DECLPROC $SerializationTester2$_fun_getAopt - DECLPROC $SerializationTester2$_fun_getB - DECLPROC $SerializationTester2$_fun_getBopt - DECLPROC $Both$_constructor_a_b - DECLPROC $SerializationTester2$_fun_getBoth - DECLPROC $SerializationTester2$_fun_getBothOpt - DECLPROC $Vars$_constructor_a_b_c_d_e - DECLPROC $SerializationTester2$_fun_process - DECLPROC %$SerializationTester2$_internal_empty - DECLPROC $SerializationTester2$_internal_binary_Update - 123932 DECLMETHOD %getA - 113663 DECLMETHOD %getAopt - 119935 DECLMETHOD %getB - 73763 DECLMETHOD %getBopt - 81754 DECLMETHOD %getBoth - 69430 DECLMETHOD %getBothOpt - 104435 DECLMETHOD %process - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $SerializationTester2$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $Vars$_store PROCINLINE:<{ - s4 s5 XCHG2 - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - 257 PUSHINT - STIX - SWAP - NEWC - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - ENDC - SWAP - STREF - }> - $Vars$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - SWAP - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - DROP - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - }> - $Update$_load PROCINLINE:<{ - 32 LDU - SWAP - 2732768933 PUSHINT - EQUAL - 129 THROWIFNOT - $Vars$_load INLINECALLDICT - s0 s5 XCHG - LDREF - SWAP - CTOS - $Vars$_load INLINECALLDICT - s5 POP - s5 s10 XCHG - 4 ROLL - }> - $SerializationTester2$_store PROCINLINE:<{ - s5 s10 XCHG - s4 s9 XCHG - s3 s8 XCHG - s7 s6 s10 XCHG3 - $Vars$_store INLINECALLDICT - NEWC - 5 -ROLL - s0 s6 XCHG - $Vars$_store INLINECALLDICT - ENDC - SWAP - STREF - }> - $SerializationTester2$_load PROCINLINE:<{ - $Vars$_load INLINECALLDICT - s0 s5 XCHG - LDREF - SWAP - CTOS - $Vars$_load INLINECALLDICT - s5 POP - s5 s10 XCHG - 4 ROLL - }> - $Vars$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 5 UNTUPLE - }> - $Vars$_as_optional PROCINLINE:<{ - 5 TUPLE - }> - $Vars$_to_tuple PROCINLINE:<{ - 5 TUPLE - }> - $Vars$_to_opt_tuple PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $Vars$_not_null INLINECALLDICT - $Vars$_to_tuple INLINECALLDICT - }> - }> - $Vars$_from_tuple PROCINLINE:<{ - 5 UNTUPLE - }> - $Vars$_to_external PROCINLINE:<{ - }> - $Vars$_to_opt_external PROCINLINE:<{ - $Vars$_to_opt_tuple INLINECALLDICT - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - }> - }> - $Both$_not_null PROCINLINE:<{ - DUP - ISNULL - 128 THROWIF - 10 UNTUPLE - }> - $Both$_as_optional PROCINLINE:<{ - 10 TUPLE - }> - $Both$_to_tuple PROCINLINE:<{ - 5 5 BLKSWAP - $Vars$_to_tuple INLINECALLDICT - 5 -ROLL - $Vars$_to_tuple INLINECALLDICT - 2 TUPLE - }> - $Both$_to_opt_tuple PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $Both$_not_null INLINECALLDICT - $Both$_to_tuple INLINECALLDICT - }> - }> - $Both$_from_tuple PROCINLINE:<{ - 2 UNTUPLE - SWAP - $Vars$_from_tuple INLINECALLDICT - s0 s5 XCHG - $Vars$_from_tuple INLINECALLDICT - s8 s9 XCHG - s7 s8 XCHG - s6 s7 XCHG - s5 s6 XCHG - }> - $Both$_from_opt_tuple PROCINLINE:<{ - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - $Both$_from_tuple INLINECALLDICT - $Both$_as_optional INLINECALLDICT - }> - }> - $Both$_to_external PROCINLINE:<{ - 5 5 BLKSWAP - $Vars$_to_tuple INLINECALLDICT - 5 -ROLL - $Vars$_to_tuple INLINECALLDICT - }> - $Both$_to_opt_external PROCINLINE:<{ - $Both$_to_opt_tuple INLINECALLDICT - DUP - ISNULL - IF:<{ - DROP - PUSHNULL - }>ELSE<{ - }> - }> - $SerializationTester2$init$_load PROCINLINE:<{ - $Vars$_load INLINECALLDICT - s0 s5 XCHG - LDREF - SWAP - CTOS - $Vars$_load INLINECALLDICT - s5 POP - s5 s10 XCHG - 4 ROLL - }> - $SerializationTester2$_contract_init PROCREF:<{ - }> - $SerializationTester2$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $SerializationTester2$_load INLINECALLDICT - 1 10 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $SerializationTester2$init$_load INLINECALLDICT - s0 s10 XCHG - ENDS - 9 ROLL - $SerializationTester2$_contract_init INLINECALLDICT - }> - $SerializationTester2$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 10 -ROLL - $SerializationTester2$_store INLINECALLDICT - ENDC - c4 POP - }> - $SerializationTester2$_fun_getA PROCREF:<{ - s9 s8 s7 PUSH3 - s9 s8 PUSH2 - }> - $SerializationTester2$_fun_getAopt PROCREF:<{ - s9 s8 s7 PUSH3 - s9 s8 PUSH2 - $Vars$_as_optional INLINECALLDICT - }> - $SerializationTester2$_fun_getB PROCREF:<{ - s4 s3 s2 PUSH3 - s4 s3 PUSH2 - }> - $SerializationTester2$_fun_getBopt PROCREF:<{ - s4 s3 s2 PUSH3 - s4 s3 PUSH2 - $Vars$_as_optional INLINECALLDICT - }> - $Both$_constructor_a_b PROCINLINE:<{ - }> - $SerializationTester2$_fun_getBoth PROCREF:<{ - s9 s8 s7 PUSH3 - s9 s8 s7 PUSH3 - s9 s8 s7 PUSH3 - s9 PUSH - $Both$_constructor_a_b INLINECALLDICT - }> - $SerializationTester2$_fun_getBothOpt PROCREF:<{ - s9 s8 s7 PUSH3 - s9 s8 s7 PUSH3 - s9 s8 s7 PUSH3 - s9 PUSH - $Both$_constructor_a_b INLINECALLDICT - $Both$_as_optional INLINECALLDICT - }> - $Vars$_constructor_a_b_c_d_e PROCINLINE:<{ - }> - $SerializationTester2$_fun_process PROCREF:<{ - 11 BLKDROP - s0 s4 XCHG - INC - s0 s3 XCHG - 2 ADDCONST - s0 s2 XCHG - 3 ADDCONST - SWAP - 4 ADDCONST - s0 s4 XCHG - 5 ADDCONST - s3 s4 XCHG - s1 s3 s0 XCHG3 - $Vars$_constructor_a_b_c_d_e INLINECALLDICT - }> - %$SerializationTester2$_internal_empty PROCINLINE:<{ - }> - $SerializationTester2$_internal_binary_Update PROCINLINE:<{ - 10 10 BLKDROP2 - }> - %getA PROC:<{ - $SerializationTester2$_contract_load INLINECALLDICT - $SerializationTester2$_fun_getA INLINECALLDICT - 10 5 BLKDROP2 - $Vars$_to_external INLINECALLDICT - }> - %getAopt PROC:<{ - $SerializationTester2$_contract_load INLINECALLDICT - $SerializationTester2$_fun_getAopt INLINECALLDICT - 10 1 BLKDROP2 - $Vars$_to_opt_external INLINECALLDICT - }> - %getB PROC:<{ - $SerializationTester2$_contract_load INLINECALLDICT - $SerializationTester2$_fun_getB INLINECALLDICT - 10 5 BLKDROP2 - $Vars$_to_external INLINECALLDICT - }> - %getBopt PROC:<{ - $SerializationTester2$_contract_load INLINECALLDICT - $SerializationTester2$_fun_getBopt INLINECALLDICT - 10 1 BLKDROP2 - $Vars$_to_opt_external INLINECALLDICT - }> - %getBoth PROC:<{ - $SerializationTester2$_contract_load INLINECALLDICT - $SerializationTester2$_fun_getBoth INLINECALLDICT - 10 10 BLKDROP2 - $Both$_to_external INLINECALLDICT - }> - %getBothOpt PROC:<{ - $SerializationTester2$_contract_load INLINECALLDICT - $SerializationTester2$_fun_getBothOpt INLINECALLDICT - 10 1 BLKDROP2 - $Both$_to_opt_external INLINECALLDICT - }> - %process PROC:<{ - s0 s2 XCHG - $Vars$_from_tuple INLINECALLDICT - s0 s5 XCHG - $Both$_from_tuple INLINECALLDICT - s0 s15 XCHG - $Both$_from_opt_tuple INLINECALLDICT - $SerializationTester2$_contract_load INLINECALLDICT - s9 25 s() XCHG - s8 24 s() XCHG - s7 23 s() XCHG - s6 22 s() XCHG - s5 21 s() XCHG - s4 20 s() XCHG - s3 19 s() XCHG - s2 18 s() XCHG - s1 17 s() XCHG - s0 16 s() XCHG - s7 s15 XCHG - s6 s14 XCHG - s5 s13 XCHG - s4 s12 XCHG - s8 s11 XCHG - s3 s10 XCHG - s9 s1 s7 XCHG3 - s0 s6 XCHG - s0 s5 XCHG - s0 s4 XCHG - s8 s8 s3 XCHG3 - $SerializationTester2$_fun_process INLINECALLDICT - 10 5 BLKDROP2 - $Vars$_to_external INLINECALLDICT - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d5177744263533851386e31426848424c5454764d546e57524d576754664b6d34504736686544316b43554455} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $SerializationTester2$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - IFJMP:<{ - 2DROP - %$SerializationTester2$_internal_empty INLINECALLDICT - TRUE - }> - 2732768933 PUSHINT - EQUAL - IFJMP:<{ - $Update$_load INLINECALLDICT - 1 10 BLKDROP2 - $SerializationTester2$_internal_binary_Update INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $SerializationTester2$_contract_load INLINECALLDICT - 2 10 BLKSWAP - $SerializationTester2$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $SerializationTester2$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/serialization-2_SerializationTester2.code.rev.fif b/src/test/features/output/serialization-2_SerializationTester2.code.rev.fif deleted file mode 100644 index 38a979267..000000000 --- a/src/test/features/output/serialization-2_SerializationTester2.code.rev.fif +++ /dev/null @@ -1,540 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_69430; - DECLPROC ?fun_73763; - DECLPROC ?fun_81754; - DECLPROC ?fun_104435; - DECLPROC supported_interfaces; - DECLPROC ?fun_113663; - DECLPROC lazy_deployment_completed; - DECLPROC ?fun_119935; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_123932; - DECLPROC ?fun_ref_2a9288f69206cd27; - DECLPROC ?fun_ref_362f405abe5b5b1e; - DECLPROC ?fun_ref_38b956e6f2d96326; - DECLPROC ?fun_ref_5c3875cd93a9a567; - DECLPROC ?fun_ref_7047cccd1e662630; - DECLPROC ?fun_ref_b37c80e69b8b8647; - DECLPROC ?fun_ref_bde4d18aa276d959; - DECLPROC ?fun_ref_e2e845988e57d36d; - DECLPROC ?fun_ref_f38effbd2479a342; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_2a9288f69206cd27 INLINECALLDICT - 2 10 BLKSWAP - ?fun_ref_38b956e6f2d96326 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 10 1 BLKSWAP - s5 s10 XCHG - s4 s9 XCHG - s3 s8 XCHG - s7 s6 s10 XCHG3 - s4 s5 XCHG2 - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - 257 PUSHINT - STIX - s0 s1 XCHG - NEWC - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - ENDC - s0 s1 XCHG - STREF - NEWC - 5 1 BLKSWAP - s0 s6 XCHG - s4 s5 XCHG2 - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - 257 PUSHINT - STIX - s0 s1 XCHG - NEWC - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - ENDC - s0 s1 XCHG - STREF - ENDC - s0 s1 XCHG - STREF - ENDC - c4 POP - }> - ?fun_69430 PROC:<{ - ?fun_ref_2a9288f69206cd27 INLINECALLDICT - ?fun_ref_b37c80e69b8b8647 INLINECALLDICT - 10 1 BLKDROP2 - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 10 UNTUPLE - 5 5 BLKSWAP - 5 TUPLE - 5 1 BLKSWAP - 5 TUPLE - 2 TUPLE - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - IF - }> - ?fun_73763 PROC:<{ - ?fun_ref_2a9288f69206cd27 INLINECALLDICT - ?fun_ref_5c3875cd93a9a567 INLINECALLDICT - 10 1 BLKDROP2 - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 5 UNTUPLE - 5 TUPLE - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - IF - }> - ?fun_81754 PROC:<{ - ?fun_ref_2a9288f69206cd27 INLINECALLDICT - ?fun_ref_362f405abe5b5b1e INLINECALLDICT - 10 10 BLKDROP2 - 5 5 BLKSWAP - 5 TUPLE - 5 1 BLKSWAP - 5 TUPLE - }> - ?fun_104435 PROC:<{ - s0 s2 XCHG - 5 UNTUPLE - s0 s5 XCHG - 2 UNTUPLE - s0 s1 XCHG - 5 UNTUPLE - s0 s5 XCHG - 5 UNTUPLE - s8 s9 XCHG - s7 s8 XCHG - s6 s7 XCHG - s5 s6 XCHG - s0 s15 XCHG - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - 2 UNTUPLE - s0 s1 XCHG - 5 UNTUPLE - s0 s5 XCHG - 5 UNTUPLE - s8 s9 XCHG - s7 s8 XCHG - s6 s7 XCHG - s5 s6 XCHG - 10 TUPLE - }> PUSHCONT - IFELSE - ?fun_ref_2a9288f69206cd27 INLINECALLDICT - s0 s9 XCHG - s0 s25 XCHG - s0 s9 XCHG - s0 s8 XCHG - s0 s24 XCHG - s0 s8 XCHG - s0 s7 XCHG - s0 s23 XCHG - s0 s7 XCHG - s0 s6 XCHG - s0 s22 XCHG - s0 s6 XCHG - s0 s5 XCHG - s0 s21 XCHG - s0 s5 XCHG - s0 s4 XCHG - s0 s20 XCHG - s0 s4 XCHG - s0 s3 XCHG - s0 s19 XCHG - s0 s3 XCHG - s0 s2 XCHG - s0 s18 XCHG - s0 s2 XCHG - s0 s1 XCHG - s0 s17 XCHG - s0 s1 XCHG - s0 s16 XCHG - s7 s15 XCHG - s6 s14 XCHG - s5 s13 XCHG - s4 s12 XCHG - s8 s11 XCHG - s3 s10 XCHG - s9 s1 s7 XCHG3 - s0 s6 XCHG - s0 s5 XCHG - s0 s4 XCHG - s8 s8 s3 XCHG3 - ?fun_ref_e2e845988e57d36d INLINECALLDICT - 10 5 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - ?fun_113663 PROC:<{ - ?fun_ref_2a9288f69206cd27 INLINECALLDICT - ?fun_ref_7047cccd1e662630 INLINECALLDICT - 10 1 BLKDROP2 - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - <{ - s0 PUSH - ISNULL - 128 THROWIF - 5 UNTUPLE - 5 TUPLE - }> PUSHCONT - IFELSE - s0 PUSH - ISNULL - <{ - s0 POP - NULL - }> PUSHCONT - IF - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - ?fun_119935 PROC:<{ - ?fun_ref_2a9288f69206cd27 INLINECALLDICT - ?fun_ref_bde4d18aa276d959 INLINECALLDICT - 10 5 BLKDROP2 - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D5177744263533851386E31426848424C5454764D546E57524D576754664B6D34504736686544316B4355445582_} PUSHSLICE - }> - ?fun_123932 PROC:<{ - ?fun_ref_2a9288f69206cd27 INLINECALLDICT - ?fun_ref_f38effbd2479a342 INLINECALLDICT - 10 5 BLKDROP2 - }> - ?fun_ref_2a9288f69206cd27 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - s0 s5 XCHG - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - s5 POP - s5 s10 XCHG - 1 4 BLKSWAP - 1 10 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - s0 s5 XCHG - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - s5 POP - s5 s10 XCHG - 1 4 BLKSWAP - s0 s10 XCHG - ENDS - 1 9 BLKSWAP - }> - ?fun_ref_362f405abe5b5b1e PROCREF:<{ - s9 s8 s7 PUSH3 - s9 s8 s7 PUSH3 - s9 s8 s7 PUSH3 - s9 PUSH - }> - ?fun_ref_38b956e6f2d96326 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - IFJMP - 2732768933 PUSHINT - EQUAL - <{ - 32 LDU - s0 s1 XCHG - 2732768933 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - s0 s5 XCHG - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - s5 POP - s5 s10 XCHG - 1 4 BLKSWAP - 1 10 BLKDROP2 - 10 10 BLKDROP2 - -1 PUSHINT - }> IFJMPREF - s0 POP - 0 PUSHINT - }> - ?fun_ref_5c3875cd93a9a567 PROCREF:<{ - s4 s3 s2 PUSH3 - s4 s3 PUSH2 - 5 TUPLE - }> - ?fun_ref_7047cccd1e662630 PROCREF:<{ - s9 s8 s7 PUSH3 - s9 s8 PUSH2 - 5 TUPLE - }> - ?fun_ref_b37c80e69b8b8647 PROCREF:<{ - s9 s8 s7 PUSH3 - s9 s8 s7 PUSH3 - s9 s8 s7 PUSH3 - s9 PUSH - 10 TUPLE - }> - ?fun_ref_bde4d18aa276d959 PROCREF:<{ - s4 s3 s2 PUSH3 - s4 s3 PUSH2 - }> - ?fun_ref_e2e845988e57d36d PROCREF:<{ - 11 BLKDROP - s0 s4 XCHG - INC - s0 s3 XCHG - 2 ADD - s0 s2 XCHG - 3 ADD - s0 s1 XCHG - 4 ADD - s0 s4 XCHG - 5 ADD - s3 s4 XCHG - s1 s3 s0 XCHG3 - }> - ?fun_ref_f38effbd2479a342 PROCREF:<{ - s9 s8 s7 PUSH3 - s9 s8 PUSH2 - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/serialization-2_SerializationTester2.headers.fc b/src/test/features/output/serialization-2_SerializationTester2.headers.fc deleted file mode 100644 index 48136f19c..000000000 --- a/src/test/features/output/serialization-2_SerializationTester2.headers.fc +++ /dev/null @@ -1,106 +0,0 @@ -;; -;; Header files for SerializationTester2 -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Vars$_store -builder $Vars$_store(builder build_0, (int, int, int, int, int) v) inline; - -;; $Vars$_load -(slice, ((int, int, int, int, int))) $Vars$_load(slice sc_0) inline; - -;; $Update$_load -(slice, (((int, int, int, int, int), (int, int, int, int, int)))) $Update$_load(slice sc_0) inline; - -;; $SerializationTester2$_store -builder $SerializationTester2$_store(builder build_0, ((int, int, int, int, int), (int, int, int, int, int)) v) inline; - -;; $SerializationTester2$_load -(slice, (((int, int, int, int, int), (int, int, int, int, int)))) $SerializationTester2$_load(slice sc_0) inline; - -;; $Vars$_not_null -((int, int, int, int, int)) $Vars$_not_null(tuple v) inline; - -;; $Vars$_as_optional -tuple $Vars$_as_optional((int, int, int, int, int) v) inline; - -;; $Vars$_to_tuple -tuple $Vars$_to_tuple(((int, int, int, int, int)) v) inline; - -;; $Vars$_to_opt_tuple -tuple $Vars$_to_opt_tuple(tuple v) inline; - -;; $Vars$_from_tuple -(int, int, int, int, int) $Vars$_from_tuple(tuple v) inline; - -;; $Vars$_to_external -(int, int, int, int, int) $Vars$_to_external(((int, int, int, int, int)) v) inline; - -;; $Vars$_to_opt_external -tuple $Vars$_to_opt_external(tuple v) inline; - -;; $Both$_not_null -(((int, int, int, int, int), (int, int, int, int, int))) $Both$_not_null(tuple v) inline; - -;; $Both$_as_optional -tuple $Both$_as_optional(((int, int, int, int, int), (int, int, int, int, int)) v) inline; - -;; $Both$_to_tuple -tuple $Both$_to_tuple((((int, int, int, int, int), (int, int, int, int, int))) v) inline; - -;; $Both$_to_opt_tuple -tuple $Both$_to_opt_tuple(tuple v) inline; - -;; $Both$_from_tuple -((int, int, int, int, int), (int, int, int, int, int)) $Both$_from_tuple(tuple v) inline; - -;; $Both$_from_opt_tuple -tuple $Both$_from_opt_tuple(tuple v) inline; - -;; $Both$_to_external -(tuple, tuple) $Both$_to_external((((int, int, int, int, int), (int, int, int, int, int))) v) inline; - -;; $Both$_to_opt_external -tuple $Both$_to_opt_external(tuple v) inline; - -;; $SerializationTester2$init$_load -(slice, (((int, int, int, int, int), (int, int, int, int, int)))) $SerializationTester2$init$_load(slice sc_0) inline; - -;; $SerializationTester2$_contract_init -((int, int, int, int, int), (int, int, int, int, int)) $SerializationTester2$_contract_init((int, int, int, int, int) $a, (int, int, int, int, int) $b) impure inline_ref; - -;; $SerializationTester2$_contract_load -((int, int, int, int, int), (int, int, int, int, int)) $SerializationTester2$_contract_load() impure inline_ref; - -;; $SerializationTester2$_contract_store -() $SerializationTester2$_contract_store(((int, int, int, int, int), (int, int, int, int, int)) v) impure inline; - -;; $SerializationTester2$_fun_getA -(((int, int, int, int, int), (int, int, int, int, int)), (int, int, int, int, int)) $SerializationTester2$_fun_getA(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline_ref; - -;; $SerializationTester2$_fun_getAopt -(((int, int, int, int, int), (int, int, int, int, int)), tuple) $SerializationTester2$_fun_getAopt(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline_ref; - -;; $SerializationTester2$_fun_getB -(((int, int, int, int, int), (int, int, int, int, int)), (int, int, int, int, int)) $SerializationTester2$_fun_getB(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline_ref; - -;; $SerializationTester2$_fun_getBopt -(((int, int, int, int, int), (int, int, int, int, int)), tuple) $SerializationTester2$_fun_getBopt(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline_ref; - -;; $Both$_constructor_a_b -(((int, int, int, int, int), (int, int, int, int, int))) $Both$_constructor_a_b((int, int, int, int, int) a, (int, int, int, int, int) b) inline; - -;; $SerializationTester2$_fun_getBoth -(((int, int, int, int, int), (int, int, int, int, int)), ((int, int, int, int, int), (int, int, int, int, int))) $SerializationTester2$_fun_getBoth(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline_ref; - -;; $SerializationTester2$_fun_getBothOpt -(((int, int, int, int, int), (int, int, int, int, int)), tuple) $SerializationTester2$_fun_getBothOpt(((int, int, int, int, int), (int, int, int, int, int)) $self) impure inline_ref; - -;; $Vars$_constructor_a_b_c_d_e -((int, int, int, int, int)) $Vars$_constructor_a_b_c_d_e(int a, int b, int c, int d, int e) inline; - -;; $SerializationTester2$_fun_process -(((int, int, int, int, int), (int, int, int, int, int)), (int, int, int, int, int)) $SerializationTester2$_fun_process(((int, int, int, int, int), (int, int, int, int, int)) $self, (int, int, int, int, int) $src, ((int, int, int, int, int), (int, int, int, int, int)) $both, tuple $both2) impure inline_ref; diff --git a/src/test/features/output/serialization-2_SerializationTester2.md b/src/test/features/output/serialization-2_SerializationTester2.md deleted file mode 100644 index 056fcd2b5..000000000 --- a/src/test/features/output/serialization-2_SerializationTester2.md +++ /dev/null @@ -1,76 +0,0 @@ -# TACT Compilation Report -Contract: SerializationTester2 -BOC Size: 1100 bytes - -# Types -Total Types: 6 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Vars -TLB: `_ a:int257 b:int257 c:int257 d:int257 e:int257 = Vars` -Signature: `Vars{a:int257,b:int257,c:int257,d:int257,e:int257}` - -## Both -TLB: `_ a:Vars{a:int257,b:int257,c:int257,d:int257,e:int257} b:Vars{a:int257,b:int257,c:int257,d:int257,e:int257} = Both` -Signature: `Both{a:Vars{a:int257,b:int257,c:int257,d:int257,e:int257},b:Vars{a:int257,b:int257,c:int257,d:int257,e:int257}}` - -## Update -TLB: `update#a2e2bea5 a:Vars{a:int257,b:int257,c:int257,d:int257,e:int257} b:Vars{a:int257,b:int257,c:int257,d:int257,e:int257} = Update` -Signature: `Update{a:Vars{a:int257,b:int257,c:int257,d:int257,e:int257},b:Vars{a:int257,b:int257,c:int257,d:int257,e:int257}}` - -# Get Methods -Total Get Methods: 7 - -## getA - -## getAopt - -## getB - -## getBopt - -## getBoth - -## getBothOpt - -## process -Argument: src -Argument: both -Argument: both2 - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/serialization-2_SerializationTester2.pkg b/src/test/features/output/serialization-2_SerializationTester2.pkg deleted file mode 100644 index 7c980eaf8..000000000 --- a/src/test/features/output/serialization-2_SerializationTester2.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"SerializationTester2","code":"te6ccgECIgEABEAAART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVGds88uCCHwQFAgEgBwgBVAGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+CCEKLivqW64wIwcAYAwsj4QwHMfwHKAFWQEFoQSRA4R2pQRYEBAc8AEoEBAc8AgQEBzwAByIEBAc8AEoEBAc8AyQHMyFVABlBFgQEBzwASgQEBzwCBAQHPAAHIgQEBzwASgQEBzwDJAczJAczJ7VQAwtMfAYIQouK+pbry4IGBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQIwXUAdCBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQIzUQWlUDbBpsqn8CAUgJCgIBIBARAk+15ttnm2eNlCQN0kYNscIkDd5aEA3lSqiN4KqoDeCt4FxEDdJGDbvQHwsCASAMDQAYVHmHVHmHVHmHKW8KAj2wCPbPNs8bKEgbpIwbZkgbvLQgG8lbwXiIG6SMG3egHw4CIbPWts82zxsqlVEbwVVQG8FgHw8ADlR0MlNDbwUAFFR5h1R5h1R5hykCASASEwIBIBgZAuG2/mBN5KCt5EAt5KCt5KIRIg8CDOIKweQN0kYNscJN5EAt5KCt5KIRIg8CDOIKzeFcW2eBIiMhIQIjAQDiIuDgwiLAwKIioKCCIoCAYiJgYEIiQEAiIiAiIgIP4g3CC6IJghFiB0ki4MCgiRB7Z42UsB8UAgOffBUWAChfCwSkA6YCAqYDAaYEBKYFEDRBMAC3rGCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSACOfds82zxsoSBukjBtmSBu8tCAbyVvBeIgbpIwbd6HxcADlR5h1OYbwUCASAaGwIRtIObZ5tnjZSwHyAAEbCvu1E0NIAAYAIBIBwdAhGuP+2ebZ42UsAfHgB1rN3Ghq0uDM5nReXqLaou7ohMamcKJw3GKE0JCEmKio7Jqo3K6kmq7OqMyW2migjmzQyohi1oaqiKsEAAClR0MlNDAdLtRNDUAfhj0gABjlGBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQIwXUAdCBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQIzUQWlUDbBrg+CjXCwqDCbry4IkhAApUeYdTmACmgQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXADAQJRAkECMF1AHQgQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXADAQJRAkECM1EFpVAwrRVQg=","abi":"{\"name\":\"SerializationTester2\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Vars\",\"header\":null,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"c\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"d\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"e\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]},{\"name\":\"Both\",\"header\":null,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"Vars\",\"optional\":false}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"Vars\",\"optional\":false}}]},{\"name\":\"Update\",\"header\":2732768933,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"Vars\",\"optional\":false}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"Vars\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Update\"}}],\"getters\":[{\"name\":\"getA\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"Vars\",\"optional\":false}},{\"name\":\"getAopt\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"Vars\",\"optional\":true}},{\"name\":\"getB\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"Vars\",\"optional\":false}},{\"name\":\"getBopt\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"Vars\",\"optional\":true}},{\"name\":\"getBoth\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"Both\",\"optional\":false}},{\"name\":\"getBothOpt\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"Both\",\"optional\":true}},{\"name\":\"process\",\"arguments\":[{\"name\":\"src\",\"type\":{\"kind\":\"simple\",\"type\":\"Vars\",\"optional\":false}},{\"name\":\"both\",\"type\":{\"kind\":\"simple\",\"type\":\"Both\",\"optional\":false}},{\"name\":\"both2\",\"type\":{\"kind\":\"simple\",\"type\":\"Both\",\"optional\":true}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"Vars\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"a","type":{"kind":"simple","type":"Vars","optional":false}},{"name":"b","type":{"kind":"simple","type":"Vars","optional":false}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECJAEABEoAAQHAAQEFoZk7AgEU/wD0pBP0vPLICwMCAWIeBAIBIBYFAgEgDwYCASAJBwIRtIObZ5tnjZSwIggAClR5h1OYAgEgDgoCASAMCwB1rN3Ghq0uDM5nReXqLaou7ohMamcKJw3GKE0JCEmKio7Jqo3K6kmq7OqMyW2migjmzQyohi1oaqiKsEACEa4/7Z5tnjZSwCINAApUdDJTQwARsK+7UTQ0gABgAgEgFBACA598ExECOfds82zxsoSBukjBtmSBu8tCAbyVvBeIgbpIwbd6IhIADlR5h1OYbwUAt6xgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgAuG2/mBN5KCt5EAt5KCt5KIRIg8CDOIKweQN0kYNscJN5EAt5KCt5KIRIg8CDOIKzeFcW2eBIiMhIQIjAQDiIuDgwiLAwKIioKCCIoCAYiJgYEIiQEAiIiAiIgIP4g3CC6IJghFiB0ki4MCgiRB7Z42UsCIVAChfCwSkA6YCAqYDAaYEBKYFEDRBMAIBSBwXAgEgGhgCIbPWts82zxsqlVEbwVVQG8FgIhkAFFR5h1R5h1R5hykCPbAI9s82zxsoSBukjBtmSBu8tCAbyVvBeIgbpIwbd6AiGwAOVHQyU0NvBQJPtebbZ5tnjZQkDdJGDbHCJA3eWhAN5UqojeCqqA3greBcRA3SRg270CIdABhUeYdUeYdUeYcpbwoDetAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUZ2zzy4IIiIB8Awsj4QwHMfwHKAFWQEFoQSRA4R2pQRYEBAc8AEoEBAc8AgQEBzwAByIEBAc8AEoEBAc8AyQHMyFVABlBFgQEBzwASgQEBzwCBAQHPAAHIgQEBzwASgQEBzwDJAczJAczJ7VQBVAGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+CCEKLivqW64wIwcCEAwtMfAYIQouK+pbry4IGBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQIwXUAdCBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQIzUQWlUDbBpsqn8B0u1E0NQB+GPSAAGOUYEBAdcAgQEB1wCBAQHXANQB0IEBAdcAgQEB1wAwECUQJBAjBdQB0IEBAdcAgQEB1wCBAQHXANQB0IEBAdcAgQEB1wAwECUQJBAjNRBaVQNsGuD4KNcLCoMJuvLgiSMApoEBAdcAgQEB1wCBAQHXANQB0IEBAdcAgQEB1wAwECUQJBAjBdQB0IEBAdcAgQEB1wCBAQHXANQB0IEBAdcAgQEB1wAwECUQJBAjNRBaVQMK0VUI9JMxGQ=="}},"sources":{"src\\test\\features\\serialization-2.tact":"c3RydWN0IFZhcnMgew0KICAgIGE6IEludDsNCiAgICBiOiBJbnQ7DQogICAgYzogSW50Ow0KICAgIGQ6IEludDsNCiAgICBlOiBJbnQ7DQp9DQoNCnN0cnVjdCBCb3RoIHsNCiAgICBhOiBWYXJzOw0KICAgIGI6IFZhcnM7DQp9DQoNCm1lc3NhZ2UgVXBkYXRlIHsNCiAgICBhOiBWYXJzOw0KICAgIGI6IFZhcnM7DQp9DQoNCmNvbnRyYWN0IFNlcmlhbGl6YXRpb25UZXN0ZXIyIHsNCg0KICAgIGE6IFZhcnM7DQogICAgYjogVmFyczsNCg0KICAgIGluaXQoYTogVmFycywgYjogVmFycykgew0KICAgICAgICBzZWxmLmEgPSBhOw0KICAgICAgICBzZWxmLmIgPSBiOw0KICAgICAgICANCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5hLmEpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmEuYik7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYS5jKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5hLmQpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmEuZSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYi5hKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5iLmIpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmIuYyk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYi5kKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5iLmUpOw0KICAgIH0NCg0KICAgIHJlY2VpdmUoKSB7DQogICAgICAgIC8vIERlcGxveQ0KICAgIH0NCg0KICAgIHJlY2VpdmUobXNnOiBVcGRhdGUpIHsNCiAgICAgICAgc2VsZi5hID0gbXNnLmE7DQogICAgICAgIHNlbGYuYiA9IG1zZy5iOw0KDQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYS5hKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5hLmIpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmEuYyk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYS5kKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5hLmUpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmIuYSk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYi5iKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5iLmMpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmIuZCk7DQogICAgICAgIC8vIGFiaS5kdW1wKHNlbGYuYi5lKTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGdldEEoKTogVmFycyB7DQogICAgICAgIHJldHVybiBzZWxmLmE7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBnZXRBb3B0KCk6IFZhcnM/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYTsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGdldEIoKTogVmFycyB7DQogICAgICAgIHJldHVybiBzZWxmLmI7DQogICAgfQ0KDQogICAgZ2V0IGZ1biBnZXRCb3B0KCk6IFZhcnM/IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYjsNCiAgICB9DQoNCiAgICBnZXQgZnVuIGdldEJvdGgoKTpCb3RoIHsNCiAgICAgICAgcmV0dXJuIEJvdGh7YTogc2VsZi5hLCBiOiBzZWxmLmJ9Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0Qm90aE9wdCgpOkJvdGg/IHsNCiAgICAgICAgcmV0dXJuIEJvdGh7YTogc2VsZi5hLCBiOiBzZWxmLmJ9Ow0KICAgIH0NCg0KICAgIGdldCBmdW4gcHJvY2VzcyhzcmM6IFZhcnMsIGJvdGg6IEJvdGgsIGJvdGgyOiBCb3RoPyk6IFZhcnMgew0KICAgICAgICByZXR1cm4gVmFyc3thOiBzcmMuYSArIDEsIGI6IHNyYy5iICsgMiwgYzogc3JjLmMgKyAzLCBkOiBzcmMuZCArIDQsIGU6IHNyYy5lICsgNX07DQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/serialization-2.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/serialization-2_SerializationTester2.stdlib.fc b/src/test/features/output/serialization-2_SerializationTester2.stdlib.fc deleted file mode 100644 index 73be84ef8..000000000 --- a/src/test/features/output/serialization-2_SerializationTester2.stdlib.fc +++ /dev/null @@ -1,24 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} - -forall X0, X1 -> tuple __tact_tuple_create_2((X0, X1) v) asm "2 TUPLE"; - -forall X0, X1 -> (X0, X1) __tact_tuple_destroy_2(tuple v) asm "2 UNTUPLE"; - -forall X0, X1, X2, X3, X4 -> tuple __tact_tuple_create_5((X0, X1, X2, X3, X4) v) asm "5 TUPLE"; - -forall X0, X1, X2, X3, X4 -> (X0, X1, X2, X3, X4) __tact_tuple_destroy_5(tuple v) asm "5 UNTUPLE"; - -forall X0, X1, X2, X3, X4, X5, X6, X7, X8, X9 -> tuple __tact_tuple_create_10((X0, X1, X2, X3, X4, X5, X6, X7, X8, X9) v) asm "10 TUPLE"; - -forall X0, X1, X2, X3, X4, X5, X6, X7, X8, X9 -> (X0, X1, X2, X3, X4, X5, X6, X7, X8, X9) __tact_tuple_destroy_10(tuple v) asm "10 UNTUPLE"; \ No newline at end of file diff --git a/src/test/features/output/serialization-2_SerializationTester2.storage.fc b/src/test/features/output/serialization-2_SerializationTester2.storage.fc deleted file mode 100644 index 97f8f2946..000000000 --- a/src/test/features/output/serialization-2_SerializationTester2.storage.fc +++ /dev/null @@ -1,188 +0,0 @@ -;; -;; Type: Vars -;; TLB: _ a:int257 b:int257 c:int257 d:int257 e:int257 = Vars -;; - -builder $Vars$_store(builder build_0, (int, int, int, int, int) v) inline { - var (v'a, v'b, v'c, v'd, v'e) = v; - build_0 = build_0.store_int(v'a, 257); - build_0 = build_0.store_int(v'b, 257); - build_0 = build_0.store_int(v'c, 257); - var build_1 = begin_cell(); - build_1 = build_1.store_int(v'd, 257); - build_1 = build_1.store_int(v'e, 257); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((int, int, int, int, int))) $Vars$_load(slice sc_0) inline { - var v'a = sc_0~load_int(257); - var v'b = sc_0~load_int(257); - var v'c = sc_0~load_int(257); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'd = sc_1~load_int(257); - var v'e = sc_1~load_int(257); - return (sc_0, (v'a, v'b, v'c, v'd, v'e)); -} - -((int, int, int, int, int)) $Vars$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (int vvv'a, int vvv'b, int vvv'c, int vvv'd, int vvv'e) = __tact_tuple_destroy_5(v); - return (vvv'a, vvv'b, vvv'c, vvv'd, vvv'e); -} - -tuple $Vars$_as_optional((int, int, int, int, int) v) inline { - var (v'a, v'b, v'c, v'd, v'e) = v; - return __tact_tuple_create_5(v'a, v'b, v'c, v'd, v'e); -} - -tuple $Vars$_to_tuple(((int, int, int, int, int)) v) inline { - var (v'a, v'b, v'c, v'd, v'e) = v; - return __tact_tuple_create_5(v'a, v'b, v'c, v'd, v'e); -} - -tuple $Vars$_to_opt_tuple(tuple v) inline { - if (null?(v)) { return null(); } - return $Vars$_to_tuple($Vars$_not_null(v)); -} - -(int, int, int, int, int) $Vars$_from_tuple(tuple v) inline { - var (int v'a, int v'b, int v'c, int v'd, int v'e) = __tact_tuple_destroy_5(v); - return (v'a, v'b, v'c, v'd, v'e); -} - -(int, int, int, int, int) $Vars$_to_external(((int, int, int, int, int)) v) inline { - var (v'a, v'b, v'c, v'd, v'e) = v; - return (v'a, v'b, v'c, v'd, v'e); -} - -tuple $Vars$_to_opt_external(tuple v) inline { - var loaded = $Vars$_to_opt_tuple(v); - if (null?(loaded)) { - return null(); - } else { - return (loaded); - } -} - -((int, int, int, int, int)) $Vars$_constructor_a_b_c_d_e(int a, int b, int c, int d, int e) inline { - return (a, b, c, d, e); -} - -;; -;; Type: Both -;; TLB: _ a:Vars{a:int257,b:int257,c:int257,d:int257,e:int257} b:Vars{a:int257,b:int257,c:int257,d:int257,e:int257} = Both -;; - -(((int, int, int, int, int), (int, int, int, int, int))) $Both$_not_null(tuple v) inline { - throw_if(128, null?(v)); - var (int vvv'a'a, int vvv'a'b, int vvv'a'c, int vvv'a'd, int vvv'a'e, int vvv'b'a, int vvv'b'b, int vvv'b'c, int vvv'b'd, int vvv'b'e) = __tact_tuple_destroy_10(v); - return ((vvv'a'a, vvv'a'b, vvv'a'c, vvv'a'd, vvv'a'e), (vvv'b'a, vvv'b'b, vvv'b'c, vvv'b'd, vvv'b'e)); -} - -tuple $Both$_as_optional(((int, int, int, int, int), (int, int, int, int, int)) v) inline { - var ((v'a'a, v'a'b, v'a'c, v'a'd, v'a'e), (v'b'a, v'b'b, v'b'c, v'b'd, v'b'e)) = v; - return __tact_tuple_create_10(v'a'a, v'a'b, v'a'c, v'a'd, v'a'e, v'b'a, v'b'b, v'b'c, v'b'd, v'b'e); -} - -tuple $Both$_to_tuple((((int, int, int, int, int), (int, int, int, int, int))) v) inline { - var (v'a, v'b) = v; - return __tact_tuple_create_2($Vars$_to_tuple(v'a), $Vars$_to_tuple(v'b)); -} - -tuple $Both$_to_opt_tuple(tuple v) inline { - if (null?(v)) { return null(); } - return $Both$_to_tuple($Both$_not_null(v)); -} - -((int, int, int, int, int), (int, int, int, int, int)) $Both$_from_tuple(tuple v) inline { - var (tuple v'a, tuple v'b) = __tact_tuple_destroy_2(v); - return ($Vars$_from_tuple(v'a), $Vars$_from_tuple(v'b)); -} - -tuple $Both$_from_opt_tuple(tuple v) inline { - if (null?(v)) { return null(); } - return $Both$_as_optional($Both$_from_tuple(v)); -} - -(tuple, tuple) $Both$_to_external((((int, int, int, int, int), (int, int, int, int, int))) v) inline { - var (v'a, v'b) = v; - return ($Vars$_to_tuple(v'a), $Vars$_to_tuple(v'b)); -} - -tuple $Both$_to_opt_external(tuple v) inline { - var loaded = $Both$_to_opt_tuple(v); - if (null?(loaded)) { - return null(); - } else { - return (loaded); - } -} - -(((int, int, int, int, int), (int, int, int, int, int))) $Both$_constructor_a_b((int, int, int, int, int) a, (int, int, int, int, int) b) inline { - return (a, b); -} - -;; -;; Type: Update -;; Header: 0xa2e2bea5 -;; TLB: update#a2e2bea5 a:Vars{a:int257,b:int257,c:int257,d:int257,e:int257} b:Vars{a:int257,b:int257,c:int257,d:int257,e:int257} = Update -;; - -(slice, (((int, int, int, int, int), (int, int, int, int, int)))) $Update$_load(slice sc_0) inline { - throw_unless(129, sc_0~load_uint(32) == 2732768933); - var v'a = sc_0~$Vars$_load(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'b = sc_1~$Vars$_load(); - return (sc_0, (v'a, v'b)); -} - -;; -;; Type: SerializationTester2 -;; - -builder $SerializationTester2$_store(builder build_0, ((int, int, int, int, int), (int, int, int, int, int)) v) inline { - var ((v'a'a, v'a'b, v'a'c, v'a'd, v'a'e), (v'b'a, v'b'b, v'b'c, v'b'd, v'b'e)) = v; - build_0 = $Vars$_store(build_0, (v'a'a, v'a'b, v'a'c, v'a'd, v'a'e)); - var build_1 = begin_cell(); - build_1 = $Vars$_store(build_1, (v'b'a, v'b'b, v'b'c, v'b'd, v'b'e)); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, (((int, int, int, int, int), (int, int, int, int, int)))) $SerializationTester2$_load(slice sc_0) inline { - var v'a = sc_0~$Vars$_load(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'b = sc_1~$Vars$_load(); - return (sc_0, (v'a, v'b)); -} - -(slice, (((int, int, int, int, int), (int, int, int, int, int)))) $SerializationTester2$init$_load(slice sc_0) inline { - var v'a = sc_0~$Vars$_load(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'b = sc_1~$Vars$_load(); - return (sc_0, (v'a, v'b)); -} - -((int, int, int, int, int), (int, int, int, int, int)) $SerializationTester2$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$SerializationTester2$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - ((int, int, int, int, int) a, (int, int, int, int, int) b) = $sc~$SerializationTester2$init$_load(); - $sc.end_parse(); - return $SerializationTester2$_contract_init(a, b); - } -} - -() $SerializationTester2$_contract_store(((int, int, int, int, int), (int, int, int, int, int)) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $SerializationTester2$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/serialization-2_SerializationTester2.ts b/src/test/features/output/serialization-2_SerializationTester2.ts deleted file mode 100644 index c7c1c85a2..000000000 --- a/src/test/features/output/serialization-2_SerializationTester2.ts +++ /dev/null @@ -1,536 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Vars = { - $$type: 'Vars'; - a: bigint; - b: bigint; - c: bigint; - d: bigint; - e: bigint; -} - -export function storeVars(src: Vars) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.a, 257); - b_0.storeInt(src.b, 257); - b_0.storeInt(src.c, 257); - let b_1 = new Builder(); - b_1.storeInt(src.d, 257); - b_1.storeInt(src.e, 257); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadVars(slice: Slice) { - let sc_0 = slice; - let _a = sc_0.loadIntBig(257); - let _b = sc_0.loadIntBig(257); - let _c = sc_0.loadIntBig(257); - let sc_1 = sc_0.loadRef().beginParse(); - let _d = sc_1.loadIntBig(257); - let _e = sc_1.loadIntBig(257); - return { $$type: 'Vars' as const, a: _a, b: _b, c: _c, d: _d, e: _e }; -} - -function loadTupleVars(source: TupleReader) { - let _a = source.readBigNumber(); - let _b = source.readBigNumber(); - let _c = source.readBigNumber(); - let _d = source.readBigNumber(); - let _e = source.readBigNumber(); - return { $$type: 'Vars' as const, a: _a, b: _b, c: _c, d: _d, e: _e }; -} - -function storeTupleVars(source: Vars) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeNumber(source.b); - builder.writeNumber(source.c); - builder.writeNumber(source.d); - builder.writeNumber(source.e); - return builder.build(); -} - -function dictValueParserVars(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeVars(src)).endCell()); - }, - parse: (src) => { - return loadVars(src.loadRef().beginParse()); - } - } -} - -export type Both = { - $$type: 'Both'; - a: Vars; - b: Vars; -} - -export function storeBoth(src: Both) { - return (builder: Builder) => { - let b_0 = builder; - b_0.store(storeVars(src.a)); - let b_1 = new Builder(); - b_1.store(storeVars(src.b)); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadBoth(slice: Slice) { - let sc_0 = slice; - let _a = loadVars(sc_0); - let sc_1 = sc_0.loadRef().beginParse(); - let _b = loadVars(sc_1); - return { $$type: 'Both' as const, a: _a, b: _b }; -} - -function loadTupleBoth(source: TupleReader) { - const _a = loadTupleVars(source.readTuple()); - const _b = loadTupleVars(source.readTuple()); - return { $$type: 'Both' as const, a: _a, b: _b }; -} - -function storeTupleBoth(source: Both) { - let builder = new TupleBuilder(); - builder.writeTuple(storeTupleVars(source.a)); - builder.writeTuple(storeTupleVars(source.b)); - return builder.build(); -} - -function dictValueParserBoth(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeBoth(src)).endCell()); - }, - parse: (src) => { - return loadBoth(src.loadRef().beginParse()); - } - } -} - -export type Update = { - $$type: 'Update'; - a: Vars; - b: Vars; -} - -export function storeUpdate(src: Update) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2732768933, 32); - b_0.store(storeVars(src.a)); - let b_1 = new Builder(); - b_1.store(storeVars(src.b)); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadUpdate(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2732768933) { throw Error('Invalid prefix'); } - let _a = loadVars(sc_0); - let sc_1 = sc_0.loadRef().beginParse(); - let _b = loadVars(sc_1); - return { $$type: 'Update' as const, a: _a, b: _b }; -} - -function loadTupleUpdate(source: TupleReader) { - const _a = loadTupleVars(source.readTuple()); - const _b = loadTupleVars(source.readTuple()); - return { $$type: 'Update' as const, a: _a, b: _b }; -} - -function storeTupleUpdate(source: Update) { - let builder = new TupleBuilder(); - builder.writeTuple(storeTupleVars(source.a)); - builder.writeTuple(storeTupleVars(source.b)); - return builder.build(); -} - -function dictValueParserUpdate(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeUpdate(src)).endCell()); - }, - parse: (src) => { - return loadUpdate(src.loadRef().beginParse()); - } - } -} - - type SerializationTester2_init_args = { - $$type: 'SerializationTester2_init_args'; - a: Vars; - b: Vars; -} - -function initSerializationTester2_init_args(src: SerializationTester2_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.store(storeVars(src.a)); - let b_1 = new Builder(); - b_1.store(storeVars(src.b)); - b_0.storeRef(b_1.endCell()); - }; -} - -async function SerializationTester2_init(a: Vars, b: Vars) { - const __code = Cell.fromBase64('te6ccgECIgEABEAAART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVGds88uCCHwQFAgEgBwgBVAGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+CCEKLivqW64wIwcAYAwsj4QwHMfwHKAFWQEFoQSRA4R2pQRYEBAc8AEoEBAc8AgQEBzwAByIEBAc8AEoEBAc8AyQHMyFVABlBFgQEBzwASgQEBzwCBAQHPAAHIgQEBzwASgQEBzwDJAczJAczJ7VQAwtMfAYIQouK+pbry4IGBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQIwXUAdCBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQIzUQWlUDbBpsqn8CAUgJCgIBIBARAk+15ttnm2eNlCQN0kYNscIkDd5aEA3lSqiN4KqoDeCt4FxEDdJGDbvQHwsCASAMDQAYVHmHVHmHVHmHKW8KAj2wCPbPNs8bKEgbpIwbZkgbvLQgG8lbwXiIG6SMG3egHw4CIbPWts82zxsqlVEbwVVQG8FgHw8ADlR0MlNDbwUAFFR5h1R5h1R5hykCASASEwIBIBgZAuG2/mBN5KCt5EAt5KCt5KIRIg8CDOIKweQN0kYNscJN5EAt5KCt5KIRIg8CDOIKzeFcW2eBIiMhIQIjAQDiIuDgwiLAwKIioKCCIoCAYiJgYEIiQEAiIiAiIgIP4g3CC6IJghFiB0ki4MCgiRB7Z42UsB8UAgOffBUWAChfCwSkA6YCAqYDAaYEBKYFEDRBMAC3rGCcFzsPV0srnsehOw51kqFG2aCcJ3WNS0rZHyzItOvLf3xYjmCcCBVwBuAZ2OUzlg6rkclssOCcBvUne+VRZbxx1PT3gVZwyaCcJ2XTlqzTstzOg6WbZRm6KSACOfds82zxsoSBukjBtmSBu8tCAbyVvBeIgbpIwbd6HxcADlR5h1OYbwUCASAaGwIRtIObZ5tnjZSwHyAAEbCvu1E0NIAAYAIBIBwdAhGuP+2ebZ42UsAfHgB1rN3Ghq0uDM5nReXqLaou7ohMamcKJw3GKE0JCEmKio7Jqo3K6kmq7OqMyW2migjmzQyohi1oaqiKsEAAClR0MlNDAdLtRNDUAfhj0gABjlGBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQIwXUAdCBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQIzUQWlUDbBrg+CjXCwqDCbry4IkhAApUeYdTmACmgQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXADAQJRAkECMF1AHQgQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXADAQJRAkECM1EFpVAwrRVQg='); - const __system = Cell.fromBase64('te6cckECJAEABEoAAQHAAQEFoZk7AgEU/wD0pBP0vPLICwMCAWIeBAIBIBYFAgEgDwYCASAJBwIRtIObZ5tnjZSwIggAClR5h1OYAgEgDgoCASAMCwB1rN3Ghq0uDM5nReXqLaou7ohMamcKJw3GKE0JCEmKio7Jqo3K6kmq7OqMyW2migjmzQyohi1oaqiKsEACEa4/7Z5tnjZSwCINAApUdDJTQwARsK+7UTQ0gABgAgEgFBACA598ExECOfds82zxsoSBukjBtmSBu8tCAbyVvBeIgbpIwbd6IhIADlR5h1OYbwUAt6xgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgAuG2/mBN5KCt5EAt5KCt5KIRIg8CDOIKweQN0kYNscJN5EAt5KCt5KIRIg8CDOIKzeFcW2eBIiMhIQIjAQDiIuDgwiLAwKIioKCCIoCAYiJgYEIiQEAiIiAiIgIP4g3CC6IJghFiB0ki4MCgiRB7Z42UsCIVAChfCwSkA6YCAqYDAaYEBKYFEDRBMAIBSBwXAgEgGhgCIbPWts82zxsqlVEbwVVQG8FgIhkAFFR5h1R5h1R5hykCPbAI9s82zxsoSBukjBtmSBu8tCAbyVvBeIgbpIwbd6AiGwAOVHQyU0NvBQJPtebbZ5tnjZQkDdJGDbHCJA3eWhAN5UqojeCqqA3greBcRA3SRg270CIdABhUeYdUeYdUeYcpbwoDetAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUZ2zzy4IIiIB8Awsj4QwHMfwHKAFWQEFoQSRA4R2pQRYEBAc8AEoEBAc8AgQEBzwAByIEBAc8AEoEBAc8AyQHMyFVABlBFgQEBzwASgQEBzwCBAQHPAAHIgQEBzwASgQEBzwDJAczJAczJ7VQBVAGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+CCEKLivqW64wIwcCEAwtMfAYIQouK+pbry4IGBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQIwXUAdCBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAMBAlECQQIzUQWlUDbBpsqn8B0u1E0NQB+GPSAAGOUYEBAdcAgQEB1wCBAQHXANQB0IEBAdcAgQEB1wAwECUQJBAjBdQB0IEBAdcAgQEB1wCBAQHXANQB0IEBAdcAgQEB1wAwECUQJBAjNRBaVQNsGuD4KNcLCoMJuvLgiSMApoEBAdcAgQEB1wCBAQHXANQB0IEBAdcAgQEB1wAwECUQJBAjBdQB0IEBAdcAgQEB1wCBAQHXANQB0IEBAdcAgQEB1wAwECUQJBAjNRBaVQMK0VUI9JMxGQ=='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initSerializationTester2_init_args({ $$type: 'SerializationTester2_init_args', a, b })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const SerializationTester2_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const SerializationTester2_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Vars","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"c","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"d","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"e","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, - {"name":"Both","header":null,"fields":[{"name":"a","type":{"kind":"simple","type":"Vars","optional":false}},{"name":"b","type":{"kind":"simple","type":"Vars","optional":false}}]}, - {"name":"Update","header":2732768933,"fields":[{"name":"a","type":{"kind":"simple","type":"Vars","optional":false}},{"name":"b","type":{"kind":"simple","type":"Vars","optional":false}}]}, -] - -const SerializationTester2_getters: ABIGetter[] = [ - {"name":"getA","arguments":[],"returnType":{"kind":"simple","type":"Vars","optional":false}}, - {"name":"getAopt","arguments":[],"returnType":{"kind":"simple","type":"Vars","optional":true}}, - {"name":"getB","arguments":[],"returnType":{"kind":"simple","type":"Vars","optional":false}}, - {"name":"getBopt","arguments":[],"returnType":{"kind":"simple","type":"Vars","optional":true}}, - {"name":"getBoth","arguments":[],"returnType":{"kind":"simple","type":"Both","optional":false}}, - {"name":"getBothOpt","arguments":[],"returnType":{"kind":"simple","type":"Both","optional":true}}, - {"name":"process","arguments":[{"name":"src","type":{"kind":"simple","type":"Vars","optional":false}},{"name":"both","type":{"kind":"simple","type":"Both","optional":false}},{"name":"both2","type":{"kind":"simple","type":"Both","optional":true}}],"returnType":{"kind":"simple","type":"Vars","optional":false}}, -] - -const SerializationTester2_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Update"}}, -] - -export class SerializationTester2 implements Contract { - - static async init(a: Vars, b: Vars) { - return await SerializationTester2_init(a, b); - } - - static async fromInit(a: Vars, b: Vars) { - const init = await SerializationTester2_init(a, b); - const address = contractAddress(0, init); - return new SerializationTester2(address, init); - } - - static fromAddress(address: Address) { - return new SerializationTester2(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: SerializationTester2_types, - getters: SerializationTester2_getters, - receivers: SerializationTester2_receivers, - errors: SerializationTester2_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null | Update) { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Update') { - body = beginCell().store(storeUpdate(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getGetA(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getA', builder.build())).stack; - const result = loadTupleVars(source); - return result; - } - - async getGetAopt(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getAopt', builder.build())).stack; - const result_p = source.readTupleOpt(); - const result = result_p ? loadTupleVars(result_p) : null; - return result; - } - - async getGetB(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getB', builder.build())).stack; - const result = loadTupleVars(source); - return result; - } - - async getGetBopt(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getBopt', builder.build())).stack; - const result_p = source.readTupleOpt(); - const result = result_p ? loadTupleVars(result_p) : null; - return result; - } - - async getGetBoth(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getBoth', builder.build())).stack; - const result = loadTupleBoth(source); - return result; - } - - async getGetBothOpt(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getBothOpt', builder.build())).stack; - const result_p = source.readTupleOpt(); - const result = result_p ? loadTupleBoth(result_p) : null; - return result; - } - - async getProcess(provider: ContractProvider, src: Vars, both: Both, both2: Both | null) { - let builder = new TupleBuilder(); - builder.writeTuple(storeTupleVars(src)); - builder.writeTuple(storeTupleBoth(both)); - if (both2 !== null && both2 !== undefined) { - builder.writeTuple(storeTupleBoth(both2)); - } else { - builder.writeTuple(null); - } - let source = (await provider.get('process', builder.build())).stack; - const result = loadTupleVars(source); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/serialization-3_SerializationTester.abi b/src/test/features/output/serialization-3_SerializationTester.abi deleted file mode 100644 index 24e80042a..000000000 --- a/src/test/features/output/serialization-3_SerializationTester.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"SerializationTester","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Update","header":2217298645,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":false}},{"name":"c","type":{"kind":"simple","type":"cell","optional":false}},{"name":"d","type":{"kind":"simple","type":"slice","optional":false}},{"name":"e","type":{"kind":"simple","type":"builder","optional":false}},{"name":"f","type":{"kind":"simple","type":"string","optional":false}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}},{"receiver":"internal","message":{"kind":"typed","type":"Update"}}],"getters":[{"name":"getA","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getB","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}},{"name":"getC","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}},{"name":"getD","arguments":[],"returnType":{"kind":"simple","type":"slice","optional":false}},{"name":"getE","arguments":[],"returnType":{"kind":"simple","type":"builder","optional":false}},{"name":"getF","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/serialization-3_SerializationTester.code.boc b/src/test/features/output/serialization-3_SerializationTester.code.boc deleted file mode 100644 index 53df36385..000000000 Binary files a/src/test/features/output/serialization-3_SerializationTester.code.boc and /dev/null differ diff --git a/src/test/features/output/serialization-3_SerializationTester.code.boc.html b/src/test/features/output/serialization-3_SerializationTester.code.boc.html deleted file mode 100644 index bb3430d2e..000000000 --- a/src/test/features/output/serialization-3_SerializationTester.code.boc.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_103675;
-            ..DECLPROC ?fun_107672;
-            ..DECLPROC ?fun_111801;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC ?fun_115806;
-            ..DECLPROC ?fun_119935;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_123932;
-            ..DECLPROC ?fun_ref_10c319ce0484d846;
-            ..DECLPROC ?fun_ref_40d98146a47dbe3b;
-            ..DECLPROC ?fun_ref_44086a5ce86162fe;
-            ..DECLPROC ?fun_ref_6326faa87beffd08;
-            ..DECLPROC ?fun_ref_8ec2d4d7ce8a5f35;
-            ..DECLPROC ?fun_ref_ab12284a9e78249c;
-            ..DECLPROC ?fun_ref_b2f99ae1a1dd4dfb;
-            ..DECLPROC ?fun_ref_b347d9c3ebd197d4;
-            ..DECLPROC ?fun_ref_c2e1128b75fe83a2;
-            ..DECLPROC ?fun_ref_f639e21752b5cdda;
-            ..recv_internal PROC:<{
-            ....s0 s1 XCHG
-            ....CTOS
-            ....4 LDU
-            ....s0 s1 XCHG
-            ....1 PUSHINT
-            ....AND
-            ....-1 MULCONST
-            ....s0 s1 XCHG
-            ....LDMSGADDR
-            ....s0 s1 XCHG
-            ....s0 PUSH
-            ....SBITS
-            ....267 PUSHINT
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 PUSH
-            ....11 PLDU
-            ....s0 PUSH
-            ....1279 PUSHINT
-            ....EQUAL
-            ....137 THROWIF
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....136 THROWIFNOT
-            ....s0 s6 s4 PUXCPU
-            ....s0 s3 XCHG
-            ....4 TUPLE
-            ....1 SETGLOBVAR
-            ....s0 s2 XCHG
-            ....2 SETGLOBVAR
-            ....?fun_ref_f639e21752b5cdda INLINECALLDICT
-            ....2 6 BLKSWAP
-            ....?fun_ref_ab12284a9e78249c INLINECALLDICT
-            ....130 THROWIFNOT
-            ....NEWC
-            ....3 GETGLOBVAR
-            ....s0 s1 XCHG
-            ....STREF
-            ....-1 PUSHINT
-            ....s0 s1 XCHG
-            ....1 STI
-            ....6 1 BLKSWAP
-            ....s5 s6 XCHG2
-            ....257 PUSHINT
-            ....STIX
-            ....s1 s3 XCHG
-            ....1 STI
-            ....STREF
-            ....NEWC
-            ....ROT
-            ....STSLICER
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ....NEWC
-            ....NEWC
-            ....s0 s3 XCHG
-            ....ENDC
-            ....CTOS
-            ....s1 s3 XCHG
-            ....STSLICER
-            ....ENDC
-            ....ROT
-            ....STREF
-            ....NEWC
-            ....s0 s3 XCHG2
-            ....STSLICER
-            ....ENDC
-            ....ROT
-            ....STREF
-            ....ENDC
-            ....s0 s1 XCHG
-            ....STREF
-            ....ENDC
-            ....c4 POP
-            ..}>
-            ..?fun_103675 PROC:<{
-            ....?fun_ref_f639e21752b5cdda INLINECALLDICT
-            ....?fun_ref_40d98146a47dbe3b INLINECALLDICT
-            ....6 1 BLKDROP2
-            ..}>
-            ..?fun_107672 PROC:<{
-            ....?fun_ref_f639e21752b5cdda INLINECALLDICT
-            ....?fun_ref_44086a5ce86162fe INLINECALLDICT
-            ....6 1 BLKDROP2
-            ..}>
-            ..?fun_111801 PROC:<{
-            ....?fun_ref_f639e21752b5cdda INLINECALLDICT
-            ....?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT
-            ....6 1 BLKDROP2
-            ..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..?fun_115806 PROC:<{
-            ....?fun_ref_f639e21752b5cdda INLINECALLDICT
-            ....?fun_ref_10c319ce0484d846 INLINECALLDICT
-            ....6 1 BLKDROP2
-            ..}>
-            ..?fun_119935 PROC:<{
-            ....?fun_ref_f639e21752b5cdda INLINECALLDICT
-            ....?fun_ref_b347d9c3ebd197d4 INLINECALLDICT
-            ....6 1 BLKDROP2
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D5469716754774A6F45533276426D7747704A373332386E67346D4B336339655739656861417A484B3671713282_} PUSHSLICE
-            ..}>
-            ..?fun_123932 PROC:<{
-            ....?fun_ref_f639e21752b5cdda INLINECALLDICT
-            ....?fun_ref_6326faa87beffd08 INLINECALLDICT
-            ....6 1 BLKDROP2
-            ..}>
-            x2..?fun_ref_10c319ce0484d846 PROCREF:<{
-            18x2....s3 PUSH
-            x2..}>
-            x7..?fun_ref_40d98146a47dbe3b PROCREF:<{
-            18x7....s0 PUSH
-            x7..}>
-            x5..?fun_ref_44086a5ce86162fe PROCREF:<{
-            18x5....s1 PUSH
-            x5..}>
-            x2..?fun_ref_6326faa87beffd08 PROCREF:<{
-            18x2....s5 PUSH
-            x2..}>
-            ..?fun_ref_8ec2d4d7ce8a5f35 PROCREF:<{
-            ....32 LDU
-            ....s0 s1 XCHG
-            ....2217298645 PUSHINT
-            ....EQUAL
-            ....129 THROWIFNOT
-            ....257 PUSHINT
-            ....LDIX
-            ....1 LDI
-            ....LDREF
-            ....LDREF
-            ....s0 s1 XCHG
-            ....CTOS
-            ....NEWC
-            ....s0 s2 XCHG
-            ....LDREF
-            ....s0 s1 XCHG
-            ....CTOS
-            ....s1 s3 XCHG
-            ....STSLICER
-            ....s0 s2 XCHG
-            ....LDREF
-            ....s0 s1 XCHG
-            ....CTOS
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....s1 s6 XCHG
-            ....s1 s5 XCHG
-            ....s1 s4 XCHG
-            ....s1 s3 XCHG
-            ..}>
-            ..?fun_ref_ab12284a9e78249c PROCREF:<{
-            ....s0 s1 XCHG
-            ....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....0 PUSHINT
-            ....s1 PUSH
-            ....SBITS
-            ....31 GTINT
-            ....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            ....}> PUSHCONT
-            ....IF
-            ....s0 PUSH
-            ....0 EQINT
-            ....s2 PUSH
-            ....SBITS
-            ....33 LESSINT
-            ....AND
-            ....<{
-            ......DROP2
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....2217298645 PUSHINT
-            ....EQUAL
-            ....<{
-            ......?fun_ref_8ec2d4d7ce8a5f35 INLINECALLDICT
-            ......1 6 BLKDROP2
-            ......6 6 BLKDROP2
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            ..}>
-            x7..?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{
-            18x7....s2 PUSH
-            x7..}>
-            x3..?fun_ref_b347d9c3ebd197d4 PROCREF:<{
-            18x3....s4 PUSH
-            x3..}>
-            ..?fun_ref_c2e1128b75fe83a2 PROCREF:<{
-            ....257 PUSHINT
-            ....LDIX
-            ....1 LDI
-            ....LDREF
-            ....LDREF
-            ....s0 s1 XCHG
-            ....CTOS
-            ....s0 s1 XCHG
-            ....LDREF
-            ....s0 s1 XCHG
-            ....CTOS
-            ....NEWC
-            ....s0 s1 XCHG
-            ....LDREF
-            ....s0 s1 XCHG
-            ....CTOS
-            ....s1 s2 XCHG
-            ....STSLICER
-            ....s0 s1 XCHG
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....s2 s6 XCHG
-            ....s2 s5 XCHG
-            ....s2 s4 XCHG
-            ....s2 s3 XCHG
-            ..}>
-            ..?fun_ref_f639e21752b5cdda PROCREF:<{
-            ....c4 PUSH
-            ....CTOS
-            ....LDREF
-            ....s0 s1 XCHG
-            ....3 SETGLOBVAR
-            ....1 LDI
-            ....s0 s1 XCHG
-            ....<{
-            ......257 PUSHINT
-            ......LDIX
-            ......1 LDI
-            ......LDREF
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......s0 s1 XCHG
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......NEWC
-            ......s0 s1 XCHG
-            ......LDREF
-            ......s0 s1 XCHG
-            ......CTOS
-            ......s1 s2 XCHG
-            ......STSLICER
-            ......s0 s1 XCHG
-            ......LDREF
-            ......s0 POP
-            ......CTOS
-            ......s2 s6 XCHG
-            ......s2 s5 XCHG
-            ......s2 s4 XCHG
-            ......s2 s3 XCHG
-            ......1 6 BLKDROP2
-            ....}> PUSHCONT
-            ....IFJMP
-            ....MYADDR
-            ....11 PLDU
-            ....10 PUSHPOW2
-            ....EQUAL
-            ....137 THROWIFNOT
-            ....?fun_ref_c2e1128b75fe83a2 INLINECALLDICT
-            ....s0 s6 XCHG
-            ....ENDS
-            ....1 5 BLKSWAP
-            ..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/serialization-3_SerializationTester.code.fc b/src/test/features/output/serialization-3_SerializationTester.code.fc deleted file mode 100644 index 8ad439c36..000000000 --- a/src/test/features/output/serialization-3_SerializationTester.code.fc +++ /dev/null @@ -1,187 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "serialization-3_SerializationTester.headers.fc"; -#include "serialization-3_SerializationTester.stdlib.fc"; -#include "serialization-3_SerializationTester.storage.fc"; - -;; -;; Contract SerializationTester functions -;; - -(int, int, cell, slice, builder, slice) $SerializationTester$_contract_init(int $a, int $b, cell $c, slice $d, builder $e, slice $f) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = (null(), null(), null(), null(), null(), null()); - $self'a = $a; - $self'b = $b; - $self'c = $c; - $self'd = $d; - $self'e = $e; - $self'f = $f; - return ($self'a, $self'b, $self'c, $self'd, $self'e, $self'f); -} - -((int, int, cell, slice, builder, slice), int) $SerializationTester$_fun_getA((int, int, cell, slice, builder, slice) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'a); -} - -((int, int, cell, slice, builder, slice), int) $SerializationTester$_fun_getB((int, int, cell, slice, builder, slice) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'b); -} - -((int, int, cell, slice, builder, slice), cell) $SerializationTester$_fun_getC((int, int, cell, slice, builder, slice) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'c); -} - -((int, int, cell, slice, builder, slice), slice) $SerializationTester$_fun_getD((int, int, cell, slice, builder, slice) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'd); -} - -((int, int, cell, slice, builder, slice), builder) $SerializationTester$_fun_getE((int, int, cell, slice, builder, slice) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'e); -} - -((int, int, cell, slice, builder, slice), slice) $SerializationTester$_fun_getF((int, int, cell, slice, builder, slice) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), $self'f); -} - -;; -;; Receivers of a Contract SerializationTester -;; - -(((int, int, cell, slice, builder, slice)), ()) %$SerializationTester$_internal_empty((int, int, cell, slice, builder, slice) $self) impure inline { - var ($self'a, $self'b, $self'c, $self'd, $self'e, $self'f) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), ()); -} - -(((int, int, cell, slice, builder, slice)), ()) $SerializationTester$_internal_binary_Update((int, int, cell, slice, builder, slice) $self, (int, int, cell, slice, builder, slice) $msg) impure inline { - var ($self'a, $self'b, $self'c, $self'd, $self'e, $self'f) = $self; - var ($msg'a, $msg'b, $msg'c, $msg'd, $msg'e, $msg'f) = $msg; - $self'a = $msg'a; - $self'b = $msg'b; - $self'c = $msg'c; - $self'd = $msg'd; - $self'e = $msg'e; - $self'f = $msg'f; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f), ()); -} - -;; -;; Get methods of a Contract SerializationTester -;; - -_ %getA() method_id(123932) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getA(); - return res; -} - -_ %getB() method_id(119935) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getB(); - return res; -} - -_ %getC() method_id(115806) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getC(); - return res; -} - -_ %getD() method_id(111801) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getD(); - return res; -} - -_ %getE() method_id(107672) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getE(); - return res; -} - -_ %getF() method_id(103675) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getF(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmTiqgTwJoES2vBmwGpJ7328ng4mK3c9eW9ehaAzHK6qq2"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract SerializationTester -;; - -((int, int, cell, slice, builder, slice), int) $SerializationTester$_contract_router_internal((int, int, cell, slice, builder, slice) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$SerializationTester$_internal_empty(); - return (self, true); - } - - ;; Receive Update message - if (op == 2217298645) { - var msg = in_msg~$Update$_load(); - self~$SerializationTester$_internal_binary_Update(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $SerializationTester$_contract_load(); - - ;; Handle operation - int handled = self~$SerializationTester$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $SerializationTester$_contract_store(self); -} diff --git a/src/test/features/output/serialization-3_SerializationTester.code.fif b/src/test/features/output/serialization-3_SerializationTester.code.fif deleted file mode 100644 index ab53cde67..000000000 --- a/src/test/features/output/serialization-3_SerializationTester.code.fif +++ /dev/null @@ -1,338 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Update$_load - DECLPROC $SerializationTester$_store - DECLPROC $SerializationTester$_load - DECLPROC $SerializationTester$init$_load - DECLPROC $SerializationTester$_contract_init - DECLPROC $SerializationTester$_contract_load - DECLPROC $SerializationTester$_contract_store - DECLPROC $SerializationTester$_fun_getA - DECLPROC $SerializationTester$_fun_getB - DECLPROC $SerializationTester$_fun_getC - DECLPROC $SerializationTester$_fun_getD - DECLPROC $SerializationTester$_fun_getE - DECLPROC $SerializationTester$_fun_getF - DECLPROC %$SerializationTester$_internal_empty - DECLPROC $SerializationTester$_internal_binary_Update - 123932 DECLMETHOD %getA - 119935 DECLMETHOD %getB - 115806 DECLMETHOD %getC - 111801 DECLMETHOD %getD - 107672 DECLMETHOD %getE - 103675 DECLMETHOD %getF - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $SerializationTester$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $Update$_load PROCREF:<{ - 32 LDU - SWAP - 2217298645 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - LDREF - LDREF - SWAP - CTOS - NEWC - s0 s2 XCHG - LDREF - SWAP - CTOS - s1 s3 XCHG - STSLICER - s0 s2 XCHG - LDREF - SWAP - CTOS - LDREF - DROP - CTOS - s1 s6 XCHG - s1 s5 XCHG - s1 s4 XCHG - s1 s3 XCHG - }> - $SerializationTester$_store PROCINLINE:<{ - s5 s6 XCHG2 - 257 PUSHINT - STIX - s1 s3 XCHG - 1 STI - STREF - NEWC - ROT - STSLICER - ENDC - SWAP - STREF - NEWC - NEWC - s0 s3 XCHG - ENDC - CTOS - s1 s3 XCHG - STSLICER - ENDC - ROT - STREF - NEWC - s0 s3 XCHG2 - STSLICER - ENDC - ROT - STREF - ENDC - SWAP - STREF - }> - $SerializationTester$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - 1 LDI - LDREF - LDREF - SWAP - CTOS - SWAP - LDREF - SWAP - CTOS - NEWC - SWAP - LDREF - SWAP - CTOS - s1 s2 XCHG - STSLICER - SWAP - LDREF - DROP - CTOS - s2 s6 XCHG - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - }> - $SerializationTester$init$_load PROCREF:<{ - 257 PUSHINT - LDIX - 1 LDI - LDREF - LDREF - SWAP - CTOS - SWAP - LDREF - SWAP - CTOS - NEWC - SWAP - LDREF - SWAP - CTOS - s1 s2 XCHG - STSLICER - SWAP - LDREF - DROP - CTOS - s2 s6 XCHG - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - }> - $SerializationTester$_contract_init PROCREF:<{ - }> - $SerializationTester$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $SerializationTester$_load INLINECALLDICT - 1 6 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $SerializationTester$init$_load INLINECALLDICT - s0 s6 XCHG - ENDS - 5 ROLL - $SerializationTester$_contract_init INLINECALLDICT - }> - $SerializationTester$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 6 -ROLL - $SerializationTester$_store INLINECALLDICT - ENDC - c4 POP - }> - $SerializationTester$_fun_getA PROCREF:<{ - s5 PUSH - }> - $SerializationTester$_fun_getB PROCREF:<{ - s4 PUSH - }> - $SerializationTester$_fun_getC PROCREF:<{ - s3 PUSH - }> - $SerializationTester$_fun_getD PROCREF:<{ - s2 PUSH - }> - $SerializationTester$_fun_getE PROCREF:<{ - OVER - }> - $SerializationTester$_fun_getF PROCREF:<{ - DUP - }> - %$SerializationTester$_internal_empty PROCINLINE:<{ - }> - $SerializationTester$_internal_binary_Update PROCINLINE:<{ - 6 6 BLKDROP2 - }> - %getA PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getA INLINECALLDICT - 6 1 BLKDROP2 - }> - %getB PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getB INLINECALLDICT - 6 1 BLKDROP2 - }> - %getC PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getC INLINECALLDICT - 6 1 BLKDROP2 - }> - %getD PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getD INLINECALLDICT - 6 1 BLKDROP2 - }> - %getE PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getE INLINECALLDICT - 6 1 BLKDROP2 - }> - %getF PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getF INLINECALLDICT - 6 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d5469716754774a6f45533276426d7747704a373332386e67346d4b336339655739656861417a484b36717132} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $SerializationTester$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - IFJMP:<{ - 2DROP - %$SerializationTester$_internal_empty INLINECALLDICT - TRUE - }> - 2217298645 PUSHINT - EQUAL - IFJMP:<{ - $Update$_load INLINECALLDICT - 1 6 BLKDROP2 - $SerializationTester$_internal_binary_Update INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $SerializationTester$_contract_load INLINECALLDICT - 2 6 BLKSWAP - $SerializationTester$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $SerializationTester$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/serialization-3_SerializationTester.code.rev.fif b/src/test/features/output/serialization-3_SerializationTester.code.rev.fif deleted file mode 100644 index 601c696c5..000000000 --- a/src/test/features/output/serialization-3_SerializationTester.code.rev.fif +++ /dev/null @@ -1,311 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_103675; - DECLPROC ?fun_107672; - DECLPROC ?fun_111801; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC ?fun_115806; - DECLPROC ?fun_119935; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_123932; - DECLPROC ?fun_ref_10c319ce0484d846; - DECLPROC ?fun_ref_40d98146a47dbe3b; - DECLPROC ?fun_ref_44086a5ce86162fe; - DECLPROC ?fun_ref_6326faa87beffd08; - DECLPROC ?fun_ref_8ec2d4d7ce8a5f35; - DECLPROC ?fun_ref_ab12284a9e78249c; - DECLPROC ?fun_ref_b2f99ae1a1dd4dfb; - DECLPROC ?fun_ref_b347d9c3ebd197d4; - DECLPROC ?fun_ref_c2e1128b75fe83a2; - DECLPROC ?fun_ref_f639e21752b5cdda; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_f639e21752b5cdda INLINECALLDICT - 2 6 BLKSWAP - ?fun_ref_ab12284a9e78249c INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 6 1 BLKSWAP - s5 s6 XCHG2 - 257 PUSHINT - STIX - s1 s3 XCHG - 1 STI - STREF - NEWC - ROT - STSLICER - ENDC - s0 s1 XCHG - STREF - NEWC - NEWC - s0 s3 XCHG - ENDC - CTOS - s1 s3 XCHG - STSLICER - ENDC - ROT - STREF - NEWC - s0 s3 XCHG2 - STSLICER - ENDC - ROT - STREF - ENDC - s0 s1 XCHG - STREF - ENDC - c4 POP - }> - ?fun_103675 PROC:<{ - ?fun_ref_f639e21752b5cdda INLINECALLDICT - ?fun_ref_40d98146a47dbe3b INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_107672 PROC:<{ - ?fun_ref_f639e21752b5cdda INLINECALLDICT - ?fun_ref_44086a5ce86162fe INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_111801 PROC:<{ - ?fun_ref_f639e21752b5cdda INLINECALLDICT - ?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT - 6 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - ?fun_115806 PROC:<{ - ?fun_ref_f639e21752b5cdda INLINECALLDICT - ?fun_ref_10c319ce0484d846 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_119935 PROC:<{ - ?fun_ref_f639e21752b5cdda INLINECALLDICT - ?fun_ref_b347d9c3ebd197d4 INLINECALLDICT - 6 1 BLKDROP2 - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D5469716754774A6F45533276426D7747704A373332386E67346D4B336339655739656861417A484B3671713282_} PUSHSLICE - }> - ?fun_123932 PROC:<{ - ?fun_ref_f639e21752b5cdda INLINECALLDICT - ?fun_ref_6326faa87beffd08 INLINECALLDICT - 6 1 BLKDROP2 - }> - ?fun_ref_10c319ce0484d846 PROCREF:<{ - s3 PUSH - }> - ?fun_ref_40d98146a47dbe3b PROCREF:<{ - s0 PUSH - }> - ?fun_ref_44086a5ce86162fe PROCREF:<{ - s1 PUSH - }> - ?fun_ref_6326faa87beffd08 PROCREF:<{ - s5 PUSH - }> - ?fun_ref_8ec2d4d7ce8a5f35 PROCREF:<{ - 32 LDU - s0 s1 XCHG - 2217298645 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 1 LDI - LDREF - LDREF - s0 s1 XCHG - CTOS - NEWC - s0 s2 XCHG - LDREF - s0 s1 XCHG - CTOS - s1 s3 XCHG - STSLICER - s0 s2 XCHG - LDREF - s0 s1 XCHG - CTOS - LDREF - s0 POP - CTOS - s1 s6 XCHG - s1 s5 XCHG - s1 s4 XCHG - s1 s3 XCHG - }> - ?fun_ref_ab12284a9e78249c PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - IFJMP - 2217298645 PUSHINT - EQUAL - <{ - ?fun_ref_8ec2d4d7ce8a5f35 INLINECALLDICT - 1 6 BLKDROP2 - 6 6 BLKDROP2 - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> - ?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{ - s2 PUSH - }> - ?fun_ref_b347d9c3ebd197d4 PROCREF:<{ - s4 PUSH - }> - ?fun_ref_c2e1128b75fe83a2 PROCREF:<{ - 257 PUSHINT - LDIX - 1 LDI - LDREF - LDREF - s0 s1 XCHG - CTOS - s0 s1 XCHG - LDREF - s0 s1 XCHG - CTOS - NEWC - s0 s1 XCHG - LDREF - s0 s1 XCHG - CTOS - s1 s2 XCHG - STSLICER - s0 s1 XCHG - LDREF - s0 POP - CTOS - s2 s6 XCHG - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - }> - ?fun_ref_f639e21752b5cdda PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - 1 LDI - LDREF - LDREF - s0 s1 XCHG - CTOS - s0 s1 XCHG - LDREF - s0 s1 XCHG - CTOS - NEWC - s0 s1 XCHG - LDREF - s0 s1 XCHG - CTOS - s1 s2 XCHG - STSLICER - s0 s1 XCHG - LDREF - s0 POP - CTOS - s2 s6 XCHG - s2 s5 XCHG - s2 s4 XCHG - s2 s3 XCHG - 1 6 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c2e1128b75fe83a2 INLINECALLDICT - s0 s6 XCHG - ENDS - 1 5 BLKSWAP - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/serialization-3_SerializationTester.headers.fc b/src/test/features/output/serialization-3_SerializationTester.headers.fc deleted file mode 100644 index d57503d0d..000000000 --- a/src/test/features/output/serialization-3_SerializationTester.headers.fc +++ /dev/null @@ -1,46 +0,0 @@ -;; -;; Header files for SerializationTester -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Update$_load -(slice, ((int, int, cell, slice, builder, slice))) $Update$_load(slice sc_0) inline_ref; - -;; $SerializationTester$_store -builder $SerializationTester$_store(builder build_0, (int, int, cell, slice, builder, slice) v) inline; - -;; $SerializationTester$_load -(slice, ((int, int, cell, slice, builder, slice))) $SerializationTester$_load(slice sc_0) inline; - -;; $SerializationTester$init$_load -(slice, ((int, int, cell, slice, builder, slice))) $SerializationTester$init$_load(slice sc_0) inline_ref; - -;; $SerializationTester$_contract_init -(int, int, cell, slice, builder, slice) $SerializationTester$_contract_init(int $a, int $b, cell $c, slice $d, builder $e, slice $f) impure inline_ref; - -;; $SerializationTester$_contract_load -(int, int, cell, slice, builder, slice) $SerializationTester$_contract_load() impure inline_ref; - -;; $SerializationTester$_contract_store -() $SerializationTester$_contract_store((int, int, cell, slice, builder, slice) v) impure inline; - -;; $SerializationTester$_fun_getA -((int, int, cell, slice, builder, slice), int) $SerializationTester$_fun_getA((int, int, cell, slice, builder, slice) $self) impure inline_ref; - -;; $SerializationTester$_fun_getB -((int, int, cell, slice, builder, slice), int) $SerializationTester$_fun_getB((int, int, cell, slice, builder, slice) $self) impure inline_ref; - -;; $SerializationTester$_fun_getC -((int, int, cell, slice, builder, slice), cell) $SerializationTester$_fun_getC((int, int, cell, slice, builder, slice) $self) impure inline_ref; - -;; $SerializationTester$_fun_getD -((int, int, cell, slice, builder, slice), slice) $SerializationTester$_fun_getD((int, int, cell, slice, builder, slice) $self) impure inline_ref; - -;; $SerializationTester$_fun_getE -((int, int, cell, slice, builder, slice), builder) $SerializationTester$_fun_getE((int, int, cell, slice, builder, slice) $self) impure inline_ref; - -;; $SerializationTester$_fun_getF -((int, int, cell, slice, builder, slice), slice) $SerializationTester$_fun_getF((int, int, cell, slice, builder, slice) $self) impure inline_ref; diff --git a/src/test/features/output/serialization-3_SerializationTester.md b/src/test/features/output/serialization-3_SerializationTester.md deleted file mode 100644 index f9ec01b2a..000000000 --- a/src/test/features/output/serialization-3_SerializationTester.md +++ /dev/null @@ -1,63 +0,0 @@ -# TACT Compilation Report -Contract: SerializationTester -BOC Size: 655 bytes - -# Types -Total Types: 4 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Update -TLB: `update#84294ad5 a:int257 b:bool c:^cell d:^slice e:^builder f:^string = Update` -Signature: `Update{a:int257,b:bool,c:^cell,d:^slice,e:^builder,f:^string}` - -# Get Methods -Total Get Methods: 6 - -## getA - -## getB - -## getC - -## getD - -## getE - -## getF - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/serialization-3_SerializationTester.pkg b/src/test/features/output/serialization-3_SerializationTester.pkg deleted file mode 100644 index 2faf850f7..000000000 --- a/src/test/features/output/serialization-3_SerializationTester.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"SerializationTester","code":"te6ccgECHgEAAoMAART/APSkE/S88sgLAQIBYgIDAubQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVFds88uCCyPhDAcx/AcoAVVBQVoEBAc8AE8oAzMhYzxbJAczIyAPJ0BPPFslYzMhQA88WyVjMyQHMye1UGwQCAVgGBwFkAZIwf+BwIddJwh+VMCDXCx/eIMAAItdJwSGwklt/4IIQhClK1bqOh9s8bBZsZn/gMHAFAFbTHwGCEIQpStW68uCBgQEB1wDSANTUAdDIAtQB0BPPFgLUAdDUMNAWFRQTAgEgCAkCASAREgIRtp97Z5tnjYwwGwoCASALDAACIAIRsSY2zzbPGxhgGw0CASAODwACIQIRrlztnm2eNjDAGxAAua3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAACIgIBIBMUAhG0g5tnm2eNjDAbHAIBSBUWAgEgGBkAEKq+7UTQ0gABAhCoXts82zxsYRsXAAIjAhGuP+2ebZ42MMAbGgB1rN3Ghq0uDM5nReXqLaqNLizqjulN6KpmTshNrujuCUbmZkcNzOaNqWZsZyyq5yytDCgvSQlmzi4mUEAAAiQBhu1E0NQB+GPSAAGOJYEBAdcA0gDU1AHQAdQB0MgB1AHQEs8WAdQw0BAmECUQJBAjbBbg+CjXCwqDCbry4InbPAbRVQQdAAIlAEaBAQHXANIA1NQB0AHUAdDIAdQB0BLPFgHUMNAQJhAlECQQIw==","abi":"{\"name\":\"SerializationTester\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Update\",\"header\":2217298645,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"c\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"d\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}},{\"name\":\"e\",\"type\":{\"kind\":\"simple\",\"type\":\"builder\",\"optional\":false}},{\"name\":\"f\",\"type\":{\"kind\":\"simple\",\"type\":\"string\",\"optional\":false}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Update\"}}],\"getters\":[{\"name\":\"getA\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getB\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"getC\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"getD\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}},{\"name\":\"getE\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"builder\",\"optional\":false}},{\"name\":\"getF\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"string\",\"optional\":false}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":false}},{"name":"c","type":{"kind":"simple","type":"cell","optional":false}},{"name":"d","type":{"kind":"simple","type":"slice","optional":false}},{"name":"e","type":{"kind":"simple","type":"builder","optional":false}},{"name":"f","type":{"kind":"simple","type":"string","optional":false}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECIAEAAo0AAQHAAQEFoBg3AgEU/wD0pBP0vPLICwMCAWIbBAIBWBEFAgEgCAYCEbSDm2ebZ42MMB4HAAIlAgEgDQkCASALCgB1rN3Ghq0uDM5nReXqLaqNLizqjulN6KpmTshNrujuCUbmZkcNzOaNqWZsZyyq5yytDCgvSQlmzi4mUEACEa4/7Z5tnjYwwB4MAAIkAgFIEA4CEKhe2zzbPGxhHg8AAiMAEKq+7UTQ0gABAgEgGRICASAXEwIBIBUUALmt6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4TsunLVmnZbmdB0s2yjN0UkACEa5c7Z5tnjYwwB4WAAIiAhGxJjbPNs8bGGAeGAACIQIRtp97Z5tnjYwwHhoAAiAC5tAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUV2zzy4ILI+EMBzH8BygBVUFBWgQEBzwATygDMyFjPFskBzMjIA8nQE88WyVjMyFADzxbJWMzJAczJ7VQeHAFkAZIwf+BwIddJwh+VMCDXCx/eIMAAItdJwSGwklt/4IIQhClK1bqOh9s8bBZsZn/gMHAdAFbTHwGCEIQpStW68uCBgQEB1wDSANTUAdDIAtQB0BPPFgLUAdDUMNAWFRQTAYbtRNDUAfhj0gABjiWBAQHXANIA1NQB0AHUAdDIAdQB0BLPFgHUMNAQJhAlECQQI2wW4Pgo1wsKgwm68uCJ2zwG0VUEHwBGgQEB1wDSANTUAdAB1AHQyAHUAdASzxYB1DDQECYQJRAkECPZcHqF"}},"sources":{"src\\test\\features\\serialization-3.tact":"bWVzc2FnZSBVcGRhdGUgew0KICAgIGE6IEludDsNCiAgICBiOiBCb29sOw0KICAgIGM6IENlbGw7DQogICAgZDogU2xpY2U7DQogICAgZTogQnVpbGRlcjsNCiAgICBmOiBTdHJpbmc7DQp9DQoNCmNvbnRyYWN0IFNlcmlhbGl6YXRpb25UZXN0ZXIgew0KDQogICAgYTogSW50Ow0KICAgIGI6IEJvb2w7DQogICAgYzogQ2VsbDsNCiAgICBkOiBTbGljZTsNCiAgICBlOiBCdWlsZGVyOw0KICAgIGY6IFN0cmluZzsNCg0KICAgIGluaXQoYTogSW50LCBiOiBCb29sLCBjOiBDZWxsLCBkOiBTbGljZSwgZTogQnVpbGRlciwgZjogU3RyaW5nKSB7DQogICAgICAgIHNlbGYuYSA9IGE7DQogICAgICAgIHNlbGYuYiA9IGI7DQogICAgICAgIHNlbGYuYyA9IGM7DQogICAgICAgIHNlbGYuZCA9IGQ7DQogICAgICAgIHNlbGYuZSA9IGU7DQogICAgICAgIHNlbGYuZiA9IGY7DQogICAgfQ0KDQogICAgcmVjZWl2ZSgpIHsNCiAgICAgICAgLy8gRGVwbG95DQogICAgfQ0KDQogICAgcmVjZWl2ZShtc2c6IFVwZGF0ZSkgew0KICAgICAgICBzZWxmLmEgPSBtc2cuYTsNCiAgICAgICAgc2VsZi5iID0gbXNnLmI7DQogICAgICAgIHNlbGYuYyA9IG1zZy5jOw0KICAgICAgICBzZWxmLmQgPSBtc2cuZDsNCiAgICAgICAgc2VsZi5lID0gbXNnLmU7DQogICAgICAgIHNlbGYuZiA9IG1zZy5mOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0QSgpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2VsZi5hOw0KICAgIH0NCiAgICBnZXQgZnVuIGdldEIoKTogQm9vbCB7DQogICAgICAgIHJldHVybiBzZWxmLmI7DQogICAgfQ0KICAgIGdldCBmdW4gZ2V0QygpOiBDZWxsIHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYzsNCiAgICB9DQogICAgZ2V0IGZ1biBnZXREKCk6IFNsaWNlIHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZDsNCiAgICB9DQogICAgZ2V0IGZ1biBnZXRFKCk6IEJ1aWxkZXIgew0KICAgICAgICByZXR1cm4gc2VsZi5lOw0KICAgIH0NCiAgICBnZXQgZnVuIGdldEYoKTogU3RyaW5nIHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZjsNCiAgICB9DQp9"},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/serialization-3.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/serialization-3_SerializationTester.stdlib.fc b/src/test/features/output/serialization-3_SerializationTester.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/src/test/features/output/serialization-3_SerializationTester.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/src/test/features/output/serialization-3_SerializationTester.storage.fc b/src/test/features/output/serialization-3_SerializationTester.storage.fc deleted file mode 100644 index efeb791f6..000000000 --- a/src/test/features/output/serialization-3_SerializationTester.storage.fc +++ /dev/null @@ -1,79 +0,0 @@ -;; -;; Type: Update -;; Header: 0x84294ad5 -;; TLB: update#84294ad5 a:int257 b:bool c:^cell d:^slice e:^builder f:^string = Update -;; - -(slice, ((int, int, cell, slice, builder, slice))) $Update$_load(slice sc_0) inline_ref { - throw_unless(129, sc_0~load_uint(32) == 2217298645); - var v'a = sc_0~load_int(257); - var v'b = sc_0~load_int(1); - var v'c = sc_0~load_ref(); - var v'd = sc_0~load_ref().begin_parse(); - var v'e = begin_cell().store_slice(sc_0~load_ref().begin_parse()); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'f = sc_1~load_ref().begin_parse(); - return (sc_0, (v'a, v'b, v'c, v'd, v'e, v'f)); -} - -;; -;; Type: SerializationTester -;; - -builder $SerializationTester$_store(builder build_0, (int, int, cell, slice, builder, slice) v) inline { - var (v'a, v'b, v'c, v'd, v'e, v'f) = v; - build_0 = build_0.store_int(v'a, 257); - build_0 = build_0.store_int(v'b, 1); - build_0 = build_0.store_ref(v'c); - build_0 = build_0.store_ref(begin_cell().store_slice(v'd).end_cell()); - var build_1 = begin_cell(); - build_1 = build_1.store_ref(begin_cell().store_slice(v'e.end_cell().begin_parse()).end_cell()); - build_1 = build_1.store_ref(begin_cell().store_slice(v'f).end_cell()); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((int, int, cell, slice, builder, slice))) $SerializationTester$_load(slice sc_0) inline { - var v'a = sc_0~load_int(257); - var v'b = sc_0~load_int(1); - var v'c = sc_0~load_ref(); - var v'd = sc_0~load_ref().begin_parse(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'e = begin_cell().store_slice(sc_1~load_ref().begin_parse()); - var v'f = sc_1~load_ref().begin_parse(); - return (sc_0, (v'a, v'b, v'c, v'd, v'e, v'f)); -} - -(slice, ((int, int, cell, slice, builder, slice))) $SerializationTester$init$_load(slice sc_0) inline_ref { - var v'a = sc_0~load_int(257); - var v'b = sc_0~load_int(1); - var v'c = sc_0~load_ref(); - var v'd = sc_0~load_ref().begin_parse(); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'e = begin_cell().store_slice(sc_1~load_ref().begin_parse()); - var v'f = sc_1~load_ref().begin_parse(); - return (sc_0, (v'a, v'b, v'c, v'd, v'e, v'f)); -} - -(int, int, cell, slice, builder, slice) $SerializationTester$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$SerializationTester$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (int a, int b, cell c, slice d, builder e, slice f) = $sc~$SerializationTester$init$_load(); - $sc.end_parse(); - return $SerializationTester$_contract_init(a, b, c, d, e, f); - } -} - -() $SerializationTester$_contract_store((int, int, cell, slice, builder, slice) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $SerializationTester$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/serialization-3_SerializationTester.ts b/src/test/features/output/serialization-3_SerializationTester.ts deleted file mode 100644 index 87c7b56c3..000000000 --- a/src/test/features/output/serialization-3_SerializationTester.ts +++ /dev/null @@ -1,433 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Update = { - $$type: 'Update'; - a: bigint; - b: boolean; - c: Cell; - d: Cell; - e: Cell; - f: string; -} - -export function storeUpdate(src: Update) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(2217298645, 32); - b_0.storeInt(src.a, 257); - b_0.storeBit(src.b); - b_0.storeRef(src.c); - b_0.storeRef(src.d); - b_0.storeRef(src.e); - let b_1 = new Builder(); - b_1.storeStringRefTail(src.f); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadUpdate(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 2217298645) { throw Error('Invalid prefix'); } - let _a = sc_0.loadIntBig(257); - let _b = sc_0.loadBit(); - let _c = sc_0.loadRef(); - let _d = sc_0.loadRef(); - let _e = sc_0.loadRef(); - let sc_1 = sc_0.loadRef().beginParse(); - let _f = sc_1.loadStringRefTail(); - return { $$type: 'Update' as const, a: _a, b: _b, c: _c, d: _d, e: _e, f: _f }; -} - -function loadTupleUpdate(source: TupleReader) { - let _a = source.readBigNumber(); - let _b = source.readBoolean(); - let _c = source.readCell(); - let _d = source.readCell(); - let _e = source.readCell(); - let _f = source.readString(); - return { $$type: 'Update' as const, a: _a, b: _b, c: _c, d: _d, e: _e, f: _f }; -} - -function storeTupleUpdate(source: Update) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeBoolean(source.b); - builder.writeCell(source.c); - builder.writeSlice(source.d); - builder.writeBuilder(source.e); - builder.writeString(source.f); - return builder.build(); -} - -function dictValueParserUpdate(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeUpdate(src)).endCell()); - }, - parse: (src) => { - return loadUpdate(src.loadRef().beginParse()); - } - } -} - - type SerializationTester_init_args = { - $$type: 'SerializationTester_init_args'; - a: bigint; - b: boolean; - c: Cell; - d: Cell; - e: Cell; - f: string; -} - -function initSerializationTester_init_args(src: SerializationTester_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.a, 257); - b_0.storeBit(src.b); - b_0.storeRef(src.c); - b_0.storeRef(src.d); - let b_1 = new Builder(); - b_1.storeRef(src.e); - b_1.storeStringRefTail(src.f); - b_0.storeRef(b_1.endCell()); - }; -} - -async function SerializationTester_init(a: bigint, b: boolean, c: Cell, d: Cell, e: Cell, f: string) { - const __code = Cell.fromBase64('te6ccgECHgEAAoMAART/APSkE/S88sgLAQIBYgIDAubQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVFds88uCCyPhDAcx/AcoAVVBQVoEBAc8AE8oAzMhYzxbJAczIyAPJ0BPPFslYzMhQA88WyVjMyQHMye1UGwQCAVgGBwFkAZIwf+BwIddJwh+VMCDXCx/eIMAAItdJwSGwklt/4IIQhClK1bqOh9s8bBZsZn/gMHAFAFbTHwGCEIQpStW68uCBgQEB1wDSANTUAdDIAtQB0BPPFgLUAdDUMNAWFRQTAgEgCAkCASAREgIRtp97Z5tnjYwwGwoCASALDAACIAIRsSY2zzbPGxhgGw0CASAODwACIQIRrlztnm2eNjDAGxAAua3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAACIgIBIBMUAhG0g5tnm2eNjDAbHAIBSBUWAgEgGBkAEKq+7UTQ0gABAhCoXts82zxsYRsXAAIjAhGuP+2ebZ42MMAbGgB1rN3Ghq0uDM5nReXqLaqNLizqjulN6KpmTshNrujuCUbmZkcNzOaNqWZsZyyq5yytDCgvSQlmzi4mUEAAAiQBhu1E0NQB+GPSAAGOJYEBAdcA0gDU1AHQAdQB0MgB1AHQEs8WAdQw0BAmECUQJBAjbBbg+CjXCwqDCbry4InbPAbRVQQdAAIlAEaBAQHXANIA1NQB0AHUAdDIAdQB0BLPFgHUMNAQJhAlECQQIw=='); - const __system = Cell.fromBase64('te6cckECIAEAAo0AAQHAAQEFoBg3AgEU/wD0pBP0vPLICwMCAWIbBAIBWBEFAgEgCAYCEbSDm2ebZ42MMB4HAAIlAgEgDQkCASALCgB1rN3Ghq0uDM5nReXqLaqNLizqjulN6KpmTshNrujuCUbmZkcNzOaNqWZsZyyq5yytDCgvSQlmzi4mUEACEa4/7Z5tnjYwwB4MAAIkAgFIEA4CEKhe2zzbPGxhHg8AAiMAEKq+7UTQ0gABAgEgGRICASAXEwIBIBUUALmt6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4TsunLVmnZbmdB0s2yjN0UkACEa5c7Z5tnjYwwB4WAAIiAhGxJjbPNs8bGGAeGAACIQIRtp97Z5tnjYwwHhoAAiAC5tAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUV2zzy4ILI+EMBzH8BygBVUFBWgQEBzwATygDMyFjPFskBzMjIA8nQE88WyVjMyFADzxbJWMzJAczJ7VQeHAFkAZIwf+BwIddJwh+VMCDXCx/eIMAAItdJwSGwklt/4IIQhClK1bqOh9s8bBZsZn/gMHAdAFbTHwGCEIQpStW68uCBgQEB1wDSANTUAdDIAtQB0BPPFgLUAdDUMNAWFRQTAYbtRNDUAfhj0gABjiWBAQHXANIA1NQB0AHUAdDIAdQB0BLPFgHUMNAQJhAlECQQI2wW4Pgo1wsKgwm68uCJ2zwG0VUEHwBGgQEB1wDSANTUAdAB1AHQyAHUAdASzxYB1DDQECYQJRAkECPZcHqF'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initSerializationTester_init_args({ $$type: 'SerializationTester_init_args', a, b, c, d, e, f })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const SerializationTester_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const SerializationTester_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Update","header":2217298645,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"bool","optional":false}},{"name":"c","type":{"kind":"simple","type":"cell","optional":false}},{"name":"d","type":{"kind":"simple","type":"slice","optional":false}},{"name":"e","type":{"kind":"simple","type":"builder","optional":false}},{"name":"f","type":{"kind":"simple","type":"string","optional":false}}]}, -] - -const SerializationTester_getters: ABIGetter[] = [ - {"name":"getA","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getB","arguments":[],"returnType":{"kind":"simple","type":"bool","optional":false}}, - {"name":"getC","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}}, - {"name":"getD","arguments":[],"returnType":{"kind":"simple","type":"slice","optional":false}}, - {"name":"getE","arguments":[],"returnType":{"kind":"simple","type":"builder","optional":false}}, - {"name":"getF","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, -] - -const SerializationTester_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Update"}}, -] - -export class SerializationTester implements Contract { - - static async init(a: bigint, b: boolean, c: Cell, d: Cell, e: Cell, f: string) { - return await SerializationTester_init(a, b, c, d, e, f); - } - - static async fromInit(a: bigint, b: boolean, c: Cell, d: Cell, e: Cell, f: string) { - const init = await SerializationTester_init(a, b, c, d, e, f); - const address = contractAddress(0, init); - return new SerializationTester(address, init); - } - - static fromAddress(address: Address) { - return new SerializationTester(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: SerializationTester_types, - getters: SerializationTester_getters, - receivers: SerializationTester_receivers, - errors: SerializationTester_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null | Update) { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Update') { - body = beginCell().store(storeUpdate(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getGetA(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getA', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetB(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getB', builder.build())).stack; - let result = source.readBoolean(); - return result; - } - - async getGetC(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getC', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getGetD(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getD', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getGetE(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getE', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getGetF(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getF', builder.build())).stack; - let result = source.readString(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/serialization_SerializationTester.abi b/src/test/features/output/serialization_SerializationTester.abi deleted file mode 100644 index 4795a2031..000000000 --- a/src/test/features/output/serialization_SerializationTester.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"SerializationTester","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]},{"name":"Update","header":849061239,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"c","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"d","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"e","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"f","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"g","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"h","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"i","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}},{"receiver":"internal","message":{"kind":"typed","type":"Update"}}],"getters":[{"name":"getA","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getB","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getC","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getD","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getE","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getF","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getG","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getH","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"getI","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/serialization_SerializationTester.code.boc b/src/test/features/output/serialization_SerializationTester.code.boc deleted file mode 100644 index 0fd21667f..000000000 Binary files a/src/test/features/output/serialization_SerializationTester.code.boc and /dev/null differ diff --git a/src/test/features/output/serialization_SerializationTester.code.boc.html b/src/test/features/output/serialization_SerializationTester.code.boc.html deleted file mode 100644 index 3752dcd46..000000000 --- a/src/test/features/output/serialization_SerializationTester.code.boc.html +++ /dev/null @@ -1,396 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_91412;
-            ..DECLPROC ?fun_95541;
-            ..DECLPROC ?fun_99546;
-            ..DECLPROC ?fun_103675;
-            ..DECLPROC ?fun_107672;
-            ..DECLPROC ?fun_111801;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC ?fun_115806;
-            ..DECLPROC ?fun_119935;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_123932;
-            ..DECLPROC ?fun_ref_10c319ce0484d846;
-            ..DECLPROC ?fun_ref_1e8d3bea85f5828b;
-            ..DECLPROC ?fun_ref_2005ab60a835a763;
-            ..DECLPROC ?fun_ref_40d98146a47dbe3b;
-            ..DECLPROC ?fun_ref_44086a5ce86162fe;
-            ..DECLPROC ?fun_ref_627092810dc2e084;
-            ..DECLPROC ?fun_ref_6326faa87beffd08;
-            ..DECLPROC ?fun_ref_750b5e2df7ffc4f5;
-            ..DECLPROC ?fun_ref_b2f99ae1a1dd4dfb;
-            ..DECLPROC ?fun_ref_b347d9c3ebd197d4;
-            ..DECLPROC ?fun_ref_bfee01af6d6b5db1;
-            ..DECLPROC ?fun_ref_d64238920ad08f80;
-            ..DECLPROC ?fun_ref_febca6c4d71293f1;
-            x1..recv_internal PROC:<{
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            26x1....4 LDU
-            18x1....s0 s1 XCHG
-            18x1....1 PUSHINT
-            18x1....AND
-            18x1....-1 MULCONST
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            34x1....s0 s6 s4 PUXCPU
-            18x1....s0 s3 XCHG
-            30x1....4 TUPLE
-            28x1....1 SETGLOBVAR
-            18x1....s0 s2 XCHG
-            29x1....2 SETGLOBVAR
-            126x1....?fun_ref_2005ab60a835a763 INLINECALLDICT
-            26x1....2 9 BLKSWAP
-            126x1....?fun_ref_d64238920ad08f80 INLINECALLDICT
-            34x1....130 THROWIFNOT
-            18x1....NEWC
-            26x1....3 GETGLOBVAR
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....-1 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            26x1....9 1 BLKSWAP
-            26x1....s8 s9 XCHG2
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s1 s6 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s1 s4 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s0 s2 XCHG
-            18x1....NEWC
-            34x1....257 PUSHINT
-            26x1....STIX
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s1 s2 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s0 s2 XCHG
-            18x1....NEWC
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s1 s3 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            18x1....s1 s3 XCHG
-            34x1....257 PUSHINT
-            26x1....STIX
-            518x1....ENDC
-            18x1....ROT
-            18x1....STREF
-            518x1....ENDC
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            518x1....ENDC
-            26x1....c4 POP
-            x1..}>
-            x1..?fun_91412 PROC:<{
-            126x1....?fun_ref_2005ab60a835a763 INLINECALLDICT
-            126x1....?fun_ref_40d98146a47dbe3b INLINECALLDICT
-            26x1....9 1 BLKDROP2
-            x1..}>
-            x1..?fun_95541 PROC:<{
-            126x1....?fun_ref_2005ab60a835a763 INLINECALLDICT
-            126x1....?fun_ref_44086a5ce86162fe INLINECALLDICT
-            26x1....9 1 BLKDROP2
-            x1..}>
-            x1..?fun_99546 PROC:<{
-            126x1....?fun_ref_2005ab60a835a763 INLINECALLDICT
-            126x1....?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT
-            26x1....9 1 BLKDROP2
-            x1..}>
-            x1..?fun_103675 PROC:<{
-            126x1....?fun_ref_2005ab60a835a763 INLINECALLDICT
-            126x1....?fun_ref_10c319ce0484d846 INLINECALLDICT
-            26x1....9 1 BLKDROP2
-            x1..}>
-            x1..?fun_107672 PROC:<{
-            126x1....?fun_ref_2005ab60a835a763 INLINECALLDICT
-            126x1....?fun_ref_b347d9c3ebd197d4 INLINECALLDICT
-            26x1....9 1 BLKDROP2
-            x1..}>
-            x1..?fun_111801 PROC:<{
-            126x1....?fun_ref_2005ab60a835a763 INLINECALLDICT
-            126x1....?fun_ref_6326faa87beffd08 INLINECALLDICT
-            26x1....9 1 BLKDROP2
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            x1..?fun_115806 PROC:<{
-            126x1....?fun_ref_2005ab60a835a763 INLINECALLDICT
-            126x1....?fun_ref_750b5e2df7ffc4f5 INLINECALLDICT
-            26x1....9 1 BLKDROP2
-            x1..}>
-            x1..?fun_119935 PROC:<{
-            126x1....?fun_ref_2005ab60a835a763 INLINECALLDICT
-            126x1....?fun_ref_1e8d3bea85f5828b INLINECALLDICT
-            26x1....9 1 BLKDROP2
-            x1..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D6351574D61477069663968624258467070517A55793567486F6438386B46786A767453796278547A6B77563382_} PUSHSLICE
-            ..}>
-            x1..?fun_123932 PROC:<{
-            126x1....?fun_ref_2005ab60a835a763 INLINECALLDICT
-            126x1....?fun_ref_febca6c4d71293f1 INLINECALLDICT
-            26x1....9 1 BLKDROP2
-            x1..}>
-            x2..?fun_ref_10c319ce0484d846 PROCREF:<{
-            18x2....s3 PUSH
-            x2..}>
-            x1..?fun_ref_1e8d3bea85f5828b PROCREF:<{
-            18x1....s7 PUSH
-            x1..}>
-            x10..?fun_ref_2005ab60a835a763 PROCREF:<{
-            26x10....c4 PUSH
-            118x10....CTOS
-            18x10....LDREF
-            18x10....s0 s1 XCHG
-            30x10....3 SETGLOBVAR
-            26x10....1 LDI
-            18x10....s0 s1 XCHG
-            26x10....<{
-            34x9......257 PUSHINT
-            26x9......LDIX
-            34x9......257 PUSHINT
-            26x9......LDIX
-            34x9......257 PUSHINT
-            26x9......LDIX
-            18x9......LDREF
-            18x9......s0 s1 XCHG
-            118x9......CTOS
-            34x9......257 PUSHINT
-            26x9......LDIX
-            34x9......257 PUSHINT
-            26x9......LDIX
-            34x9......257 PUSHINT
-            26x9......LDIX
-            18x9......LDREF
-            18x9......s0 POP
-            118x9......CTOS
-            34x9......257 PUSHINT
-            26x9......LDIX
-            34x9......257 PUSHINT
-            26x9......LDIX
-            34x9......257 PUSHINT
-            26x9......LDIX
-            18x9......s0 POP
-            26x9......s6 s9 XCHG
-            26x9......s6 s8 XCHG
-            26x9......s6 s7 XCHG
-            26x9......1 9 BLKDROP2
-            26x10....}> PUSHCONT
-            18x10....IFJMP
-            26x1....MYADDR
-            34x1....11 PLDU
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....137 THROWIFNOT
-            126x1....?fun_ref_627092810dc2e084 INLINECALLDICT
-            18x1....s0 s9 XCHG
-            18x1....ENDS
-            26x1....1 8 BLKSWAP
-            x10..}>
-            x7..?fun_ref_40d98146a47dbe3b PROCREF:<{
-            18x7....s0 PUSH
-            x7..}>
-            x5..?fun_ref_44086a5ce86162fe PROCREF:<{
-            18x5....s1 PUSH
-            x5..}>
-            x1..?fun_ref_627092810dc2e084 PROCREF:<{
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....LDREF
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....LDREF
-            18x1....s0 POP
-            118x1....CTOS
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            34x1....257 PUSHINT
-            26x1....LDIX
-            18x1....s0 POP
-            26x1....s6 s9 XCHG
-            26x1....s6 s8 XCHG
-            26x1....s6 s7 XCHG
-            x1..}>
-            x2..?fun_ref_6326faa87beffd08 PROCREF:<{
-            18x2....s5 PUSH
-            x2..}>
-            x1..?fun_ref_750b5e2df7ffc4f5 PROCREF:<{
-            18x1....s6 PUSH
-            x1..}>
-            x7..?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{
-            18x7....s2 PUSH
-            x7..}>
-            x3..?fun_ref_b347d9c3ebd197d4 PROCREF:<{
-            18x3....s4 PUSH
-            x3..}>
-            ..?fun_ref_bfee01af6d6b5db1 PROCREF:<{
-            ....32 LDU
-            ....s0 s1 XCHG
-            ....849061239 PUSHINT
-            ....EQUAL
-            ....129 THROWIFNOT
-            ....257 PUSHINT
-            ....LDIX
-            ....257 PUSHINT
-            ....LDIX
-            ....257 PUSHINT
-            ....LDIX
-            ....LDREF
-            ....s0 s1 XCHG
-            ....CTOS
-            ....257 PUSHINT
-            ....LDIX
-            ....257 PUSHINT
-            ....LDIX
-            ....257 PUSHINT
-            ....LDIX
-            ....LDREF
-            ....s0 POP
-            ....CTOS
-            ....257 PUSHINT
-            ....LDIX
-            ....257 PUSHINT
-            ....LDIX
-            ....257 PUSHINT
-            ....LDIX
-            ....s0 POP
-            ....s6 s9 XCHG
-            ....s6 s8 XCHG
-            ....s6 s7 XCHG
-            ..}>
-            x1..?fun_ref_d64238920ad08f80 PROCREF:<{
-            18x1....s0 s1 XCHG
-            18x1....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x1....}> PUSHCONT
-            18x1....IFJMP
-            18x1....0 PUSHINT
-            18x1....s1 PUSH
-            26x1....SBITS
-            26x1....31 GTINT
-            18x1....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            18x1....}> PUSHCONT
-            18x1....IF
-            18x1....s0 PUSH
-            26x1....0 EQINT
-            18x1....s2 PUSH
-            26x1....SBITS
-            26x1....33 LESSINT
-            18x1....AND
-            18x1....<{
-            18x1......DROP2
-            18x1......-1 PUSHINT
-            18x1....}> PUSHCONT
-            18x1....IFJMP
-            ....849061239 PUSHINT
-            ....EQUAL
-            ....<{
-            ......?fun_ref_bfee01af6d6b5db1 INLINECALLDICT
-            ......1 9 BLKDROP2
-            ......s2 POP
-            ......s8 POP
-            ......s8 POP
-            ......s9 POP
-            ......s9 POP
-            ......s9 POP
-            ......s9 POP
-            ......s9 POP
-            ......s9 POP
-            ......s0 s1 XCHG
-            ......-1 PUSHINT
-            ....}> PUSHCONT
-            ....IFJMP
-            ....s0 POP
-            ....0 PUSHINT
-            x1..}>
-            x1..?fun_ref_febca6c4d71293f1 PROCREF:<{
-            18x1....s8 PUSH
-            x1..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/serialization_SerializationTester.code.fc b/src/test/features/output/serialization_SerializationTester.code.fc deleted file mode 100644 index e38adf6b5..000000000 --- a/src/test/features/output/serialization_SerializationTester.code.fc +++ /dev/null @@ -1,225 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "serialization_SerializationTester.headers.fc"; -#include "serialization_SerializationTester.stdlib.fc"; -#include "serialization_SerializationTester.storage.fc"; - -;; -;; Contract SerializationTester functions -;; - -(int, int, int, int, int, int, int, int, int) $SerializationTester$_contract_init(int $a, int $b, int $c, int $d, int $e, int $f, int $g, int $h, int $i) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i)) = (null(), null(), null(), null(), null(), null(), null(), null(), null()); - $self'a = $a; - $self'b = $b; - $self'c = $c; - $self'd = $d; - $self'e = $e; - $self'f = $f; - $self'g = $g; - $self'h = $h; - $self'i = $i; - return ($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i); -} - -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getA((int, int, int, int, int, int, int, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i), $self'a); -} - -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getB((int, int, int, int, int, int, int, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i), $self'b); -} - -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getC((int, int, int, int, int, int, int, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i), $self'c); -} - -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getD((int, int, int, int, int, int, int, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i), $self'd); -} - -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getE((int, int, int, int, int, int, int, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i), $self'e); -} - -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getF((int, int, int, int, int, int, int, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i), $self'f); -} - -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getG((int, int, int, int, int, int, int, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i), $self'g); -} - -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getH((int, int, int, int, int, int, int, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i), $self'h); -} - -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getI((int, int, int, int, int, int, int, int, int) $self) impure inline_ref { - var (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i)) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i), $self'i); -} - -;; -;; Receivers of a Contract SerializationTester -;; - -(((int, int, int, int, int, int, int, int, int)), ()) %$SerializationTester$_internal_empty((int, int, int, int, int, int, int, int, int) $self) impure inline { - var ($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i) = $self; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i), ()); -} - -(((int, int, int, int, int, int, int, int, int)), ()) $SerializationTester$_internal_binary_Update((int, int, int, int, int, int, int, int, int) $self, (int, int, int, int, int, int, int, int, int) $msg) impure inline { - var ($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i) = $self; - var ($msg'a, $msg'b, $msg'c, $msg'd, $msg'e, $msg'f, $msg'g, $msg'h, $msg'i) = $msg; - $self'a = $msg'a; - $self'b = $msg'b; - $self'c = $msg'c; - $self'd = $msg'd; - $self'e = $msg'e; - $self'f = $msg'f; - $self'h = $msg'h; - $self'i = $msg'i; - return (($self'a, $self'b, $self'c, $self'd, $self'e, $self'f, $self'g, $self'h, $self'i), ()); -} - -;; -;; Get methods of a Contract SerializationTester -;; - -_ %getA() method_id(123932) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getA(); - return res; -} - -_ %getB() method_id(119935) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getB(); - return res; -} - -_ %getC() method_id(115806) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getC(); - return res; -} - -_ %getD() method_id(111801) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getD(); - return res; -} - -_ %getE() method_id(107672) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getE(); - return res; -} - -_ %getF() method_id(103675) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getF(); - return res; -} - -_ %getG() method_id(99546) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getG(); - return res; -} - -_ %getH() method_id(95541) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getH(); - return res; -} - -_ %getI() method_id(91412) { - var self = $SerializationTester$_contract_load(); - var res = self~$SerializationTester$_fun_getI(); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmcQWMaGpif9hbBXFppQzUy5gHod88kFxjvtSybxTzkwV3"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract SerializationTester -;; - -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_contract_router_internal((int, int, int, int, int, int, int, int, int) self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$SerializationTester$_internal_empty(); - return (self, true); - } - - ;; Receive Update message - if (op == 849061239) { - var msg = in_msg~$Update$_load(); - self~$SerializationTester$_internal_binary_Update(msg); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $SerializationTester$_contract_load(); - - ;; Handle operation - int handled = self~$SerializationTester$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $SerializationTester$_contract_store(self); -} diff --git a/src/test/features/output/serialization_SerializationTester.code.fif b/src/test/features/output/serialization_SerializationTester.code.fif deleted file mode 100644 index 73a7c43d8..000000000 --- a/src/test/features/output/serialization_SerializationTester.code.fif +++ /dev/null @@ -1,387 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $Update$_load - DECLPROC $SerializationTester$_store - DECLPROC $SerializationTester$_load - DECLPROC $SerializationTester$init$_load - DECLPROC $SerializationTester$_contract_init - DECLPROC $SerializationTester$_contract_load - DECLPROC $SerializationTester$_contract_store - DECLPROC $SerializationTester$_fun_getA - DECLPROC $SerializationTester$_fun_getB - DECLPROC $SerializationTester$_fun_getC - DECLPROC $SerializationTester$_fun_getD - DECLPROC $SerializationTester$_fun_getE - DECLPROC $SerializationTester$_fun_getF - DECLPROC $SerializationTester$_fun_getG - DECLPROC $SerializationTester$_fun_getH - DECLPROC $SerializationTester$_fun_getI - DECLPROC %$SerializationTester$_internal_empty - DECLPROC $SerializationTester$_internal_binary_Update - 123932 DECLMETHOD %getA - 119935 DECLMETHOD %getB - 115806 DECLMETHOD %getC - 111801 DECLMETHOD %getD - 107672 DECLMETHOD %getE - 103675 DECLMETHOD %getF - 99546 DECLMETHOD %getG - 95541 DECLMETHOD %getH - 91412 DECLMETHOD %getI - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $SerializationTester$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $Update$_load PROCREF:<{ - 32 LDU - SWAP - 849061239 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - SWAP - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - DROP - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - DROP - s6 s9 XCHG - s6 s8 XCHG - s6 s7 XCHG - }> - $SerializationTester$_store PROCINLINE:<{ - s8 s9 XCHG2 - 257 PUSHINT - STIX - s1 s6 XCHG - 257 PUSHINT - STIX - s1 s4 XCHG - 257 PUSHINT - STIX - s0 s2 XCHG - NEWC - 257 PUSHINT - STIX - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - s0 s2 XCHG - NEWC - 257 PUSHINT - STIX - s1 s3 XCHG - 257 PUSHINT - STIX - s1 s3 XCHG - 257 PUSHINT - STIX - ENDC - ROT - STREF - ENDC - SWAP - STREF - }> - $SerializationTester$_load PROCINLINE:<{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - SWAP - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - DROP - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - DROP - s6 s9 XCHG - s6 s8 XCHG - s6 s7 XCHG - }> - $SerializationTester$init$_load PROCREF:<{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - SWAP - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - DROP - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - DROP - s6 s9 XCHG - s6 s8 XCHG - s6 s7 XCHG - }> - $SerializationTester$_contract_init PROCREF:<{ - }> - $SerializationTester$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - SWAP - IFJMP:<{ - $SerializationTester$_load INLINECALLDICT - 1 9 BLKDROP2 - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $SerializationTester$init$_load INLINECALLDICT - s0 s9 XCHG - ENDS - 8 ROLL - $SerializationTester$_contract_init INLINECALLDICT - }> - $SerializationTester$_contract_store PROCINLINE:<{ - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - 9 -ROLL - $SerializationTester$_store INLINECALLDICT - ENDC - c4 POP - }> - $SerializationTester$_fun_getA PROCREF:<{ - s8 PUSH - }> - $SerializationTester$_fun_getB PROCREF:<{ - s7 PUSH - }> - $SerializationTester$_fun_getC PROCREF:<{ - s6 PUSH - }> - $SerializationTester$_fun_getD PROCREF:<{ - s5 PUSH - }> - $SerializationTester$_fun_getE PROCREF:<{ - s4 PUSH - }> - $SerializationTester$_fun_getF PROCREF:<{ - s3 PUSH - }> - $SerializationTester$_fun_getG PROCREF:<{ - s2 PUSH - }> - $SerializationTester$_fun_getH PROCREF:<{ - OVER - }> - $SerializationTester$_fun_getI PROCREF:<{ - DUP - }> - %$SerializationTester$_internal_empty PROCINLINE:<{ - }> - $SerializationTester$_internal_binary_Update PROCINLINE:<{ - s2 POP - s8 POP - s8 POP - s9 POP - s9 POP - s9 POP - s9 POP - s9 POP - s9 POP - SWAP - }> - %getA PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getA INLINECALLDICT - 9 1 BLKDROP2 - }> - %getB PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getB INLINECALLDICT - 9 1 BLKDROP2 - }> - %getC PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getC INLINECALLDICT - 9 1 BLKDROP2 - }> - %getD PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getD INLINECALLDICT - 9 1 BLKDROP2 - }> - %getE PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getE INLINECALLDICT - 9 1 BLKDROP2 - }> - %getF PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getF INLINECALLDICT - 9 1 BLKDROP2 - }> - %getG PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getG INLINECALLDICT - 9 1 BLKDROP2 - }> - %getH PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getH INLINECALLDICT - 9 1 BLKDROP2 - }> - %getI PROC:<{ - $SerializationTester$_contract_load INLINECALLDICT - $SerializationTester$_fun_getI INLINECALLDICT - 9 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d6351574d61477069663968624258467070517a55793567486f6438386b46786a767453796278547a6b775633} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $SerializationTester$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - DUP - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - IFJMP:<{ - 2DROP - %$SerializationTester$_internal_empty INLINECALLDICT - TRUE - }> - 849061239 PUSHINT - EQUAL - IFJMP:<{ - $Update$_load INLINECALLDICT - 1 9 BLKDROP2 - $SerializationTester$_internal_binary_Update INLINECALLDICT - TRUE - }> - DROP - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $SerializationTester$_contract_load INLINECALLDICT - 2 9 BLKSWAP - $SerializationTester$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $SerializationTester$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/serialization_SerializationTester.code.rev.fif b/src/test/features/output/serialization_SerializationTester.code.rev.fif deleted file mode 100644 index c5f410138..000000000 --- a/src/test/features/output/serialization_SerializationTester.code.rev.fif +++ /dev/null @@ -1,360 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_91412; - DECLPROC ?fun_95541; - DECLPROC ?fun_99546; - DECLPROC ?fun_103675; - DECLPROC ?fun_107672; - DECLPROC ?fun_111801; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC ?fun_115806; - DECLPROC ?fun_119935; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_123932; - DECLPROC ?fun_ref_10c319ce0484d846; - DECLPROC ?fun_ref_1e8d3bea85f5828b; - DECLPROC ?fun_ref_2005ab60a835a763; - DECLPROC ?fun_ref_40d98146a47dbe3b; - DECLPROC ?fun_ref_44086a5ce86162fe; - DECLPROC ?fun_ref_627092810dc2e084; - DECLPROC ?fun_ref_6326faa87beffd08; - DECLPROC ?fun_ref_750b5e2df7ffc4f5; - DECLPROC ?fun_ref_b2f99ae1a1dd4dfb; - DECLPROC ?fun_ref_b347d9c3ebd197d4; - DECLPROC ?fun_ref_bfee01af6d6b5db1; - DECLPROC ?fun_ref_d64238920ad08f80; - DECLPROC ?fun_ref_febca6c4d71293f1; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_2005ab60a835a763 INLINECALLDICT - 2 9 BLKSWAP - ?fun_ref_d64238920ad08f80 INLINECALLDICT - 130 THROWIFNOT - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - 9 1 BLKSWAP - s8 s9 XCHG2 - 257 PUSHINT - STIX - s1 s6 XCHG - 257 PUSHINT - STIX - s1 s4 XCHG - 257 PUSHINT - STIX - s0 s2 XCHG - NEWC - 257 PUSHINT - STIX - 257 PUSHINT - STIX - s1 s2 XCHG - 257 PUSHINT - STIX - s0 s2 XCHG - NEWC - 257 PUSHINT - STIX - s1 s3 XCHG - 257 PUSHINT - STIX - s1 s3 XCHG - 257 PUSHINT - STIX - ENDC - ROT - STREF - ENDC - s0 s1 XCHG - STREF - ENDC - c4 POP - }> - ?fun_91412 PROC:<{ - ?fun_ref_2005ab60a835a763 INLINECALLDICT - ?fun_ref_40d98146a47dbe3b INLINECALLDICT - 9 1 BLKDROP2 - }> - ?fun_95541 PROC:<{ - ?fun_ref_2005ab60a835a763 INLINECALLDICT - ?fun_ref_44086a5ce86162fe INLINECALLDICT - 9 1 BLKDROP2 - }> - ?fun_99546 PROC:<{ - ?fun_ref_2005ab60a835a763 INLINECALLDICT - ?fun_ref_b2f99ae1a1dd4dfb INLINECALLDICT - 9 1 BLKDROP2 - }> - ?fun_103675 PROC:<{ - ?fun_ref_2005ab60a835a763 INLINECALLDICT - ?fun_ref_10c319ce0484d846 INLINECALLDICT - 9 1 BLKDROP2 - }> - ?fun_107672 PROC:<{ - ?fun_ref_2005ab60a835a763 INLINECALLDICT - ?fun_ref_b347d9c3ebd197d4 INLINECALLDICT - 9 1 BLKDROP2 - }> - ?fun_111801 PROC:<{ - ?fun_ref_2005ab60a835a763 INLINECALLDICT - ?fun_ref_6326faa87beffd08 INLINECALLDICT - 9 1 BLKDROP2 - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - ?fun_115806 PROC:<{ - ?fun_ref_2005ab60a835a763 INLINECALLDICT - ?fun_ref_750b5e2df7ffc4f5 INLINECALLDICT - 9 1 BLKDROP2 - }> - ?fun_119935 PROC:<{ - ?fun_ref_2005ab60a835a763 INLINECALLDICT - ?fun_ref_1e8d3bea85f5828b INLINECALLDICT - 9 1 BLKDROP2 - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D6351574D61477069663968624258467070517A55793567486F6438386B46786A767453796278547A6B77563382_} PUSHSLICE - }> - ?fun_123932 PROC:<{ - ?fun_ref_2005ab60a835a763 INLINECALLDICT - ?fun_ref_febca6c4d71293f1 INLINECALLDICT - 9 1 BLKDROP2 - }> - ?fun_ref_10c319ce0484d846 PROCREF:<{ - s3 PUSH - }> - ?fun_ref_1e8d3bea85f5828b PROCREF:<{ - s7 PUSH - }> - ?fun_ref_2005ab60a835a763 PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 s1 XCHG - <{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 POP - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s6 s9 XCHG - s6 s8 XCHG - s6 s7 XCHG - 1 9 BLKDROP2 - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_627092810dc2e084 INLINECALLDICT - s0 s9 XCHG - ENDS - 1 8 BLKSWAP - }> - ?fun_ref_40d98146a47dbe3b PROCREF:<{ - s0 PUSH - }> - ?fun_ref_44086a5ce86162fe PROCREF:<{ - s1 PUSH - }> - ?fun_ref_627092810dc2e084 PROCREF:<{ - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 POP - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s6 s9 XCHG - s6 s8 XCHG - s6 s7 XCHG - }> - ?fun_ref_6326faa87beffd08 PROCREF:<{ - s5 PUSH - }> - ?fun_ref_750b5e2df7ffc4f5 PROCREF:<{ - s6 PUSH - }> - ?fun_ref_b2f99ae1a1dd4dfb PROCREF:<{ - s2 PUSH - }> - ?fun_ref_b347d9c3ebd197d4 PROCREF:<{ - s4 PUSH - }> - ?fun_ref_bfee01af6d6b5db1 PROCREF:<{ - 32 LDU - s0 s1 XCHG - 849061239 PUSHINT - EQUAL - 129 THROWIFNOT - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 s1 XCHG - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - LDREF - s0 POP - CTOS - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - 257 PUSHINT - LDIX - s0 POP - s6 s9 XCHG - s6 s8 XCHG - s6 s7 XCHG - }> - ?fun_ref_d64238920ad08f80 PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - s0 PUSH - 0 EQINT - s2 PUSH - SBITS - 33 LESSINT - AND - <{ - DROP2 - -1 PUSHINT - }> PUSHCONT - IFJMP - 849061239 PUSHINT - EQUAL - <{ - ?fun_ref_bfee01af6d6b5db1 INLINECALLDICT - 1 9 BLKDROP2 - s2 POP - s8 POP - s8 POP - s9 POP - s9 POP - s9 POP - s9 POP - s9 POP - s9 POP - s0 s1 XCHG - -1 PUSHINT - }> PUSHCONT - IFJMP - s0 POP - 0 PUSHINT - }> - ?fun_ref_febca6c4d71293f1 PROCREF:<{ - s8 PUSH - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/serialization_SerializationTester.headers.fc b/src/test/features/output/serialization_SerializationTester.headers.fc deleted file mode 100644 index d54852f31..000000000 --- a/src/test/features/output/serialization_SerializationTester.headers.fc +++ /dev/null @@ -1,55 +0,0 @@ -;; -;; Header files for SerializationTester -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $Update$_load -(slice, ((int, int, int, int, int, int, int, int, int))) $Update$_load(slice sc_0) inline_ref; - -;; $SerializationTester$_store -builder $SerializationTester$_store(builder build_0, (int, int, int, int, int, int, int, int, int) v) inline; - -;; $SerializationTester$_load -(slice, ((int, int, int, int, int, int, int, int, int))) $SerializationTester$_load(slice sc_0) inline; - -;; $SerializationTester$init$_load -(slice, ((int, int, int, int, int, int, int, int, int))) $SerializationTester$init$_load(slice sc_0) inline_ref; - -;; $SerializationTester$_contract_init -(int, int, int, int, int, int, int, int, int) $SerializationTester$_contract_init(int $a, int $b, int $c, int $d, int $e, int $f, int $g, int $h, int $i) impure inline_ref; - -;; $SerializationTester$_contract_load -(int, int, int, int, int, int, int, int, int) $SerializationTester$_contract_load() impure inline_ref; - -;; $SerializationTester$_contract_store -() $SerializationTester$_contract_store((int, int, int, int, int, int, int, int, int) v) impure inline; - -;; $SerializationTester$_fun_getA -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getA((int, int, int, int, int, int, int, int, int) $self) impure inline_ref; - -;; $SerializationTester$_fun_getB -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getB((int, int, int, int, int, int, int, int, int) $self) impure inline_ref; - -;; $SerializationTester$_fun_getC -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getC((int, int, int, int, int, int, int, int, int) $self) impure inline_ref; - -;; $SerializationTester$_fun_getD -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getD((int, int, int, int, int, int, int, int, int) $self) impure inline_ref; - -;; $SerializationTester$_fun_getE -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getE((int, int, int, int, int, int, int, int, int) $self) impure inline_ref; - -;; $SerializationTester$_fun_getF -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getF((int, int, int, int, int, int, int, int, int) $self) impure inline_ref; - -;; $SerializationTester$_fun_getG -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getG((int, int, int, int, int, int, int, int, int) $self) impure inline_ref; - -;; $SerializationTester$_fun_getH -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getH((int, int, int, int, int, int, int, int, int) $self) impure inline_ref; - -;; $SerializationTester$_fun_getI -((int, int, int, int, int, int, int, int, int), int) $SerializationTester$_fun_getI((int, int, int, int, int, int, int, int, int) $self) impure inline_ref; diff --git a/src/test/features/output/serialization_SerializationTester.md b/src/test/features/output/serialization_SerializationTester.md deleted file mode 100644 index 27929bde4..000000000 --- a/src/test/features/output/serialization_SerializationTester.md +++ /dev/null @@ -1,69 +0,0 @@ -# TACT Compilation Report -Contract: SerializationTester -BOC Size: 825 bytes - -# Types -Total Types: 4 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -## Update -TLB: `update#329ba577 a:int257 b:int257 c:int257 d:int257 e:int257 f:int257 g:int257 h:int257 i:int257 = Update` -Signature: `Update{a:int257,b:int257,c:int257,d:int257,e:int257,f:int257,g:int257,h:int257,i:int257}` - -# Get Methods -Total Get Methods: 9 - -## getA - -## getB - -## getC - -## getD - -## getE - -## getF - -## getG - -## getH - -## getI - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/serialization_SerializationTester.pkg b/src/test/features/output/serialization_SerializationTester.pkg deleted file mode 100644 index 8735ef17c..000000000 --- a/src/test/features/output/serialization_SerializationTester.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"SerializationTester","code":"te6ccgECKAEAAy0AART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVGNs88uCCJQQFAgEgBwgBdAGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+CCEDKbpXe6jo/bPGwZMjg4OTk5OTk5AX/gMHAGAJjI+EMBzH8BygBVgFCJgQEBzwAWgQEBzwAUgQEBzwACyIEBAc8AgQEBzwASgQEBzwACyIEBAc8AE4EBAc8AE4EBAc8AyVjMyQHMye1UAI7THwGCEDKbpXe68uCBgQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXAIEBAdcA1DDQgQEB1wCBAQHXAIEBAdcAMBBpEGgQZwIBbgkKAgEgDQ4CEbFFNs82zxskYCULAhGxTXbPNs8bJGAlDAACIAACIQIBIA8QAgEgGxwCASAREgIBIBUWAhGxNrbPNs8bJGAlEwIRsT72zzbPGyRgJRQAAiIAAiMCEbEmNs82zxskYCUXAgEgGBkAAiQCEa5c7Z5tnjZIwCUaALmt6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4TsunLVmnZbmdB0s2yjN0UkAAAiUCASAdHgIRtIObZ5tnjZIwJSYCAUgfIAIBICIjABCqvu1E0NIAAQIQqF7bPNs8bJElIQACJgIRrj/tnm2eNkjAJSQAdazdxoatLgzOZ0Xl6i2sairprCjuDSzHLQxISwjODgovSq8mrOkN7IcHDWjPDU7Oim8sTwqPTW7qxnBAAAInAbTtRNDUAfhj0gABjjyBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAgQEB1wDUMNCBAQHXAIEBAdcAgQEB1wAwEGkQaBBnbBng+CjXCwqDCbry4InbPAnRVQcnAAIoAHSBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAgQEB1wDUMNCBAQHXAIEBAdcAgQEB1wAwEGkQaBBn","abi":"{\"name\":\"SerializationTester\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]},{\"name\":\"Update\",\"header\":849061239,\"fields\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"c\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"d\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"e\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"f\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"g\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"h\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"i\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}},{\"receiver\":\"internal\",\"message\":{\"kind\":\"typed\",\"type\":\"Update\"}}],\"getters\":[{\"name\":\"getA\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getB\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getC\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getD\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getE\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getF\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getG\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getH\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"getI\",\"arguments\":[],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"c","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"d","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"e","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"f","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"g","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"h","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"i","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECKgEAAzcAAQHAAQEFoBg3AgEU/wD0pBP0vPLICwMCAWIkBAIBIB8FAgEgEgYCASAJBwIRtIObZ5tnjZIwKAgAAigCASAOCgIBIAwLAHWs3caGrS4MzmdF5eotrGoq6awo7g0sxy0MSEsIzg4KL0qvJqzpDeyHBw1ozw1OzopvLE8Kj01u6sZwQAIRrj/tnm2eNkjAKA0AAicCAUgRDwIQqF7bPNs8bJEoEAACJgAQqr7tRNDSAAECASAaEwIBIBgUAgEgFhUAua3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAIRrlztnm2eNkjAKBcAAiUCEbEmNs82zxskYCgZAAIkAgEgHRsCEbE+9s82zxskYCgcAAIjAhGxNrbPNs8bJGAoHgACIgIBbiIgAhGxTXbPNs8bJGAoIQACIQIRsUU2zzbPGyRgKCMAAiADetAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUY2zzy4IIoJiUAmMj4QwHMfwHKAFWAUImBAQHPABaBAQHPABSBAQHPAALIgQEBzwCBAQHPABKBAQHPAALIgQEBzwATgQEBzwATgQEBzwDJWMzJAczJ7VQBdAGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+CCEDKbpXe6jo/bPGwZMjg4OTk5OTk5AX/gMHAnAI7THwGCEDKbpXe68uCBgQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXAIEBAdcA1DDQgQEB1wCBAQHXAIEBAdcAMBBpEGgQZwG07UTQ1AH4Y9IAAY48gQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXAIEBAdcA1DDQgQEB1wCBAQHXAIEBAdcAMBBpEGgQZ2wZ4Pgo1wsKgwm68uCJ2zwJ0VUHKQB0gQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXAIEBAdcA1DDQgQEB1wCBAQHXAIEBAdcAMBBpEGgQZy+R5gE="}},"sources":{"src\\test\\features\\serialization.tact":"bWVzc2FnZSBVcGRhdGUgew0KICAgIGE6IEludDsNCiAgICBiOiBJbnQ7DQogICAgYzogSW50Ow0KICAgIGQ6IEludDsNCiAgICBlOiBJbnQ7DQogICAgZjogSW50Ow0KICAgIGc6IEludDsNCiAgICBoOiBJbnQ7DQogICAgaTogSW50Ow0KfQ0KDQpjb250cmFjdCBTZXJpYWxpemF0aW9uVGVzdGVyIHsNCg0KICAgIGE6IEludDsNCiAgICBiOiBJbnQ7DQogICAgYzogSW50Ow0KICAgIGQ6IEludDsNCiAgICBlOiBJbnQ7DQogICAgZjogSW50Ow0KICAgIGc6IEludDsNCiAgICBoOiBJbnQ7DQogICAgaTogSW50Ow0KDQogICAgaW5pdChhOiBJbnQsIGI6IEludCwgYzogSW50LCBkOiBJbnQsIGU6IEludCwgZjogSW50LCBnOiBJbnQsIGg6IEludCwgaTogSW50KSB7DQogICAgICAgIHNlbGYuYSA9IGE7DQogICAgICAgIHNlbGYuYiA9IGI7DQogICAgICAgIHNlbGYuYyA9IGM7DQogICAgICAgIHNlbGYuZCA9IGQ7DQogICAgICAgIHNlbGYuZSA9IGU7DQogICAgICAgIHNlbGYuZiA9IGY7DQogICAgICAgIHNlbGYuZyA9IGc7DQogICAgICAgIHNlbGYuaCA9IGg7DQogICAgICAgIHNlbGYuaSA9IGk7DQoNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5hKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5iKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5jKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5kKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5lKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5mKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5nKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5oKTsNCiAgICAgICAgLy8gYWJpLmR1bXAoc2VsZi5pKTsNCiAgICB9DQoNCiAgICByZWNlaXZlKCkgew0KICAgICAgICAvLyBEZXBsb3kNCiAgICB9DQoNCiAgICByZWNlaXZlKG1zZzogVXBkYXRlKSB7DQogICAgICAgIHNlbGYuYSA9IG1zZy5hOw0KICAgICAgICBzZWxmLmIgPSBtc2cuYjsNCiAgICAgICAgc2VsZi5jID0gbXNnLmM7DQogICAgICAgIHNlbGYuZCA9IG1zZy5kOw0KICAgICAgICBzZWxmLmUgPSBtc2cuZTsNCiAgICAgICAgc2VsZi5mID0gbXNnLmY7DQogICAgICAgIHNlbGYuaCA9IG1zZy5oOw0KICAgICAgICBzZWxmLmkgPSBtc2cuaTsNCg0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmEpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmIpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmMpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmQpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmUpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmYpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmcpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmgpOw0KICAgICAgICAvLyBhYmkuZHVtcChzZWxmLmkpOw0KICAgIH0NCg0KICAgIGdldCBmdW4gZ2V0QSgpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2VsZi5hOw0KICAgIH0NCiAgICBnZXQgZnVuIGdldEIoKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuYjsNCiAgICB9DQogICAgZ2V0IGZ1biBnZXRDKCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLmM7DQogICAgfQ0KICAgIGdldCBmdW4gZ2V0RCgpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2VsZi5kOw0KICAgIH0NCiAgICBnZXQgZnVuIGdldEUoKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuZTsNCiAgICB9DQogICAgZ2V0IGZ1biBnZXRGKCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLmY7DQogICAgfQ0KICAgIGdldCBmdW4gZ2V0RygpOiBJbnQgew0KICAgICAgICByZXR1cm4gc2VsZi5nOw0KICAgIH0NCiAgICBnZXQgZnVuIGdldEgoKTogSW50IHsNCiAgICAgICAgcmV0dXJuIHNlbGYuaDsNCiAgICB9DQogICAgZ2V0IGZ1biBnZXRJKCk6IEludCB7DQogICAgICAgIHJldHVybiBzZWxmLmk7DQogICAgfQ0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/serialization.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/serialization_SerializationTester.stdlib.fc b/src/test/features/output/serialization_SerializationTester.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/src/test/features/output/serialization_SerializationTester.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/src/test/features/output/serialization_SerializationTester.storage.fc b/src/test/features/output/serialization_SerializationTester.storage.fc deleted file mode 100644 index 335b2ad3a..000000000 --- a/src/test/features/output/serialization_SerializationTester.storage.fc +++ /dev/null @@ -1,96 +0,0 @@ -;; -;; Type: Update -;; Header: 0x329ba577 -;; TLB: update#329ba577 a:int257 b:int257 c:int257 d:int257 e:int257 f:int257 g:int257 h:int257 i:int257 = Update -;; - -(slice, ((int, int, int, int, int, int, int, int, int))) $Update$_load(slice sc_0) inline_ref { - throw_unless(129, sc_0~load_uint(32) == 849061239); - var v'a = sc_0~load_int(257); - var v'b = sc_0~load_int(257); - var v'c = sc_0~load_int(257); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'd = sc_1~load_int(257); - var v'e = sc_1~load_int(257); - var v'f = sc_1~load_int(257); - slice sc_2 = sc_1~load_ref().begin_parse(); - var v'g = sc_2~load_int(257); - var v'h = sc_2~load_int(257); - var v'i = sc_2~load_int(257); - return (sc_0, (v'a, v'b, v'c, v'd, v'e, v'f, v'g, v'h, v'i)); -} - -;; -;; Type: SerializationTester -;; - -builder $SerializationTester$_store(builder build_0, (int, int, int, int, int, int, int, int, int) v) inline { - var (v'a, v'b, v'c, v'd, v'e, v'f, v'g, v'h, v'i) = v; - build_0 = build_0.store_int(v'a, 257); - build_0 = build_0.store_int(v'b, 257); - build_0 = build_0.store_int(v'c, 257); - var build_1 = begin_cell(); - build_1 = build_1.store_int(v'd, 257); - build_1 = build_1.store_int(v'e, 257); - build_1 = build_1.store_int(v'f, 257); - var build_2 = begin_cell(); - build_2 = build_2.store_int(v'g, 257); - build_2 = build_2.store_int(v'h, 257); - build_2 = build_2.store_int(v'i, 257); - build_1 = store_ref(build_1, build_2.end_cell()); - build_0 = store_ref(build_0, build_1.end_cell()); - return build_0; -} - -(slice, ((int, int, int, int, int, int, int, int, int))) $SerializationTester$_load(slice sc_0) inline { - var v'a = sc_0~load_int(257); - var v'b = sc_0~load_int(257); - var v'c = sc_0~load_int(257); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'd = sc_1~load_int(257); - var v'e = sc_1~load_int(257); - var v'f = sc_1~load_int(257); - slice sc_2 = sc_1~load_ref().begin_parse(); - var v'g = sc_2~load_int(257); - var v'h = sc_2~load_int(257); - var v'i = sc_2~load_int(257); - return (sc_0, (v'a, v'b, v'c, v'd, v'e, v'f, v'g, v'h, v'i)); -} - -(slice, ((int, int, int, int, int, int, int, int, int))) $SerializationTester$init$_load(slice sc_0) inline_ref { - var v'a = sc_0~load_int(257); - var v'b = sc_0~load_int(257); - var v'c = sc_0~load_int(257); - slice sc_1 = sc_0~load_ref().begin_parse(); - var v'd = sc_1~load_int(257); - var v'e = sc_1~load_int(257); - var v'f = sc_1~load_int(257); - slice sc_2 = sc_1~load_ref().begin_parse(); - var v'g = sc_2~load_int(257); - var v'h = sc_2~load_int(257); - var v'i = sc_2~load_int(257); - return (sc_0, (v'a, v'b, v'c, v'd, v'e, v'f, v'g, v'h, v'i)); -} - -(int, int, int, int, int, int, int, int, int) $SerializationTester$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return $sc~$SerializationTester$_load(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - (int a, int b, int c, int d, int e, int f, int g, int h, int i) = $sc~$SerializationTester$init$_load(); - $sc.end_parse(); - return $SerializationTester$_contract_init(a, b, c, d, e, f, g, h, i); - } -} - -() $SerializationTester$_contract_store((int, int, int, int, int, int, int, int, int) v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - b = $SerializationTester$_store(b, v); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/serialization_SerializationTester.ts b/src/test/features/output/serialization_SerializationTester.ts deleted file mode 100644 index de37dc326..000000000 --- a/src/test/features/output/serialization_SerializationTester.ts +++ /dev/null @@ -1,483 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - -export type Update = { - $$type: 'Update'; - a: bigint; - b: bigint; - c: bigint; - d: bigint; - e: bigint; - f: bigint; - g: bigint; - h: bigint; - i: bigint; -} - -export function storeUpdate(src: Update) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeUint(849061239, 32); - b_0.storeInt(src.a, 257); - b_0.storeInt(src.b, 257); - b_0.storeInt(src.c, 257); - let b_1 = new Builder(); - b_1.storeInt(src.d, 257); - b_1.storeInt(src.e, 257); - b_1.storeInt(src.f, 257); - let b_2 = new Builder(); - b_2.storeInt(src.g, 257); - b_2.storeInt(src.h, 257); - b_2.storeInt(src.i, 257); - b_1.storeRef(b_2.endCell()); - b_0.storeRef(b_1.endCell()); - }; -} - -export function loadUpdate(slice: Slice) { - let sc_0 = slice; - if (sc_0.loadUint(32) !== 849061239) { throw Error('Invalid prefix'); } - let _a = sc_0.loadIntBig(257); - let _b = sc_0.loadIntBig(257); - let _c = sc_0.loadIntBig(257); - let sc_1 = sc_0.loadRef().beginParse(); - let _d = sc_1.loadIntBig(257); - let _e = sc_1.loadIntBig(257); - let _f = sc_1.loadIntBig(257); - let sc_2 = sc_1.loadRef().beginParse(); - let _g = sc_2.loadIntBig(257); - let _h = sc_2.loadIntBig(257); - let _i = sc_2.loadIntBig(257); - return { $$type: 'Update' as const, a: _a, b: _b, c: _c, d: _d, e: _e, f: _f, g: _g, h: _h, i: _i }; -} - -function loadTupleUpdate(source: TupleReader) { - let _a = source.readBigNumber(); - let _b = source.readBigNumber(); - let _c = source.readBigNumber(); - let _d = source.readBigNumber(); - let _e = source.readBigNumber(); - let _f = source.readBigNumber(); - let _g = source.readBigNumber(); - let _h = source.readBigNumber(); - let _i = source.readBigNumber(); - return { $$type: 'Update' as const, a: _a, b: _b, c: _c, d: _d, e: _e, f: _f, g: _g, h: _h, i: _i }; -} - -function storeTupleUpdate(source: Update) { - let builder = new TupleBuilder(); - builder.writeNumber(source.a); - builder.writeNumber(source.b); - builder.writeNumber(source.c); - builder.writeNumber(source.d); - builder.writeNumber(source.e); - builder.writeNumber(source.f); - builder.writeNumber(source.g); - builder.writeNumber(source.h); - builder.writeNumber(source.i); - return builder.build(); -} - -function dictValueParserUpdate(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeUpdate(src)).endCell()); - }, - parse: (src) => { - return loadUpdate(src.loadRef().beginParse()); - } - } -} - - type SerializationTester_init_args = { - $$type: 'SerializationTester_init_args'; - a: bigint; - b: bigint; - c: bigint; - d: bigint; - e: bigint; - f: bigint; - g: bigint; - h: bigint; - i: bigint; -} - -function initSerializationTester_init_args(src: SerializationTester_init_args) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeInt(src.a, 257); - b_0.storeInt(src.b, 257); - b_0.storeInt(src.c, 257); - let b_1 = new Builder(); - b_1.storeInt(src.d, 257); - b_1.storeInt(src.e, 257); - b_1.storeInt(src.f, 257); - let b_2 = new Builder(); - b_2.storeInt(src.g, 257); - b_2.storeInt(src.h, 257); - b_2.storeInt(src.i, 257); - b_1.storeRef(b_2.endCell()); - b_0.storeRef(b_1.endCell()); - }; -} - -async function SerializationTester_init(a: bigint, b: bigint, c: bigint, d: bigint, e: bigint, f: bigint, g: bigint, h: bigint, i: bigint) { - const __code = Cell.fromBase64('te6ccgECKAEAAy0AART/APSkE/S88sgLAQIBYgIDA3rQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxVGNs88uCCJQQFAgEgBwgBdAGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+CCEDKbpXe6jo/bPGwZMjg4OTk5OTk5AX/gMHAGAJjI+EMBzH8BygBVgFCJgQEBzwAWgQEBzwAUgQEBzwACyIEBAc8AgQEBzwASgQEBzwACyIEBAc8AE4EBAc8AE4EBAc8AyVjMyQHMye1UAI7THwGCEDKbpXe68uCBgQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXAIEBAdcA1DDQgQEB1wCBAQHXAIEBAdcAMBBpEGgQZwIBbgkKAgEgDQ4CEbFFNs82zxskYCULAhGxTXbPNs8bJGAlDAACIAACIQIBIA8QAgEgGxwCASAREgIBIBUWAhGxNrbPNs8bJGAlEwIRsT72zzbPGyRgJRQAAiIAAiMCEbEmNs82zxskYCUXAgEgGBkAAiQCEa5c7Z5tnjZIwCUaALmt6ME4LnYerpZXPY9CdhzrJUKNs0E4TusalpWyPlmRadeW/vixHME4ECrgDcAzscpnLB1XI5LZYcE4DepO98qiy3jjqenvAqzhk0E4TsunLVmnZbmdB0s2yjN0UkAAAiUCASAdHgIRtIObZ5tnjZIwJSYCAUgfIAIBICIjABCqvu1E0NIAAQIQqF7bPNs8bJElIQACJgIRrj/tnm2eNkjAJSQAdazdxoatLgzOZ0Xl6i2sairprCjuDSzHLQxISwjODgovSq8mrOkN7IcHDWjPDU7Oim8sTwqPTW7qxnBAAAInAbTtRNDUAfhj0gABjjyBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAgQEB1wDUMNCBAQHXAIEBAdcAgQEB1wAwEGkQaBBnbBng+CjXCwqDCbry4InbPAnRVQcnAAIoAHSBAQHXAIEBAdcAgQEB1wDUAdCBAQHXAIEBAdcAgQEB1wDUMNCBAQHXAIEBAdcAgQEB1wAwEGkQaBBn'); - const __system = Cell.fromBase64('te6cckECKgEAAzcAAQHAAQEFoBg3AgEU/wD0pBP0vPLICwMCAWIkBAIBIB8FAgEgEgYCASAJBwIRtIObZ5tnjZIwKAgAAigCASAOCgIBIAwLAHWs3caGrS4MzmdF5eotrGoq6awo7g0sxy0MSEsIzg4KL0qvJqzpDeyHBw1ozw1OzopvLE8Kj01u6sZwQAIRrj/tnm2eNkjAKA0AAicCAUgRDwIQqF7bPNs8bJEoEAACJgAQqr7tRNDSAAECASAaEwIBIBgUAgEgFhUAua3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAIRrlztnm2eNkjAKBcAAiUCEbEmNs82zxskYCgZAAIkAgEgHRsCEbE+9s82zxskYCgcAAIjAhGxNrbPNs8bJGAoHgACIgIBbiIgAhGxTXbPNs8bJGAoIQACIQIRsUU2zzbPGyRgKCMAAiADetAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFUY2zzy4IIoJiUAmMj4QwHMfwHKAFWAUImBAQHPABaBAQHPABSBAQHPAALIgQEBzwCBAQHPABKBAQHPAALIgQEBzwATgQEBzwATgQEBzwDJWMzJAczJ7VQBdAGSMH/gcCHXScIflTAg1wsf3iDAACLXScEhsJJbf+CCEDKbpXe6jo/bPGwZMjg4OTk5OTk5AX/gMHAnAI7THwGCEDKbpXe68uCBgQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXAIEBAdcA1DDQgQEB1wCBAQHXAIEBAdcAMBBpEGgQZwG07UTQ1AH4Y9IAAY48gQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXAIEBAdcA1DDQgQEB1wCBAQHXAIEBAdcAMBBpEGgQZ2wZ4Pgo1wsKgwm68uCJ2zwJ0VUHKQB0gQEB1wCBAQHXAIEBAdcA1AHQgQEB1wCBAQHXAIEBAdcA1DDQgQEB1wCBAQHXAIEBAdcAMBBpEGgQZy+R5gE='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initSerializationTester_init_args({ $$type: 'SerializationTester_init_args', a, b, c, d, e, f, g, h, i })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const SerializationTester_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const SerializationTester_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, - {"name":"Update","header":849061239,"fields":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"c","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"d","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"e","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"f","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"g","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"h","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"i","type":{"kind":"simple","type":"int","optional":false,"format":257}}]}, -] - -const SerializationTester_getters: ABIGetter[] = [ - {"name":"getA","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getB","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getC","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getD","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getE","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getF","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getG","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getH","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"getI","arguments":[],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const SerializationTester_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, - {"receiver":"internal","message":{"kind":"typed","type":"Update"}}, -] - -export class SerializationTester implements Contract { - - static async init(a: bigint, b: bigint, c: bigint, d: bigint, e: bigint, f: bigint, g: bigint, h: bigint, i: bigint) { - return await SerializationTester_init(a, b, c, d, e, f, g, h, i); - } - - static async fromInit(a: bigint, b: bigint, c: bigint, d: bigint, e: bigint, f: bigint, g: bigint, h: bigint, i: bigint) { - const init = await SerializationTester_init(a, b, c, d, e, f, g, h, i); - const address = contractAddress(0, init); - return new SerializationTester(address, init); - } - - static fromAddress(address: Address) { - return new SerializationTester(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: SerializationTester_types, - getters: SerializationTester_getters, - receivers: SerializationTester_receivers, - errors: SerializationTester_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null | Update) { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (message && typeof message === 'object' && !(message instanceof Slice) && message.$$type === 'Update') { - body = beginCell().store(storeUpdate(message)).endCell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getGetA(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getA', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetB(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getB', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetC(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getC', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetD(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getD', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetE(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getE', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetF(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getF', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetG(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getG', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetH(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getH', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getGetI(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('getI', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/strings_StringsTester.abi b/src/test/features/output/strings_StringsTester.abi deleted file mode 100644 index 875c4c4f9..000000000 --- a/src/test/features/output/strings_StringsTester.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"StringsTester","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}}],"getters":[{"name":"constantString","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"constantStringUnicode","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"constantStringUnicodeLong","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"dynamicStringCell","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}},{"name":"dynamicCommentCell","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}},{"name":"dynamicCommentCellLarge","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}},{"name":"dynamicCommentStringLarge","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"stringWithNumber","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"stringWithNegativeNumber","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"stringWithLargeNumber","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"stringWithFloat","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}},{"name":"base64","arguments":[],"returnType":{"kind":"simple","type":"slice","optional":false}},{"name":"processBase64","arguments":[{"name":"src","type":{"kind":"simple","type":"string","optional":false}}],"returnType":{"kind":"simple","type":"slice","optional":false}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/strings_StringsTester.code.boc b/src/test/features/output/strings_StringsTester.code.boc deleted file mode 100644 index 9184a599c..000000000 Binary files a/src/test/features/output/strings_StringsTester.code.boc and /dev/null differ diff --git a/src/test/features/output/strings_StringsTester.code.boc.html b/src/test/features/output/strings_StringsTester.code.boc.html deleted file mode 100644 index 6697f5d15..000000000 --- a/src/test/features/output/strings_StringsTester.code.boc.html +++ /dev/null @@ -1,884 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_68752;
-            ..DECLPROC ?fun_71427;
-            ..DECLPROC ?fun_74191;
-            ..DECLPROC ?fun_74771;
-            ..DECLPROC ?fun_80064;
-            ..DECLPROC ?fun_82914;
-            ..DECLPROC ?fun_93932;
-            ..DECLPROC ?fun_94811;
-            ..DECLPROC ?fun_94939;
-            ..DECLPROC ?fun_104680;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_122225;
-            ..DECLPROC ?fun_122531;
-            ..DECLPROC ?fun_128362;
-            ..DECLPROC ?fun_ref_09c677a83b1d2ee5;
-            ..DECLPROC ?fun_ref_16eba3650fe2fac3;
-            ..DECLPROC ?fun_ref_1ed45e6f03bcfe90;
-            ..DECLPROC ?fun_ref_2409c879affe1754;
-            ..DECLPROC ?fun_ref_28340b958e3c6ebe;
-            ..DECLPROC ?fun_ref_364de9562794919e;
-            ..DECLPROC ?fun_ref_36963ffd92a5144e;
-            ..DECLPROC ?fun_ref_3aa3bbd48d04b029;
-            ..DECLPROC ?fun_ref_4294c2e125656820;
-            ..DECLPROC ?fun_ref_59f9b5cbce153952;
-            ..DECLPROC ?fun_ref_620e72b604dfd25d;
-            ..DECLPROC ?fun_ref_7d7b7a07ccd0560c;
-            ..DECLPROC ?fun_ref_8155dba7e75146b7;
-            ..DECLPROC ?fun_ref_a05e0042bce184fb;
-            ..DECLPROC ?fun_ref_a2813468f47d741c;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            ..DECLPROC ?fun_ref_c4ca319c5a91bc8b;
-            ..DECLPROC ?fun_ref_c67dd3f635e80121;
-            ..DECLPROC ?fun_ref_d1d22db60adabf04;
-            ..DECLPROC ?fun_ref_e7da95749b4d4329;
-            x1..recv_internal PROC:<{
-            18x1....s0 s1 XCHG
-            118x1....CTOS
-            26x1....4 LDU
-            18x1....s0 s1 XCHG
-            18x1....1 PUSHINT
-            18x1....AND
-            18x1....-1 MULCONST
-            18x1....s0 s1 XCHG
-            26x1....LDMSGADDR
-            18x1....s0 s1 XCHG
-            18x1....s0 PUSH
-            26x1....SBITS
-            34x1....267 PUSHINT
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            18x1....s0 PUSH
-            34x1....11 PLDU
-            18x1....s0 PUSH
-            34x1....1279 PUSHINT
-            18x1....EQUAL
-            34x1....137 THROWIF
-            26x1....10 PUSHPOW2
-            18x1....EQUAL
-            34x1....136 THROWIFNOT
-            34x1....s0 s6 s4 PUXCPU
-            18x1....s0 s3 XCHG
-            30x1....4 TUPLE
-            28x1....1 SETGLOBVAR
-            18x1....s0 s2 XCHG
-            29x1....2 SETGLOBVAR
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x1....ROTREV
-            126x1....?fun_ref_364de9562794919e INLINECALLDICT
-            34x1....130 THROWIFNOT
-            18x1....s0 POP
-            18x1....NEWC
-            26x1....3 GETGLOBVAR
-            18x1....s0 s1 XCHG
-            18x1....STREF
-            18x1....-1 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....1 STI
-            518x1....ENDC
-            26x1....c4 POP
-            x1..}>
-            x1..?fun_68752 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_59f9b5cbce153952 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_71427 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_16eba3650fe2fac3 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_74191 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_620e72b604dfd25d INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_74771 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_e7da95749b4d4329 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_80064 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_c67dd3f635e80121 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_82914 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_4294c2e125656820 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_93932 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_1ed45e6f03bcfe90 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_94811 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_c4ca319c5a91bc8b INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_94939 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_8155dba7e75146b7 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_104680 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_3aa3bbd48d04b029 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D62346E695769384165784E51653633767A35546F546F684555377568336B47736D5A436B6472505241456D3882_} PUSHSLICE
-            ..}>
-            x1..?fun_122225 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_d1d22db60adabf04 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_122531 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_28340b958e3c6ebe INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x4..?fun_128362 PROC:<{
-            126x4....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x4....s0 s1 XCHG
-            126x4....?fun_ref_36963ffd92a5144e INLINECALLDICT
-            18x4....s1 POP
-            x4..}>
-            x1..?fun_ref_09c677a83b1d2ee5 PROCREF:<{
-            18x1....s0 PUSH
-            26x1....1 LESSINT
-            18x1....s1 PUSH
-            26x1....77 GTINT
-            18x1....OR
-            34x1....134 THROWIF
-            18x1....NEWC
-            18x1....s2 PUSH
-            26x1....0 LESSINT
-            18x1....<{
-            ......45 PUSHINT
-            ......s0 s1 XCHG
-            ......8 STU
-            ......s0 s2 XCHG
-            ......-1 MULCONST
-            ......s0 s2 XCHG
-            18x1....}> PUSHCONT
-            18x1....IF
-            18x1....-1 PUSHINT
-            18x1....0 PUSHINT
-            26x1....0 TUPLE
-            18x1....s0 s4 XCHG
-            26x1....<{
-            18x1......s0 s4 XCHG
-            18x1......10 PUSHINT
-            26x1......false 0 false 3 0 DIV
-            18x1......s0 PUSH
-            26x1......0 EQINT
-            26x1......s3 s1 PUXC
-            18x1......AND
-            18x1......NOT
-            18x1......<{
-            18x1........0 PUSHINT
-            18x1........s3 POP
-            26x1........48 ADD
-            18x1........s1 s4 XCHG
-            27x1........TPUSH
-            18x1........s0 s4 XCHG
-            18x1........INC
-            18x1........s0 s4 XCHG
-            18x1........s0 s3 XCHG
-            18x1......}> PUSHCONT
-            18x1......<{
-            ........s0 POP
-            18x1......}> PUSHCONT
-            18x1......IFELSE
-            18x1......s0 s4 XCHG
-            26x1....}> PUSHCONT
-            18x1....REPEAT
-            18x1....s0 s1 XCHG
-            18x1....NOT
-            18x1....<{
-            18x1......s0 s2 XCHG
-            26x1......46 PUSHINT
-            28x1......TPUSH
-            18x1......s0 s2 XCHG
-            18x1......INC
-            18x1....}> PUSHCONT
-            18x1....IF
-            26x1....<{
-            18x1......s0 s3 XCHG
-            18x1......10 PUSHINT
-            26x1......false 0 false 3 0 DIV
-            26x1......48 ADD
-            18x1......s1 s3 XCHG
-            29x1......TPUSH
-            18x1......s0 s3 XCHG
-            18x1......INC
-            18x1......s2 PUSH
-            26x1......0 EQINT
-            26x1......s3 s4 XCHG
-            26x1....}> PUSHCONT
-            18x1....UNTIL
-            18x1....s3 POP
-            18x1....s2 PUSH
-            18x1....-1 ADD
-            18x1....s0 s3 XCHG
-            18x1....<{
-            26x3......s1 s2 PUSH2
-            26x3......INDEXVAR
-            18x3......s0 s1 XCHG
-            26x3......8 STU
-            18x3......s0 s2 XCHG
-            18x3......-1 ADD
-            18x3......s0 s2 XCHG
-            18x1....}> PUSHCONT
-            18x1....REPEAT
-            26x1....2 1 BLKDROP2
-            518x1....ENDC
-            118x1....CTOS
-            x1..}>
-            x1..?fun_ref_16eba3650fe2fac3 PROCREF:<{
-            28x1....x{545746756553426F5957356B637942745957746C494778705A32683049486476636D737582_} PUSHSLICE
-            126x1....?fun_ref_7d7b7a07ccd0560c INLINECALLDICT
-            x1..}>
-            x1..?fun_ref_1ed45e6f03bcfe90 PROCREF:<{
-            22x1....x{7465737420737472696E678} PUSHSLICE
-            x1..}>
-            x5..?fun_ref_2409c879affe1754 PROCREF:<{
-            18x5....NEWC
-            18x5....s1 PUSH
-            26x5....0 LESSINT
-            18x5....<{
-            26x1......45 PUSHINT
-            18x1......s0 s1 XCHG
-            26x1......8 STU
-            18x1......s0 s1 XCHG
-            18x1......-1 MULCONST
-            18x1......s0 s1 XCHG
-            18x5....}> PUSHCONT
-            18x5....IF
-            18x5....s1 PUSH
-            23x5....931322574615478515625 PUSHINT
-            26x5....30 LSHIFT
-            18x5....LESS
-            26x5....<{
-            18x4......0 PUSHINT
-            18x4......s0 PUSH
-            18x4......1 PUSHINT
-            26x4......<{
-            18x17........s0 s4 XCHG
-            18x17........10 PUSHINT
-            26x17........false 0 false 3 0 DIV
-            26x17........48 ADD
-            18x17........s5 PUSH
-            18x17........MUL
-            18x17........s1 s2 XCHG
-            18x17........ADD
-            18x17........s0 s4 XCHG
-            26x17........8 LSHIFT
-            18x17........s0 s2 XCHG
-            18x17........INC
-            18x17........s1 PUSH
-            26x17........0 EQINT
-            26x17........s5 s3 s0 XCHG3
-            26x4......}> PUSHCONT
-            18x4......UNTIL
-            18x4......s0 POP
-            18x4......s3 POP
-            26x4......3 LSHIFT
-            26x4......STUX
-            26x5....}> PUSHCONT
-            26x5....<{
-            26x1......0 TUPLE
-            18x1......0 PUSHINT
-            26x1......<{
-            18x61........s3 PUSH
-            18x61........10 PUSHINT
-            26x61........false 0 false 2 0 DIV
-            18x61........s1 s2 XCHG
-            87x61........TPUSH
-            18x61........s0 s1 XCHG
-            18x61........INC
-            18x61........s0 s3 XCHG
-            18x61........10 PUSHINT
-            26x61........false 0 false 1 0 DIV
-            18x61........s0 PUSH
-            26x61........0 EQINT
-            18x61........s1 s4 XCHG
-            26x1......}> PUSHCONT
-            18x1......UNTIL
-            18x1......s3 POP
-            18x1......s2 PUSH
-            18x1......-1 ADD
-            18x1......s0 s3 XCHG
-            18x1......<{
-            26x61........s0 s2 PUSH2
-            26x61........INDEXVAR
-            26x61........48 ADD
-            18x61........ROT
-            26x61........8 STU
-            18x61........s0 s2 XCHG
-            18x61........-1 ADD
-            18x61........ROTREV
-            18x1......}> PUSHCONT
-            18x1......REPEAT
-            18x1......s0 POP
-            18x1......s1 POP
-            26x5....}> PUSHCONT
-            18x5....IFELSE
-            518x5....ENDC
-            118x5....CTOS
-            x5..}>
-            x1..?fun_ref_28340b958e3c6ebe PROCREF:<{
-            18x1....NEWC
-            18x1....0 PUSHINT
-            18x1....s0 s1 XCHG
-            26x1....32 STU
-            26x1....0 TUPLE
-            18x1....s0 s1 XCHG
-            27x1....TPUSH
-            18x1....NULL
-            28x1....TPUSH
-            28x1....x{536F6D657468696E6720736F6D657468696E6720776F726C642182_} PUSHSLICE
-            126x1....?fun_ref_a2813468f47d741c INLINECALLDICT
-            28x1....2 UNTUPLE
-            18x1....s0 s1 XCHG
-            518x1....ENDC
-            18x1....<{
-            18x1......s1 PUSH
-            18x1......ISNULL
-            18x1......NOT
-            18x1....}> PUSHCONT
-            18x1....<{
-            ......s0 s1 XCHG
-            ......2 UNTUPLE
-            ......ROTREV
-            ......STREF
-            ......ENDC
-            18x1....}> PUSHCONT
-            18x1....WHILE
-            18x1....s1 POP
-            x1..}>
-            x2..?fun_ref_364de9562794919e PROCREF:<{
-            18x2....s0 s1 XCHG
-            18x2....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x2....}> PUSHCONT
-            18x2....IFJMP
-            18x2....0 PUSHINT
-            18x2....s1 PUSH
-            26x2....SBITS
-            26x2....31 GTINT
-            18x2....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            18x2....}> PUSHCONT
-            18x2....IF
-            26x2....0 EQINT
-            18x2....s0 s1 XCHG
-            26x2....SBITS
-            26x2....33 LESSINT
-            18x2....AND
-            18x2....<{
-            18x2......-1 PUSHINT
-            18x2....}> PUSHCONT
-            18x2....IFJMP
-            ....0 PUSHINT
-            x2..}>
-            x4..?fun_ref_36963ffd92a5144e PROCREF:<{
-            126x4....?fun_ref_7d7b7a07ccd0560c INLINECALLDICT
-            x4..}>
-            x1..?fun_ref_3aa3bbd48d04b029 PROCREF:<{
-            118x1....x{D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F918020D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8}
-             x{D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220}
-              x{D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020}
-               x{F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD1}
-                x{80D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5}
-                 x{D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180} PUSHREFSLICE
-            x1..}>
-            x1..?fun_ref_4294c2e125656820 PROCREF:<{
-            18x1....NEWC
-            26x1....0 TUPLE
-            18x1....s0 s1 XCHG
-            27x1....TPUSH
-            18x1....NULL
-            28x1....TPUSH
-            28x1....x{48656C6C6F2C20796F75722062616C616E63653A2082_} PUSHSLICE
-            126x1....?fun_ref_a2813468f47d741c INLINECALLDICT
-            26x1....-123 PUSHINT
-            126x1....?fun_ref_2409c879affe1754 INLINECALLDICT
-            51x1....?fun_ref_a2813468f47d741c INLINECALLDICT
-            28x1....2 UNTUPLE
-            18x1....s0 s1 XCHG
-            518x1....ENDC
-            18x1....<{
-            18x1......s1 PUSH
-            18x1......ISNULL
-            18x1......NOT
-            18x1....}> PUSHCONT
-            18x1....<{
-            ......s0 s1 XCHG
-            ......2 UNTUPLE
-            ......ROTREV
-            ......STREF
-            ......ENDC
-            18x1....}> PUSHCONT
-            18x1....WHILE
-            18x1....s1 POP
-            118x1....CTOS
-            x1..}>
-            x1..?fun_ref_59f9b5cbce153952 PROCREF:<{
-            18x1....NEWC
-            26x1....0 TUPLE
-            18x1....s0 s1 XCHG
-            27x1....TPUSH
-            18x1....NULL
-            28x1....TPUSH
-            28x1....x{48656C6C6F2C20796F75722062616C616E63653A2082_} PUSHSLICE
-            126x1....?fun_ref_a2813468f47d741c INLINECALLDICT
-            26x1....123 PUSHINT
-            126x1....?fun_ref_2409c879affe1754 INLINECALLDICT
-            51x1....?fun_ref_a2813468f47d741c INLINECALLDICT
-            28x1....2 UNTUPLE
-            18x1....s0 s1 XCHG
-            518x1....ENDC
-            18x1....<{
-            18x1......s1 PUSH
-            18x1......ISNULL
-            18x1......NOT
-            18x1....}> PUSHCONT
-            18x1....<{
-            ......s0 s1 XCHG
-            ......2 UNTUPLE
-            ......ROTREV
-            ......STREF
-            ......ENDC
-            18x1....}> PUSHCONT
-            18x1....WHILE
-            18x1....s1 POP
-            118x1....CTOS
-            x1..}>
-            x1..?fun_ref_620e72b604dfd25d PROCREF:<{
-            18x1....NEWC
-            26x1....0 TUPLE
-            18x1....s0 s1 XCHG
-            27x1....TPUSH
-            18x1....NULL
-            28x1....TPUSH
-            22x1....x{48656C6C6F218} PUSHSLICE
-            126x1....?fun_ref_a2813468f47d741c INLINECALLDICT
-            118x1....x{D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F918020D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8}
-             x{D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220}
-              x{D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020}
-               x{F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD1}
-                x{80D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5}
-                 x{D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180} PUSHREFSLICE
-            51x1....?fun_ref_a2813468f47d741c INLINECALLDICT
-            28x1....2 UNTUPLE
-            18x1....s0 s1 XCHG
-            518x1....ENDC
-            18x1....<{
-            18x6......s1 PUSH
-            18x6......ISNULL
-            18x6......NOT
-            18x1....}> PUSHCONT
-            18x1....<{
-            18x5......s0 s1 XCHG
-            28x5......2 UNTUPLE
-            18x5......ROTREV
-            18x5......STREF
-            518x5......ENDC
-            18x1....}> PUSHCONT
-            18x1....WHILE
-            18x1....s1 POP
-            118x1....CTOS
-            x1..}>
-            x5..?fun_ref_7d7b7a07ccd0560c PROCREF:<{
-            18x5....s0 PUSH
-            26x5....SBITS
-            26x5....3 RSHIFT
-            18x5....NEWC
-            18x5....s0 s1 XCHG
-            26x5....<{
-            18x172......s0 s1 XCHG
-            26x172......8 LDU
-            18x172......s1 PUSH
-            26x172......64 GTINT
-            18x172......<{
-            18x134........s1 PUSH
-            26x134........91 LESSINT
-            18x172......}> PUSHCONT
-            18x172......<{
-            18x38........0 PUSHINT
-            18x172......}> PUSHCONT
-            18x172......IFELSE
-            18x172......<{
-            18x69........s0 s1 XCHG
-            26x69........-65 ADD
-            18x69........ROT
-            26x69........6 STU
-            18x172......}> PUSHCONT
-            26x172......<{
-            18x103........s1 PUSH
-            26x103........96 GTINT
-            18x103........<{
-            18x65..........s1 PUSH
-            26x65..........123 LESSINT
-            18x103........}> PUSHCONT
-            18x103........<{
-            18x38..........0 PUSHINT
-            18x103........}> PUSHCONT
-            18x103........IFELSE
-            18x103........<{
-            18x65..........s0 s1 XCHG
-            26x65..........-71 ADD
-            18x65..........ROT
-            26x65..........6 STU
-            18x103........}> PUSHCONT
-            26x103........<{
-            18x38..........s1 PUSH
-            26x38..........47 GTINT
-            18x38..........<{
-            18x36............s1 PUSH
-            26x36............58 LESSINT
-            18x38..........}> PUSHCONT
-            18x38..........<{
-            18x2............0 PUSHINT
-            18x38..........}> PUSHCONT
-            18x38..........IFELSE
-            18x38..........<{
-            18x30............s0 s1 XCHG
-            26x30............4 ADD
-            18x30............ROT
-            26x30............6 STU
-            18x38..........}> PUSHCONT
-            26x38..........<{
-            18x8............s1 PUSH
-            26x8............45 EQINT
-            18x8............<{
-            ..............-1 PUSHINT
-            18x8............}> PUSHCONT
-            18x8............<{
-            18x8..............s1 PUSH
-            26x8..............43 EQINT
-            18x8............}> PUSHCONT
-            18x8............IFELSE
-            18x8............<{
-            26x1..............62 PUSHINT
-            18x1..............s2 POP
-            18x1..............s0 s2 XCHG
-            26x1..............6 STU
-            18x8............}> PUSHCONT
-            26x8............<{
-            18x7..............s1 PUSH
-            26x7..............95 EQINT
-            18x7..............<{
-            ................-1 PUSHINT
-            18x7..............}> PUSHCONT
-            18x7..............<{
-            18x7................s1 PUSH
-            26x7................47 EQINT
-            18x7..............}> PUSHCONT
-            18x7..............IFELSE
-            18x7..............<{
-            26x1................63 PUSHINT
-            18x1................s2 POP
-            18x1................s0 s2 XCHG
-            26x1................6 STU
-            18x7..............}> PUSHCONT
-            18x7..............<{
-            18x6................s0 s1 XCHG
-            26x6................61 EQINT
-            18x6................<{
-            ..................134 THROW
-            18x6................}> PUSHCONT
-            18x6................IFNOT
-            18x6................s0 s1 XCHG
-            18x7..............}> PUSHCONT
-            18x7..............IFELSE
-            26x8............}> PUSHCONT
-            18x8............IFELSE
-            26x38..........}> PUSHCONT
-            18x38..........IFELSE
-            26x103........}> PUSHCONT
-            18x103........IFELSE
-            26x172......}> PUSHCONT
-            18x172......IFELSE
-            26x5....}> PUSHCONT
-            18x5....REPEAT
-            18x5....s1 POP
-            18x5....s0 PUSH
-            26x5....BBITS
-            18x5....s0 PUSH
-            34x5....false 1 true 2 0 DIV
-            ....s0 s2 XCHG
-            18x5....s0 PUSH
-            26x5....0 NEQINT
-            18x5....<{
-            18x4......s0 s2 XCHG
-            518x4......ENDC
-            118x4......CTOS
-            18x4......s0 s2 XCHG
-            18x4......SUB
-            26x4......LDSLICEX
-            18x4......s0 POP
-            18x5....}> PUSHCONT
-            18x5....IFJMP
-            18x1....DROP2
-            518x1....ENDC
-            118x1....CTOS
-            x5..}>
-            x1..?fun_ref_8155dba7e75146b7 PROCREF:<{
-            28x1....x{D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F918082_} PUSHSLICE
-            x1..}>
-            x344..?fun_ref_a05e0042bce184fb PROCREF:<{
-            26x344....c4 PUSH
-            118x344....CTOS
-            18x344....LDREF
-            18x344....s0 s1 XCHG
-            30x344....3 SETGLOBVAR
-            26x344....1 LDI
-            18x344....s0 POP
-            18x344....<{
-            18x273......NULL
-            18x344....}> PUSHCONT
-            18x344....IFJMP
-            26x71....MYADDR
-            34x71....11 PLDU
-            26x71....10 PUSHPOW2
-            18x71....EQUAL
-            34x71....137 THROWIFNOT
-            126x71....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x344..}>
-            x12..?fun_ref_a2813468f47d741c PROCREF:<{
-            18x12....s0 PUSH
-            26x12....SREFS
-            18x12....s1 PUSH
-            26x12....SBITS
-            18x12....<{
-            18x44......s0 PUSH
-            26x44......0 GTINT
-            18x44......s2 PUSH
-            26x44......0 GTINT
-            18x44......OR
-            18x12....}> PUSHCONT
-            26x12....<{
-            18x32......s0 s3 XCHG
-            28x32......2 UNTUPLE
-            26x32......127 PUSHINT
-            18x32......s2 PUSH
-            26x32......BBITS
-            26x32......3 RSHIFT
-            18x32......SUB
-            18x32......s0 s5 XCHG
-            26x32......3 RSHIFT
-            26x32......s5 s5 XCPU
-            26x32......MIN
-            18x32......s0 PUSH
-            26x32......0 GTINT
-            18x32......<{
-            18x32........s0 PUSH
-            26x32........3 LSHIFT
-            18x32........s1 s5 XCHG
-            26x32........LDSLICEX
-            26x32........s3 s3 XCHG2
-            26x32........STSLICER
-            26x32........s0 s1 s4 XCHG3
-            18x32......}> PUSHCONT
-            18x32......IF
-            18x32......ROTREV
-            28x32......2 TUPLE
-            26x32......s4 s1 PUSH2
-            18x32......SUB
-            26x32......0 GTINT
-            18x32......<{
-            18x10........NEWC
-            18x10........s0 s1 XCHG
-            28x10........2 TUPLE
-            26x10........s4 s4 XCHG2
-            18x10........SUB
-            26x10........3 LSHIFT
-            18x32......}> PUSHCONT
-            26x32......<{
-            18x22........s1 POP
-            18x22........s3 POP
-            26x22........0 GTINT
-            18x22........<{
-            18x10..........LDREF
-            18x10..........s0 POP
-            118x10..........CTOS
-            18x10..........s0 PUSH
-            26x10..........SREFS
-            18x10..........s1 PUSH
-            26x10..........SBITS
-            18x22........}> PUSHCONT
-            18x22........<{
-            18x12..........0 PUSHINT
-            18x12..........s0 PUSH
-            18x22........}> PUSHCONT
-            18x22........IFELSE
-            26x32......}> PUSHCONT
-            18x32......IFELSE
-            26x12....}> PUSHCONT
-            18x12....WHILE
-            26x12....3 BLKDROP
-            x12..}>
-            x80..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x80....NULL
-            x80..}>
-            x1..?fun_ref_c4ca319c5a91bc8b PROCREF:<{
-            18x1....NEWC
-            26x1....0 TUPLE
-            18x1....s0 s1 XCHG
-            27x1....TPUSH
-            18x1....NULL
-            28x1....TPUSH
-            28x1....x{48656C6C6F2C20796F75722062616C616E63653A2082_} PUSHSLICE
-            126x1....?fun_ref_a2813468f47d741c INLINECALLDICT
-            23x1....867361737988403547205962240695953369140625 PUSHINT
-            26x1....60 LSHIFT
-            126x1....?fun_ref_2409c879affe1754 INLINECALLDICT
-            51x1....?fun_ref_a2813468f47d741c INLINECALLDICT
-            28x1....2 UNTUPLE
-            18x1....s0 s1 XCHG
-            518x1....ENDC
-            18x1....<{
-            18x1......s1 PUSH
-            18x1......ISNULL
-            18x1......NOT
-            18x1....}> PUSHCONT
-            18x1....<{
-            ......s0 s1 XCHG
-            ......2 UNTUPLE
-            ......ROTREV
-            ......STREF
-            ......ENDC
-            18x1....}> PUSHCONT
-            18x1....WHILE
-            18x1....s1 POP
-            118x1....CTOS
-            x1..}>
-            x1..?fun_ref_c67dd3f635e80121 PROCREF:<{
-            26x1....95 PUSHINT
-            18x1....1 PUSHINT
-            126x1....?fun_ref_09c677a83b1d2ee5 INLINECALLDICT
-            x1..}>
-            x1..?fun_ref_d1d22db60adabf04 PROCREF:<{
-            18x1....NEWC
-            26x1....0 TUPLE
-            18x1....s0 s1 XCHG
-            27x1....TPUSH
-            18x1....NULL
-            28x1....TPUSH
-            22x1....x{48656C6C6F218} PUSHSLICE
-            126x1....?fun_ref_a2813468f47d741c INLINECALLDICT
-            28x1....2 UNTUPLE
-            18x1....s0 s1 XCHG
-            518x1....ENDC
-            18x1....<{
-            18x1......s1 PUSH
-            18x1......ISNULL
-            18x1......NOT
-            18x1....}> PUSHCONT
-            18x1....<{
-            ......s0 s1 XCHG
-            ......2 UNTUPLE
-            ......ROTREV
-            ......STREF
-            ......ENDC
-            18x1....}> PUSHCONT
-            18x1....WHILE
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_ref_e7da95749b4d4329 PROCREF:<{
-            18x1....NEWC
-            26x1....0 TUPLE
-            18x1....s0 s1 XCHG
-            27x1....TPUSH
-            18x1....NULL
-            28x1....TPUSH
-            22x1....x{48656C6C6F218} PUSHSLICE
-            126x1....?fun_ref_a2813468f47d741c INLINECALLDICT
-            118x1....x{D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F918020D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8}
-             x{D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220}
-              x{D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020}
-               x{F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD1}
-                x{80D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5}
-                 x{D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180} PUSHREFSLICE
-            51x1....?fun_ref_a2813468f47d741c INLINECALLDICT
-            28x1....2 UNTUPLE
-            18x1....s0 s1 XCHG
-            518x1....ENDC
-            18x1....<{
-            18x6......s1 PUSH
-            18x6......ISNULL
-            18x6......NOT
-            18x1....}> PUSHCONT
-            18x1....<{
-            18x5......s0 s1 XCHG
-            28x5......2 UNTUPLE
-            18x5......ROTREV
-            18x5......STREF
-            518x5......ENDC
-            18x1....}> PUSHCONT
-            18x1....WHILE
-            18x1....s1 POP
-            x1..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/strings_StringsTester.code.fc b/src/test/features/output/strings_StringsTester.code.fc deleted file mode 100644 index d3a7c6aa3..000000000 --- a/src/test/features/output/strings_StringsTester.code.fc +++ /dev/null @@ -1,260 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "strings_StringsTester.headers.fc"; -#include "strings_StringsTester.stdlib.fc"; -#include "strings_StringsTester.constants.fc"; -#include "strings_StringsTester.storage.fc"; - -;; -;; Contract StringsTester functions -;; - -tuple $StringsTester$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -(tuple, slice) $StringsTester$_fun_constantString(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, __gen_slice_string_74d626e0f3941e966793bdd5fcf327bb9bff00847b32ebc108c9133956147c7a()); -} - -(tuple, slice) $StringsTester$_fun_constantStringUnicode(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, __gen_slice_string_710059deca558715c18495640cfb369b538848c2f8fb3b58a43d7acb2d7d7c4b()); -} - -(tuple, slice) $StringsTester$_fun_constantStringUnicodeLong(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, __gen_slice_string_96c344cdade1da5e97412fd081c6d3cd5e1735a2085600e21bc23ed337a77f60()); -} - -(tuple, cell) $StringsTester$_fun_dynamicStringCell(tuple $self) impure inline_ref { - var ($self) = $self; - tuple $b = __tact_string_builder_start_string(); - $b~__tact_string_builder_append(__gen_slice_string_caa2a2c6f920cdf334acf8f83ab9ef931b272c5b229f5c537570e420477e1a54()); - return ($self, __tact_string_builder_end($b)); -} - -(tuple, cell) $StringsTester$_fun_dynamicCommentCell(tuple $self) impure inline_ref { - var ($self) = $self; - tuple $b = __tact_string_builder_start_comment(); - $b~__tact_string_builder_append(__gen_slice_string_7e88585a2e68d61d03c94bcfa99c6306015b0327fc9e7d4adb9c5cb597ade16f()); - return ($self, __tact_string_builder_end($b)); -} - -(tuple, cell) $StringsTester$_fun_dynamicCommentCellLarge(tuple $self) impure inline_ref { - var ($self) = $self; - tuple $b = __tact_string_builder_start_string(); - $b~__tact_string_builder_append(__gen_slice_string_caa2a2c6f920cdf334acf8f83ab9ef931b272c5b229f5c537570e420477e1a54()); - $b~__tact_string_builder_append(__gen_slice_string_96c344cdade1da5e97412fd081c6d3cd5e1735a2085600e21bc23ed337a77f60()); - return ($self, __tact_string_builder_end($b)); -} - -(tuple, slice) $StringsTester$_fun_dynamicCommentStringLarge(tuple $self) impure inline_ref { - var ($self) = $self; - tuple $b = __tact_string_builder_start_string(); - $b~__tact_string_builder_append(__gen_slice_string_caa2a2c6f920cdf334acf8f83ab9ef931b272c5b229f5c537570e420477e1a54()); - $b~__tact_string_builder_append(__gen_slice_string_96c344cdade1da5e97412fd081c6d3cd5e1735a2085600e21bc23ed337a77f60()); - return ($self, __tact_string_builder_end_slice($b)); -} - -(tuple, slice) $StringsTester$_fun_stringWithNumber(tuple $self) impure inline_ref { - var ($self) = $self; - tuple $b = __tact_string_builder_start_string(); - $b~__tact_string_builder_append(__gen_slice_string_03dd40537be2dc6a7f0dc501d655369d5bc3f46f2ef4b2badd4d288d457444e9()); - $b~__tact_string_builder_append(__tact_int_to_string(123)); - return ($self, __tact_string_builder_end_slice($b)); -} - -(tuple, slice) $StringsTester$_fun_stringWithNegativeNumber(tuple $self) impure inline_ref { - var ($self) = $self; - tuple $b = __tact_string_builder_start_string(); - $b~__tact_string_builder_append(__gen_slice_string_03dd40537be2dc6a7f0dc501d655369d5bc3f46f2ef4b2badd4d288d457444e9()); - $b~__tact_string_builder_append(__tact_int_to_string((- 123))); - return ($self, __tact_string_builder_end_slice($b)); -} - -(tuple, slice) $StringsTester$_fun_stringWithLargeNumber(tuple $self) impure inline_ref { - var ($self) = $self; - tuple $b = __tact_string_builder_start_string(); - $b~__tact_string_builder_append(__gen_slice_string_03dd40537be2dc6a7f0dc501d655369d5bc3f46f2ef4b2badd4d288d457444e9()); - $b~__tact_string_builder_append(__tact_int_to_string(1000000000000000000000000000000000000000000000000000000000000)); - return ($self, __tact_string_builder_end_slice($b)); -} - -(tuple, slice) $StringsTester$_fun_stringWithFloat(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, __tact_float_to_string(95, 1)); -} - -(tuple, slice) $StringsTester$_fun_base64(tuple $self) impure inline_ref { - var ($self) = $self; - return ($self, $String$_fun_fromBase64(__gen_slice_string_2a445194828b2997d031d317e7bafe3930ebc99081602b9f4b9702f288e5dc0f())); -} - -(tuple, slice) $StringsTester$_fun_processBase64(tuple $self, slice $src) impure inline_ref { - var ($self) = $self; - return ($self, $String$_fun_fromBase64($src)); -} - -;; -;; Receivers of a Contract StringsTester -;; - -((tuple), ()) %$StringsTester$_internal_empty(tuple $self) impure inline { - var $self = $self; - return ($self, ()); -} - -;; -;; Get methods of a Contract StringsTester -;; - -_ %constantString() method_id(93932) { - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_constantString(); - return res; -} - -_ %constantStringUnicode() method_id(94939) { - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_constantStringUnicode(); - return res; -} - -_ %constantStringUnicodeLong() method_id(104680) { - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_constantStringUnicodeLong(); - return res; -} - -_ %dynamicStringCell() method_id(122225) { - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_dynamicStringCell(); - return res; -} - -_ %dynamicCommentCell() method_id(122531) { - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_dynamicCommentCell(); - return res; -} - -_ %dynamicCommentCellLarge() method_id(74771) { - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_dynamicCommentCellLarge(); - return res; -} - -_ %dynamicCommentStringLarge() method_id(74191) { - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_dynamicCommentStringLarge(); - return res; -} - -_ %stringWithNumber() method_id(68752) { - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_stringWithNumber(); - return res; -} - -_ %stringWithNegativeNumber() method_id(82914) { - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_stringWithNegativeNumber(); - return res; -} - -_ %stringWithLargeNumber() method_id(94811) { - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_stringWithLargeNumber(); - return res; -} - -_ %stringWithFloat() method_id(80064) { - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_stringWithFloat(); - return res; -} - -_ %base64() method_id(71427) { - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_base64(); - return res; -} - -_ %processBase64(slice $$src) method_id(128362) { - slice $src = $$src; - var self = $StringsTester$_contract_load(); - var res = self~$StringsTester$_fun_processBase64($src); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://Qmb4niWi8AexNQe63vz5ToTohEU7uh3kGsmZCkdrPRAEm8"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract StringsTester -;; - -(tuple, int) $StringsTester$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$StringsTester$_internal_empty(); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $StringsTester$_contract_load(); - - ;; Handle operation - int handled = self~$StringsTester$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $StringsTester$_contract_store(self); -} diff --git a/src/test/features/output/strings_StringsTester.code.fif b/src/test/features/output/strings_StringsTester.code.fif deleted file mode 100644 index 50c9eaa40..000000000 --- a/src/test/features/output/strings_StringsTester.code.fif +++ /dev/null @@ -1,696 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC __tact_string_builder_start - DECLPROC __tact_string_builder_start_comment - DECLPROC __tact_string_builder_start_string - DECLPROC __tact_string_builder_end - DECLPROC __tact_string_builder_end_slice - DECLPROC __tact_string_builder_append - DECLPROC __tact_int_to_string - DECLPROC __tact_float_to_string - DECLPROC $StringsTester$_contract_init - DECLPROC $StringsTester$_contract_load - DECLPROC $StringsTester$_contract_store - DECLPROC $Builder$_fun_asSlice - DECLPROC $Slice$_fun_fromBase64 - DECLPROC $String$_fun_fromBase64 - DECLPROC $StringsTester$_fun_constantString - DECLPROC $StringsTester$_fun_constantStringUnicode - DECLPROC $StringsTester$_fun_constantStringUnicodeLong - DECLPROC $StringsTester$_fun_dynamicStringCell - DECLPROC $StringsTester$_fun_dynamicCommentCell - DECLPROC $StringsTester$_fun_dynamicCommentCellLarge - DECLPROC $StringsTester$_fun_dynamicCommentStringLarge - DECLPROC $StringsTester$_fun_stringWithNumber - DECLPROC $StringsTester$_fun_stringWithNegativeNumber - DECLPROC $StringsTester$_fun_stringWithLargeNumber - DECLPROC $StringsTester$_fun_stringWithFloat - DECLPROC $StringsTester$_fun_base64 - DECLPROC $StringsTester$_fun_processBase64 - DECLPROC %$StringsTester$_internal_empty - 93932 DECLMETHOD %constantString - 94939 DECLMETHOD %constantStringUnicode - 104680 DECLMETHOD %constantStringUnicodeLong - 122225 DECLMETHOD %dynamicStringCell - 122531 DECLMETHOD %dynamicCommentCell - 74771 DECLMETHOD %dynamicCommentCellLarge - 74191 DECLMETHOD %dynamicCommentStringLarge - 68752 DECLMETHOD %stringWithNumber - 82914 DECLMETHOD %stringWithNegativeNumber - 94811 DECLMETHOD %stringWithLargeNumber - 80064 DECLMETHOD %stringWithFloat - 71427 DECLMETHOD %base64 - 128362 DECLMETHOD %processBase64 - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $StringsTester$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - __tact_string_builder_start PROCINLINE:<{ - NIL - SWAP - TPUSH - PUSHNULL - TPUSH - }> - __tact_string_builder_start_comment PROCINLINE:<{ - NEWC - 0 PUSHINT - SWAP - 32 STU - __tact_string_builder_start INLINECALLDICT - }> - __tact_string_builder_start_string PROCINLINE:<{ - NEWC - __tact_string_builder_start INLINECALLDICT - }> - __tact_string_builder_end PROCINLINE:<{ - UNCONS - SWAP - ENDC - WHILE:<{ - OVER - ISNULL - NOT - }>DO<{ - SWAP - UNCONS - -ROT - STREF - ENDC - }> - NIP - }> - __tact_string_builder_end_slice PROCINLINE:<{ - __tact_string_builder_end INLINECALLDICT - CTOS - }> - __tact_string_builder_append PROCREF:<{ - DUP - SREFS - OVER - SBITS - WHILE:<{ - DUP - 0 GTINT - s2 PUSH - 0 GTINT - OR - }>DO<{ - s0 s3 XCHG - UNCONS - 127 PUSHINT - s2 PUSH - BBITS - 3 RSHIFT# - SUB - s0 s5 XCHG - 3 RSHIFT# - s5 s5 XCPU - MIN - DUP - 0 GTINT - IF:<{ - DUP - 3 LSHIFT# - s1 s5 XCHG - LDSLICEX - s3 s3 XCHG2 - STSLICER - s0 s1 s4 XCHG3 - }> - -ROT - CONS - s4 s1 PUSH2 - SUB - 0 GTINT - IF:<{ - NEWC - SWAP - CONS - s4 s4 XCHG2 - SUB - 3 LSHIFT# - }>ELSE<{ - NIP - s3 POP - 0 GTINT - IF:<{ - LDREF - DROP - CTOS - DUP - SREFS - OVER - SBITS - }>ELSE<{ - 0 PUSHINT - DUP - }> - }> - }> - 3 BLKDROP - }> - __tact_int_to_string PROCREF:<{ - NEWC - OVER - 0 LESSINT - IF:<{ - 45 PUSHINT - SWAP - 8 STU - SWAP - NEGATE - SWAP - }> - OVER - 1000000000000000000000000000000 PUSHINTX - LESS - IF:<{ - 0 PUSHINT - DUP - 1 PUSHINT - UNTIL:<{ - s0 s4 XCHG - 10 PUSHINT - DIVMOD - 48 ADDCONST - s5 PUSH - MUL - s1 s2 XCHG - ADD - s0 s4 XCHG - 8 LSHIFT# - s0 s2 XCHG - INC - OVER - 0 EQINT - s5 s3 s0 XCHG3 - }> - DROP - s3 POP - 3 LSHIFT# - STUX - }>ELSE<{ - NIL - 0 PUSHINT - UNTIL:<{ - s3 PUSH - 10 PUSHINT - MOD - s1 s2 XCHG - TPUSH - SWAP - INC - s0 s3 XCHG - 10 PUSHINT - DIV - DUP - 0 EQINT - s1 s4 XCHG - }> - s3 POP - s2 PUSH - DEC - s0 s3 XCHG - REPEAT:<{ - s0 s2 PUSH2 - INDEXVAR - 48 ADDCONST - ROT - 8 STU - s0 s2 XCHG - DEC - -ROT - }> - DROP - NIP - }> - ENDC - CTOS - }> - __tact_float_to_string PROCREF:<{ - DUP - 1 LESSINT - OVER - 77 GTINT - OR - 134 THROWIF - NEWC - s2 PUSH - 0 LESSINT - IF:<{ - 45 PUSHINT - SWAP - 8 STU - s0 s2 XCHG - NEGATE - s0 s2 XCHG - }> - TRUE - 0 PUSHINT - NIL - s0 s4 XCHG - REPEAT:<{ - s0 s4 XCHG - 10 PUSHINT - DIVMOD - DUP - 0 EQINT - s3 s(-1) PUXC - AND - NOT - IF:<{ - FALSE - s3 POP - 48 ADDCONST - s1 s4 XCHG - TPUSH - s0 s4 XCHG - INC - s0 s4 XCHG - s0 s3 XCHG - }>ELSE<{ - DROP - }> - s0 s4 XCHG - }> - SWAP - NOT - IF:<{ - s0 s2 XCHG - 46 PUSHINT - TPUSH - s0 s2 XCHG - INC - }> - UNTIL:<{ - s0 s3 XCHG - 10 PUSHINT - DIVMOD - 48 ADDCONST - s1 s3 XCHG - TPUSH - s0 s3 XCHG - INC - s2 PUSH - 0 EQINT - s3 s4 XCHG - }> - s3 POP - s2 PUSH - DEC - s0 s3 XCHG - REPEAT:<{ - s1 s2 PUSH2 - INDEXVAR - SWAP - 8 STU - s0 s2 XCHG - DEC - s0 s2 XCHG - }> - 2 1 BLKDROP2 - ENDC - CTOS - }> - $StringsTester$_contract_init PROCREF:<{ - PUSHNULL - }> - $StringsTester$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $StringsTester$_contract_init INLINECALLDICT - }> - $StringsTester$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $Builder$_fun_asSlice PROCINLINE:<{ - ENDC - CTOS - }> - $Slice$_fun_fromBase64 PROCREF:<{ - DUP - SBITS - 3 RSHIFT# - NEWC - SWAP - REPEAT:<{ - SWAP - 8 LDU - OVER - 64 GTINT - IF:<{ - OVER - 91 LESSINT - }>ELSE<{ - FALSE - }> - IF:<{ - SWAP - -65 ADDCONST - ROT - 6 STU - }>ELSE<{ - OVER - 96 GTINT - IF:<{ - OVER - 123 LESSINT - }>ELSE<{ - FALSE - }> - IF:<{ - SWAP - -71 ADDCONST - ROT - 6 STU - }>ELSE<{ - OVER - 47 GTINT - IF:<{ - OVER - 58 LESSINT - }>ELSE<{ - FALSE - }> - IF:<{ - SWAP - 4 ADDCONST - ROT - 6 STU - }>ELSE<{ - OVER - 45 EQINT - IF:<{ - TRUE - }>ELSE<{ - OVER - 43 EQINT - }> - IF:<{ - 62 PUSHINT - s2 POP - s0 s2 XCHG - 6 STU - }>ELSE<{ - OVER - 95 EQINT - IF:<{ - TRUE - }>ELSE<{ - OVER - 47 EQINT - }> - IF:<{ - 63 PUSHINT - s2 POP - s0 s2 XCHG - 6 STU - }>ELSE<{ - SWAP - 61 EQINT - IFNOT:<{ - 134 THROW - }> - SWAP - }> - }> - }> - }> - }> - }> - NIP - DUP - BBITS - DUP - 3 MODPOW2# - DUP - 0 NEQINT - IFJMP:<{ - s0 s2 XCHG - $Builder$_fun_asSlice INLINECALLDICT - s0 s2 XCHG - SUB - LDSLICEX - DROP - }> - 2DROP - $Builder$_fun_asSlice INLINECALLDICT - }> - $String$_fun_fromBase64 PROCINLINE:<{ - $Slice$_fun_fromBase64 INLINECALLDICT - }> - $StringsTester$_fun_constantString PROCREF:<{ - B{b5ee9c7241010101000d0000167465737420737472696e67ee608f50} B>boc - $StringsTester$_fun_constantStringUnicode PROCREF:<{ - B{b5ee9c7241010101001a000030d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d8d539ad} B>boc - $StringsTester$_fun_constantStringUnicodeLong PROCREF:<{ - B{b5ee9c72410206010002fa0001fed0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f918020d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b80101fed0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d182200201fed0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d180200301fef09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd10401fe80d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b50500dcd18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0bfd180d0b8d0b2d0b5d18220d0bcd0b8d18020f09f9180d0918e6a} B>boc - $StringsTester$_fun_dynamicStringCell PROCREF:<{ - __tact_string_builder_start_string INLINECALLDICT - B{b5ee9c7241010101000800000c48656c6c6f21a44219b3} B>boc - $StringsTester$_fun_dynamicCommentCell PROCREF:<{ - __tact_string_builder_start_comment INLINECALLDICT - B{b5ee9c7241010101001c000034536f6d657468696e6720736f6d657468696e6720776f726c64212a90ca7f} B>boc - $StringsTester$_fun_dynamicCommentCellLarge PROCREF:<{ - __tact_string_builder_start_string INLINECALLDICT - B{b5ee9c7241010101000800000c48656c6c6f21a44219b3} B>boc boc - $StringsTester$_fun_dynamicCommentStringLarge PROCREF:<{ - __tact_string_builder_start_string INLINECALLDICT - B{b5ee9c7241010101000800000c48656c6c6f21a44219b3} B>boc boc - $StringsTester$_fun_stringWithNumber PROCREF:<{ - __tact_string_builder_start_string INLINECALLDICT - B{b5ee9c7241010101001700002a48656c6c6f2c20796f75722062616c616e63653a201d628127} B>boc - $StringsTester$_fun_stringWithNegativeNumber PROCREF:<{ - __tact_string_builder_start_string INLINECALLDICT - B{b5ee9c7241010101001700002a48656c6c6f2c20796f75722062616c616e63653a201d628127} B>boc - $StringsTester$_fun_stringWithLargeNumber PROCREF:<{ - __tact_string_builder_start_string INLINECALLDICT - B{b5ee9c7241010101001700002a48656c6c6f2c20796f75722062616c616e63653a201d628127} B>boc - $StringsTester$_fun_stringWithFloat PROCREF:<{ - 95 PUSHINT - 1 PUSHINT - __tact_float_to_string INLINECALLDICT - }> - $StringsTester$_fun_base64 PROCREF:<{ - B{b5ee9c72410101010026000048545746756553426f5957356b637942745957746c494778705a32683049486476636d7375ff762436} B>boc - $StringsTester$_fun_processBase64 PROCREF:<{ - $String$_fun_fromBase64 INLINECALLDICT - }> - %$StringsTester$_internal_empty PROCINLINE:<{ - }> - %constantString PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - $StringsTester$_fun_constantString INLINECALLDICT - NIP - }> - %constantStringUnicode PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - $StringsTester$_fun_constantStringUnicode INLINECALLDICT - NIP - }> - %constantStringUnicodeLong PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - $StringsTester$_fun_constantStringUnicodeLong INLINECALLDICT - NIP - }> - %dynamicStringCell PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - $StringsTester$_fun_dynamicStringCell INLINECALLDICT - NIP - }> - %dynamicCommentCell PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - $StringsTester$_fun_dynamicCommentCell INLINECALLDICT - NIP - }> - %dynamicCommentCellLarge PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - $StringsTester$_fun_dynamicCommentCellLarge INLINECALLDICT - NIP - }> - %dynamicCommentStringLarge PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - $StringsTester$_fun_dynamicCommentStringLarge INLINECALLDICT - NIP - }> - %stringWithNumber PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - $StringsTester$_fun_stringWithNumber INLINECALLDICT - NIP - }> - %stringWithNegativeNumber PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - $StringsTester$_fun_stringWithNegativeNumber INLINECALLDICT - NIP - }> - %stringWithLargeNumber PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - $StringsTester$_fun_stringWithLargeNumber INLINECALLDICT - NIP - }> - %stringWithFloat PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - $StringsTester$_fun_stringWithFloat INLINECALLDICT - NIP - }> - %base64 PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - $StringsTester$_fun_base64 INLINECALLDICT - NIP - }> - %processBase64 PROC:<{ - $StringsTester$_contract_load INLINECALLDICT - SWAP - $StringsTester$_fun_processBase64 INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d62346e695769384165784e51653633767a35546f546f684555377568336b47736d5a436b6472505241456d38} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $StringsTester$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 0 EQINT - SWAP - SBITS - 33 LESSINT - AND - IFJMP:<{ - %$StringsTester$_internal_empty INLINECALLDICT - TRUE - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $StringsTester$_contract_load INLINECALLDICT - -ROT - $StringsTester$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $StringsTester$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/strings_StringsTester.code.rev.fif b/src/test/features/output/strings_StringsTester.code.rev.fif deleted file mode 100644 index ed9f5ea5b..000000000 --- a/src/test/features/output/strings_StringsTester.code.rev.fif +++ /dev/null @@ -1,848 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_68752; - DECLPROC ?fun_71427; - DECLPROC ?fun_74191; - DECLPROC ?fun_74771; - DECLPROC ?fun_80064; - DECLPROC ?fun_82914; - DECLPROC ?fun_93932; - DECLPROC ?fun_94811; - DECLPROC ?fun_94939; - DECLPROC ?fun_104680; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_122225; - DECLPROC ?fun_122531; - DECLPROC ?fun_128362; - DECLPROC ?fun_ref_09c677a83b1d2ee5; - DECLPROC ?fun_ref_16eba3650fe2fac3; - DECLPROC ?fun_ref_1ed45e6f03bcfe90; - DECLPROC ?fun_ref_2409c879affe1754; - DECLPROC ?fun_ref_28340b958e3c6ebe; - DECLPROC ?fun_ref_364de9562794919e; - DECLPROC ?fun_ref_36963ffd92a5144e; - DECLPROC ?fun_ref_3aa3bbd48d04b029; - DECLPROC ?fun_ref_4294c2e125656820; - DECLPROC ?fun_ref_59f9b5cbce153952; - DECLPROC ?fun_ref_620e72b604dfd25d; - DECLPROC ?fun_ref_7d7b7a07ccd0560c; - DECLPROC ?fun_ref_8155dba7e75146b7; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_a2813468f47d741c; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_c4ca319c5a91bc8b; - DECLPROC ?fun_ref_c67dd3f635e80121; - DECLPROC ?fun_ref_d1d22db60adabf04; - DECLPROC ?fun_ref_e7da95749b4d4329; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_364de9562794919e INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_68752 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_59f9b5cbce153952 INLINECALLDICT - s1 POP - }> - ?fun_71427 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_16eba3650fe2fac3 INLINECALLDICT - s1 POP - }> - ?fun_74191 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_620e72b604dfd25d INLINECALLDICT - s1 POP - }> - ?fun_74771 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_e7da95749b4d4329 INLINECALLDICT - s1 POP - }> - ?fun_80064 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_c67dd3f635e80121 INLINECALLDICT - s1 POP - }> - ?fun_82914 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_4294c2e125656820 INLINECALLDICT - s1 POP - }> - ?fun_93932 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_1ed45e6f03bcfe90 INLINECALLDICT - s1 POP - }> - ?fun_94811 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_c4ca319c5a91bc8b INLINECALLDICT - s1 POP - }> - ?fun_94939 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_8155dba7e75146b7 INLINECALLDICT - s1 POP - }> - ?fun_104680 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_3aa3bbd48d04b029 INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D62346E695769384165784E51653633767A35546F546F684555377568336B47736D5A436B6472505241456D3882_} PUSHSLICE - }> - ?fun_122225 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_d1d22db60adabf04 INLINECALLDICT - s1 POP - }> - ?fun_122531 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ?fun_ref_28340b958e3c6ebe INLINECALLDICT - s1 POP - }> - ?fun_128362 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_36963ffd92a5144e INLINECALLDICT - s1 POP - }> - ?fun_ref_09c677a83b1d2ee5 PROCREF:<{ - s0 PUSH - 1 LESSINT - s1 PUSH - 77 GTINT - OR - 134 THROWIF - NEWC - s2 PUSH - 0 LESSINT - <{ - 45 PUSHINT - s0 s1 XCHG - 8 STU - s0 s2 XCHG - -1 MULCONST - s0 s2 XCHG - }> PUSHCONT - IF - -1 PUSHINT - 0 PUSHINT - 0 TUPLE - s0 s4 XCHG - <{ - s0 s4 XCHG - 10 PUSHINT - false 0 false 3 0 DIV - s0 PUSH - 0 EQINT - s3 s1 PUXC - AND - NOT - <{ - 0 PUSHINT - s3 POP - 48 ADD - s1 s4 XCHG - TPUSH - s0 s4 XCHG - INC - s0 s4 XCHG - s0 s3 XCHG - }> PUSHCONT - <{ - s0 POP - }> PUSHCONT - IFELSE - s0 s4 XCHG - }> PUSHCONT - REPEAT - s0 s1 XCHG - NOT - <{ - s0 s2 XCHG - 46 PUSHINT - TPUSH - s0 s2 XCHG - INC - }> PUSHCONT - IF - <{ - s0 s3 XCHG - 10 PUSHINT - false 0 false 3 0 DIV - 48 ADD - s1 s3 XCHG - TPUSH - s0 s3 XCHG - INC - s2 PUSH - 0 EQINT - s3 s4 XCHG - }> PUSHCONT - UNTIL - s3 POP - s2 PUSH - -1 ADD - s0 s3 XCHG - <{ - s1 s2 PUSH2 - INDEXVAR - s0 s1 XCHG - 8 STU - s0 s2 XCHG - -1 ADD - s0 s2 XCHG - }> PUSHCONT - REPEAT - 2 1 BLKDROP2 - ENDC - CTOS - }> - ?fun_ref_16eba3650fe2fac3 PROCREF:<{ - x{545746756553426F5957356B637942745957746C494778705A32683049486476636D737582_} PUSHSLICE - ?fun_ref_7d7b7a07ccd0560c INLINECALLDICT - }> - ?fun_ref_1ed45e6f03bcfe90 PROCREF:<{ - x{7465737420737472696E678} PUSHSLICE - }> - ?fun_ref_2409c879affe1754 PROCREF:<{ - NEWC - s1 PUSH - 0 LESSINT - <{ - 45 PUSHINT - s0 s1 XCHG - 8 STU - s0 s1 XCHG - -1 MULCONST - s0 s1 XCHG - }> PUSHCONT - IF - s1 PUSH - 931322574615478515625 PUSHINT - 30 LSHIFT - LESS - <{ - 0 PUSHINT - s0 PUSH - 1 PUSHINT - <{ - s0 s4 XCHG - 10 PUSHINT - false 0 false 3 0 DIV - 48 ADD - s5 PUSH - MUL - s1 s2 XCHG - ADD - s0 s4 XCHG - 8 LSHIFT - s0 s2 XCHG - INC - s1 PUSH - 0 EQINT - s5 s3 s0 XCHG3 - }> PUSHCONT - UNTIL - s0 POP - s3 POP - 3 LSHIFT - STUX - }> PUSHCONT - <{ - 0 TUPLE - 0 PUSHINT - <{ - s3 PUSH - 10 PUSHINT - false 0 false 2 0 DIV - s1 s2 XCHG - TPUSH - s0 s1 XCHG - INC - s0 s3 XCHG - 10 PUSHINT - false 0 false 1 0 DIV - s0 PUSH - 0 EQINT - s1 s4 XCHG - }> PUSHCONT - UNTIL - s3 POP - s2 PUSH - -1 ADD - s0 s3 XCHG - <{ - s0 s2 PUSH2 - INDEXVAR - 48 ADD - ROT - 8 STU - s0 s2 XCHG - -1 ADD - ROTREV - }> PUSHCONT - REPEAT - s0 POP - s1 POP - }> PUSHCONT - IFELSE - ENDC - CTOS - }> - ?fun_ref_28340b958e3c6ebe PROCREF:<{ - NEWC - 0 PUSHINT - s0 s1 XCHG - 32 STU - 0 TUPLE - s0 s1 XCHG - TPUSH - NULL - TPUSH - x{536F6D657468696E6720736F6D657468696E6720776F726C642182_} PUSHSLICE - ?fun_ref_a2813468f47d741c INLINECALLDICT - 2 UNTUPLE - s0 s1 XCHG - ENDC - <{ - s1 PUSH - ISNULL - NOT - }> PUSHCONT - <{ - s0 s1 XCHG - 2 UNTUPLE - ROTREV - STREF - ENDC - }> PUSHCONT - WHILE - s1 POP - }> - ?fun_ref_364de9562794919e PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 0 EQINT - s0 s1 XCHG - SBITS - 33 LESSINT - AND - <{ - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - }> - ?fun_ref_36963ffd92a5144e PROCREF:<{ - ?fun_ref_7d7b7a07ccd0560c INLINECALLDICT - }> - ?fun_ref_3aa3bbd48d04b029 PROCREF:<{ - x{D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F918020D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8} - x{D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220} - x{D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020} - x{F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD1} - x{80D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5} - x{D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180} PUSHREFSLICE - }> - ?fun_ref_4294c2e125656820 PROCREF:<{ - NEWC - 0 TUPLE - s0 s1 XCHG - TPUSH - NULL - TPUSH - x{48656C6C6F2C20796F75722062616C616E63653A2082_} PUSHSLICE - ?fun_ref_a2813468f47d741c INLINECALLDICT - -123 PUSHINT - ?fun_ref_2409c879affe1754 INLINECALLDICT - ?fun_ref_a2813468f47d741c INLINECALLDICT - 2 UNTUPLE - s0 s1 XCHG - ENDC - <{ - s1 PUSH - ISNULL - NOT - }> PUSHCONT - <{ - s0 s1 XCHG - 2 UNTUPLE - ROTREV - STREF - ENDC - }> PUSHCONT - WHILE - s1 POP - CTOS - }> - ?fun_ref_59f9b5cbce153952 PROCREF:<{ - NEWC - 0 TUPLE - s0 s1 XCHG - TPUSH - NULL - TPUSH - x{48656C6C6F2C20796F75722062616C616E63653A2082_} PUSHSLICE - ?fun_ref_a2813468f47d741c INLINECALLDICT - 123 PUSHINT - ?fun_ref_2409c879affe1754 INLINECALLDICT - ?fun_ref_a2813468f47d741c INLINECALLDICT - 2 UNTUPLE - s0 s1 XCHG - ENDC - <{ - s1 PUSH - ISNULL - NOT - }> PUSHCONT - <{ - s0 s1 XCHG - 2 UNTUPLE - ROTREV - STREF - ENDC - }> PUSHCONT - WHILE - s1 POP - CTOS - }> - ?fun_ref_620e72b604dfd25d PROCREF:<{ - NEWC - 0 TUPLE - s0 s1 XCHG - TPUSH - NULL - TPUSH - x{48656C6C6F218} PUSHSLICE - ?fun_ref_a2813468f47d741c INLINECALLDICT - x{D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F918020D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8} - x{D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220} - x{D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020} - x{F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD1} - x{80D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5} - x{D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180} PUSHREFSLICE - ?fun_ref_a2813468f47d741c INLINECALLDICT - 2 UNTUPLE - s0 s1 XCHG - ENDC - <{ - s1 PUSH - ISNULL - NOT - }> PUSHCONT - <{ - s0 s1 XCHG - 2 UNTUPLE - ROTREV - STREF - ENDC - }> PUSHCONT - WHILE - s1 POP - CTOS - }> - ?fun_ref_7d7b7a07ccd0560c PROCREF:<{ - s0 PUSH - SBITS - 3 RSHIFT - NEWC - s0 s1 XCHG - <{ - s0 s1 XCHG - 8 LDU - s1 PUSH - 64 GTINT - <{ - s1 PUSH - 91 LESSINT - }> PUSHCONT - <{ - 0 PUSHINT - }> PUSHCONT - IFELSE - <{ - s0 s1 XCHG - -65 ADD - ROT - 6 STU - }> PUSHCONT - <{ - s1 PUSH - 96 GTINT - <{ - s1 PUSH - 123 LESSINT - }> PUSHCONT - <{ - 0 PUSHINT - }> PUSHCONT - IFELSE - <{ - s0 s1 XCHG - -71 ADD - ROT - 6 STU - }> PUSHCONT - <{ - s1 PUSH - 47 GTINT - <{ - s1 PUSH - 58 LESSINT - }> PUSHCONT - <{ - 0 PUSHINT - }> PUSHCONT - IFELSE - <{ - s0 s1 XCHG - 4 ADD - ROT - 6 STU - }> PUSHCONT - <{ - s1 PUSH - 45 EQINT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s1 PUSH - 43 EQINT - }> PUSHCONT - IFELSE - <{ - 62 PUSHINT - s2 POP - s0 s2 XCHG - 6 STU - }> PUSHCONT - <{ - s1 PUSH - 95 EQINT - <{ - -1 PUSHINT - }> PUSHCONT - <{ - s1 PUSH - 47 EQINT - }> PUSHCONT - IFELSE - <{ - 63 PUSHINT - s2 POP - s0 s2 XCHG - 6 STU - }> PUSHCONT - <{ - s0 s1 XCHG - 61 EQINT - <{ - 134 THROW - }> PUSHCONT - IFNOT - s0 s1 XCHG - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> PUSHCONT - REPEAT - s1 POP - s0 PUSH - BBITS - s0 PUSH - false 1 true 2 0 DIV - s0 s2 XCHG - s0 PUSH - 0 NEQINT - <{ - s0 s2 XCHG - ENDC - CTOS - s0 s2 XCHG - SUB - LDSLICEX - s0 POP - }> PUSHCONT - IFJMP - DROP2 - ENDC - CTOS - }> - ?fun_ref_8155dba7e75146b7 PROCREF:<{ - x{D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F918082_} PUSHSLICE - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_a2813468f47d741c PROCREF:<{ - s0 PUSH - SREFS - s1 PUSH - SBITS - <{ - s0 PUSH - 0 GTINT - s2 PUSH - 0 GTINT - OR - }> PUSHCONT - <{ - s0 s3 XCHG - 2 UNTUPLE - 127 PUSHINT - s2 PUSH - BBITS - 3 RSHIFT - SUB - s0 s5 XCHG - 3 RSHIFT - s5 s5 XCPU - MIN - s0 PUSH - 0 GTINT - <{ - s0 PUSH - 3 LSHIFT - s1 s5 XCHG - LDSLICEX - s3 s3 XCHG2 - STSLICER - s0 s1 s4 XCHG3 - }> PUSHCONT - IF - ROTREV - 2 TUPLE - s4 s1 PUSH2 - SUB - 0 GTINT - <{ - NEWC - s0 s1 XCHG - 2 TUPLE - s4 s4 XCHG2 - SUB - 3 LSHIFT - }> PUSHCONT - <{ - s1 POP - s3 POP - 0 GTINT - <{ - LDREF - s0 POP - CTOS - s0 PUSH - SREFS - s1 PUSH - SBITS - }> PUSHCONT - <{ - 0 PUSHINT - s0 PUSH - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> PUSHCONT - WHILE - 3 BLKDROP - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_c4ca319c5a91bc8b PROCREF:<{ - NEWC - 0 TUPLE - s0 s1 XCHG - TPUSH - NULL - TPUSH - x{48656C6C6F2C20796F75722062616C616E63653A2082_} PUSHSLICE - ?fun_ref_a2813468f47d741c INLINECALLDICT - 867361737988403547205962240695953369140625 PUSHINT - 60 LSHIFT - ?fun_ref_2409c879affe1754 INLINECALLDICT - ?fun_ref_a2813468f47d741c INLINECALLDICT - 2 UNTUPLE - s0 s1 XCHG - ENDC - <{ - s1 PUSH - ISNULL - NOT - }> PUSHCONT - <{ - s0 s1 XCHG - 2 UNTUPLE - ROTREV - STREF - ENDC - }> PUSHCONT - WHILE - s1 POP - CTOS - }> - ?fun_ref_c67dd3f635e80121 PROCREF:<{ - 95 PUSHINT - 1 PUSHINT - ?fun_ref_09c677a83b1d2ee5 INLINECALLDICT - }> - ?fun_ref_d1d22db60adabf04 PROCREF:<{ - NEWC - 0 TUPLE - s0 s1 XCHG - TPUSH - NULL - TPUSH - x{48656C6C6F218} PUSHSLICE - ?fun_ref_a2813468f47d741c INLINECALLDICT - 2 UNTUPLE - s0 s1 XCHG - ENDC - <{ - s1 PUSH - ISNULL - NOT - }> PUSHCONT - <{ - s0 s1 XCHG - 2 UNTUPLE - ROTREV - STREF - ENDC - }> PUSHCONT - WHILE - s1 POP - }> - ?fun_ref_e7da95749b4d4329 PROCREF:<{ - NEWC - 0 TUPLE - s0 s1 XCHG - TPUSH - NULL - TPUSH - x{48656C6C6F218} PUSHSLICE - ?fun_ref_a2813468f47d741c INLINECALLDICT - x{D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F918020D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8} - x{D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220} - x{D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020} - x{F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD1} - x{80D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5} - x{D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180D0BFD180D0B8D0B2D0B5D18220D0BCD0B8D18020F09F9180} PUSHREFSLICE - ?fun_ref_a2813468f47d741c INLINECALLDICT - 2 UNTUPLE - s0 s1 XCHG - ENDC - <{ - s1 PUSH - ISNULL - NOT - }> PUSHCONT - <{ - s0 s1 XCHG - 2 UNTUPLE - ROTREV - STREF - ENDC - }> PUSHCONT - WHILE - s1 POP - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/strings_StringsTester.constants.fc b/src/test/features/output/strings_StringsTester.constants.fc deleted file mode 100644 index f4d5f47a0..000000000 --- a/src/test/features/output/strings_StringsTester.constants.fc +++ /dev/null @@ -1,20 +0,0 @@ -;; String "test string" -slice __gen_slice_string_74d626e0f3941e966793bdd5fcf327bb9bff00847b32ebc108c9133956147c7a() asm "B{b5ee9c7241010101000d0000167465737420737472696e67ee608f50} B>boc boc boc boc boc boc boc 0) | (sliceRefs > 0)) { - - ;; Load the current builder - (builder b, tuple tail) = uncons(builders); - int remBytes = 127 - (builder_bits(b) / 8); - int exBytes = sliceBits / 8; - - ;; Append bits - int amount = min(remBytes, exBytes); - if (amount > 0) { - slice read = sc~load_bits(amount * 8); - b = b.store_slice(read); - } - - ;; Update builders - builders = cons(b, tail); - - ;; Check if we need to add a new cell and continue - if (exBytes - amount > 0) { - var bb = begin_cell(); - builders = cons(bb, builders); - sliceBits = (exBytes - amount) * 8; - } elseif (sliceRefs > 0) { - sc = sc~load_ref().begin_parse(); - sliceRefs = slice_refs(sc); - sliceBits = slice_bits(sc); - } else { - sliceBits = 0; - sliceRefs = 0; - } - } - - return ((builders), ()); -} - -slice __tact_int_to_string(int src) inline_ref { - var b = begin_cell(); - if (src < 0) { - b = b.store_uint(45, 8); - src = - src; - } - - if (src < 1000000000000000000000000000000) { - int len = 0; - int value = 0; - int mult = 1; - do { - (src, int res) = src.divmod(10); - value = value + (res + 48) * mult; - mult = mult * 256; - len = len + 1; - } until (src == 0); - - b = b.store_uint(value, len * 8); - } else { - tuple t = empty_tuple(); - int len = 0; - do { - int digit = src % 10; - t~tpush(digit); - len = len + 1; - src = src / 10; - } until (src == 0); - - int c = len - 1; - repeat(len) { - int v = t.at(c); - b = b.store_uint(v + 48, 8); - c = c - 1; - } - } - return b.end_cell().begin_parse(); -} - -slice __tact_float_to_string(int src, int digits) inline_ref { - throw_if(134, (digits <= 0) | (digits > 77)); - builder b = begin_cell(); - - if (src < 0) { - b = b.store_uint(45, 8); - src = - src; - } - - ;; Process rem part - int skip = true; - int len = 0; - int rem = 0; - tuple t = empty_tuple(); - repeat(digits) { - (src, rem) = src.divmod(10); - if ( ~ ( skip & ( rem == 0 ) ) ) { - skip = false; - t~tpush(rem + 48); - len = len + 1; - } - } - - ;; Process dot - if (~ skip) { - t~tpush(46); - len = len + 1; - } - - ;; Main - do { - (src, rem) = src.divmod(10); - t~tpush(rem + 48); - len = len + 1; - } until (src == 0); - - ;; Assemble - int c = len - 1; - repeat(len) { - int v = t.at(c); - b = b.store_uint(v, 8); - c = c - 1; - } - - ;; Result - return b.end_cell().begin_parse(); -} - -slice $Builder$_fun_asSlice(builder $self) impure inline { - var ($self) = $self; - return begin_parse(end_cell($self)); -} - -slice $Slice$_fun_fromBase64(slice $self) impure inline_ref { - var ($self) = $self; - int $size = (slice_bits($self) / 8); - builder $result = begin_cell(); - repeat ($size) { - int $code = $self~load_uint(8); - if (( (($code >= 65)) ? (($code <= 90)) : (false) )) { - $result = store_uint($result, ($code - 65), 6); - } elseif (( (($code >= 97)) ? (($code <= 122)) : (false) )) { - $result = store_uint($result, ($code - (97 - 26)), 6); - } elseif (( (($code >= 48)) ? (($code <= 57)) : (false) )) { - $result = store_uint($result, ($code + (52 - 48)), 6); - } elseif (( (($code == 45)) ? (true) : (($code == 43)) )) { - $result = store_uint($result, 62, 6); - } elseif (( (($code == 95)) ? (true) : (($code == 47)) )) { - $result = store_uint($result, 63, 6); - } elseif (($code == 61)) { - } else { - throw(134); - } - } - int $total = builder_bits($result); - int $padding = ($total % 8); - if (($padding != 0)) { - slice $s = $Builder$_fun_asSlice($result); - return $s~load_bits(($total - $padding)); - } else { - return $Builder$_fun_asSlice($result); - } -} - -slice $String$_fun_fromBase64(slice $self) impure inline { - var ($self) = $self; - return $Slice$_fun_fromBase64(__tact_str_to_slice($self)); -} \ No newline at end of file diff --git a/src/test/features/output/strings_StringsTester.storage.fc b/src/test/features/output/strings_StringsTester.storage.fc deleted file mode 100644 index 427a0b669..000000000 --- a/src/test/features/output/strings_StringsTester.storage.fc +++ /dev/null @@ -1,23 +0,0 @@ -;; -;; Type: StringsTester -;; - -tuple $StringsTester$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $StringsTester$_contract_init(); - } -} - -() $StringsTester$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/strings_StringsTester.ts b/src/test/features/output/strings_StringsTester.ts deleted file mode 100644 index 2bafc62c4..000000000 --- a/src/test/features/output/strings_StringsTester.ts +++ /dev/null @@ -1,401 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - - type StringsTester_init_args = { - $$type: 'StringsTester_init_args'; -} - -function initStringsTester_init_args(src: StringsTester_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function StringsTester_init() { - const __code = Cell.fromBase64('te6ccgECPQEACPQAART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UOAQCASAFBgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwAgEgBwgCASAiIwIBIBMUAgEgCQoCD7R8W2ebZ4YwOAsCASAMDQN2yG8AAW+MbW+MjQVSGVsbG8sIHlvdXIgYmFsYW5jZTogg2zyAhds82zxvIgHJkyFus5YBbyJZzMnoMdA3GDcCD7O7Ns82zwxgOA4CA3igDxAAGou3Rlc3Qgc3RyaW5ngCDb29s82zwxg4EQINvb2zzbPDGDgSA57IbwABb4xtb4yNBVIZWxsbywgeW91ciBiYWxhbmNlOiCDbPIKACfTycmF5oiRQHXYkIslGWQ2RqjvbPNs8byIByZMhbrOWAW8iWczJ6DHQNxg3ADaNBjQv9GA0LjQstC10YIg0LzQuNGAIPCfkYCACASAVFgIBIBobAg+zJDbPNs8MYDgXAg+xwPbPNs8MYDgZA3bIbwABb4xtb4yNBVIZWxsbywgeW91ciBiYWxhbmNlOiCDbPIB72zzbPG8iAcmTIW6zlgFvIlnMyegx0DcYNwDeyCHBAJiALQHLBwGjAd4hgjgyfLJzQRnTt6mqHbmOIHAgcY4UBHqpDKYwJagSoASqBwKkIcAARTDmMDOqAs8BjitvAHCOESN6qQgSb4wBpAN6qQQgwAAU5jMipQOcUwJvgaYwWMsHAqVZ5DAx4snQAVKNCRUV0Z1ZVNCb1lXNWtjeUJ0WVd0bElHeHBaMmgwSUhkdmNtc3WDbPDsCAUgcHQIPsjA2zzbPDGA4IAIOqc/bPNs8MTgeAg6oE9s82zwxOB8DUMhvAAFvjG1vjItkhlbGxvIY2zyJ2zxvIgHJkyFus5YBbyJZzMnoMdA3JzcDTshvAAFvjG1vjItkhlbGxvIY2zyJ2zxvIgHJkyFus5YBbyJZzMnoMTcnNwEKgF9x2zwhANogwQEhwk2x8tCGyCLBAJiALQHLBwKjAt5/cG8ABI4bBHqpDCDAAFIwsLObcDOmMBRvjASkBAORMOIE5AGzlwKALm+MAqTejhADeqkMpjATb4wDpCLAABA05jMipQOaUxJvgQHLBwKlAuRsIcnQAgEgJCUCASAtLgIPtx0bZ5tnhjA4JgC5t3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAQKJJwH+0L/RgNC40LLQtdGCINC80LjRgCDwn5GAINC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuCgB/tCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiApAf7QvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAgKgH+8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0SsB/oDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LUsANzRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgAIBIC8wAhG2rVtngDtnhjA4OQARsK+7UTQ0gABgAgFYMTIAdKm7jQ1aXBmczovL1FtYjRuaVdpOEFleE5RZTYzdno1VG9Ub2hFVTd1aDNrR3NtWkNrZHJQUkFFbTiACASAzNAINpuO2ebZ4Yzg1Ag2lR7Z5tnhjODYBSMhvAAFvjG1vjItkhlbGxvIY2zxvIgHJkyFus5YBbyJZzMnoMTcBeshwAcsfbwABb4xtb4yNBpTb21ldGhpbmcgc29tZXRoaW5nIHdvcmxkIYNs8byIByZMhbrOWAW8iWczJ6DE3ALog10oh10mXIMIAIsIAsY5KA28igH8izzGrAqEFqwJRVbYIIMIAnCCqAhXXGFAzzxZAFN5ZbwJTQaHCAJnIAW8CUEShqgKOEjEzwgCZ1DDQINdKIddJknAg4uLoXwMBNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8OgEE2zw7AAJtAfYg10mrAsgBjm8B0wchwkCTIcFbkXDilgGmv1jLBY5YIcJgkyHBe5Fw4pYBprlYywWORCHCL5MhwTqRcOKWAaYEWMsFjjAhwC2Rf5MhwCviloA+MgLLBY4cIcBfkX+TIcAv4paAPzICywWZAcA9k/LAht8B4uLi4uLkMSA8ACzPMSCpOAIgwwCYAsnQAqHXGDDgW8nQ'); - const __system = Cell.fromBase64('te6cckECPwEACP4AAQHAAQEFobKzAgEU/wD0pBP0vPLICwMCAWI7BAIBIBYFAgEgEgYCASAJBwIRtq1bZ4A7Z4YwPQgBBNs8NQIBIBEKAgFYEAsCASAODAINpUe2ebZ4Yz0NAXrIcAHLH28AAW+MbW+MjQaU29tZXRoaW5nIHNvbWV0aGluZyB3b3JsZCGDbPG8iAcmTIW6zlgFvIlnMyegxOgINpuO2ebZ4Yz0PAUjIbwABb4xtb4yLZIZWxsbyGNs8byIByZMhbrOWAW8iWczJ6DE6AHSpu40NWlwZnM6Ly9RbWI0bmlXaThBZXhOUWU2M3Z6NVRvVG9oRVU3dWgza0dzbVpDa2RyUFJBRW04gABGwr7tRNDSAAGACASAUEwC5t3owTgudh6ullc9j0J2HOslQo2zQThO6xqWlbI+WZFp15b++LEcwTgQKuANwDOxymcsHVcjktlhwTgN6k73yqLLeOOp6e8CrOGTQThOy6ctWadluZ0HSzbKM3RSQAg+3HRtnm2eGMD0VAQKJLAIBICIXAgEgIBgCASAeGQIDeKAcGgINvb2zzbPDGD0bADaNBjQv9GA0LjQstC10YIg0LzQuNGAIPCfkYCACDb29s82zwxg9HQOeyG8AAW+MbW+MjQVSGVsbG8sIHlvdXIgYmFsYW5jZTogg2zyCgAn08nJheaIkUB12JCLJRlkNkao72zzbPG8iAcmTIW6zlgFvIlnMyegx0Do5OgIPs7s2zzbPDGA9HwAai7dGVzdCBzdHJpbmeAIPtHxbZ5tnhjA9IQN2yG8AAW+MbW+MjQVSGVsbG8sIHlvdXIgYmFsYW5jZTogg2zyAhds82zxvIgHJkyFus5YBbyJZzMnoMdA6OToCASAyIwIBICckAg+yMDbPNs8MYD0lAQqAX3HbPCYA2iDBASHCTbHy0IbIIsEAmIAtAcsHAqMC3n9wbwAEjhsEeqkMIMAAUjCws5twM6YwFG+MBKQEA5Ew4gTkAbOXAoAub4wCpN6OEAN6qQymMBNvjAOkIsAAEDTmMyKlA5pTEm+BAcsHAqUC5GwhydACAUgqKAIOqBPbPNs8MT0pA07IbwABb4xtb4yLZIZWxsbyGNs8ids8byIByZMhbrOWAW8iWczJ6DE6LDoCDqnP2zzbPDE9KwNQyG8AAW+MbW+Mi2SGVsbG8hjbPInbPG8iAcmTIW6zlgFvIlnMyegx0DosOgH+0L/RgNC40LLQtdGCINC80LjRgCDwn5GAINC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuC0B/tCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiAuAf7QvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAgLwH+8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0TAB/oDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LUxANzRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgNC/0YDQuNCy0LXRgiDQvNC40YAg8J+RgAIBIDczAg+xwPbPNs8MYD00AVKNCRUV0Z1ZVNCb1lXNWtjeUJ0WVd0bElHeHBaMmgwSUhkdmNtc3WDbPDUB9iDXSasCyAGObwHTByHCQJMhwVuRcOKWAaa/WMsFjlghwmCTIcF7kXDilgGmuVjLBY5EIcIvkyHBOpFw4pYBpgRYywWOMCHALZF/kyHAK+KWgD4yAssFjhwhwF+Rf5MhwC/iloA/MgLLBZkBwD2T8sCG3wHi4uLi4uQxIDYALM8xIKk4AiDDAJgCydACodcYMOBbydACD7MkNs82zwxgPTgDdshvAAFvjG1vjI0FUhlbGxvLCB5b3VyIGJhbGFuY2U6IINs8gHvbPNs8byIByZMhbrOWAW8iWczJ6DHQOjk6AN7IIcEAmIAtAcsHAaMB3iGCODJ8snNBGdO3qaoduY4gcCBxjhQEeqkMpjAlqBKgBKoHAqQhwABFMOYwM6oCzwGOK28AcI4RI3qpCBJvjAGkA3qpBCDAABTmMyKlA5xTAm+BpjBYywcCpVnkMDHiydAAuiDXSiHXSZcgwgAiwgCxjkoDbyKAfyLPMasCoQWrAlFVtgggwgCcIKoCFdcYUDPPFkAU3llvAlNBocIAmcgBbwJQRKGqAo4SMTPCAJnUMNAg10oh10mScCDi4uhfAwKS0AHQ0wMBcbCjAfpAASDXSYEBC7ry4Igg1wsKIIEE/7ry0ImDCbry4IhUUFMDbwT4YQL4Yts8Wds88uCCMMj4QwHMfwHKAMntVD08ADwBkjB/4HAh10nCH5UwINcLH97AAAHXScEhsJF/4HABNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8PgACbWMp1v0='); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initStringsTester_init_args({ $$type: 'StringsTester_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const StringsTester_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const StringsTester_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, -] - -const StringsTester_getters: ABIGetter[] = [ - {"name":"constantString","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"constantStringUnicode","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"constantStringUnicodeLong","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"dynamicStringCell","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}}, - {"name":"dynamicCommentCell","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}}, - {"name":"dynamicCommentCellLarge","arguments":[],"returnType":{"kind":"simple","type":"cell","optional":false}}, - {"name":"dynamicCommentStringLarge","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"stringWithNumber","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"stringWithNegativeNumber","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"stringWithLargeNumber","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"stringWithFloat","arguments":[],"returnType":{"kind":"simple","type":"string","optional":false}}, - {"name":"base64","arguments":[],"returnType":{"kind":"simple","type":"slice","optional":false}}, - {"name":"processBase64","arguments":[{"name":"src","type":{"kind":"simple","type":"string","optional":false}}],"returnType":{"kind":"simple","type":"slice","optional":false}}, -] - -const StringsTester_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, -] - -export class StringsTester implements Contract { - - static async init() { - return await StringsTester_init(); - } - - static async fromInit() { - const init = await StringsTester_init(); - const address = contractAddress(0, init); - return new StringsTester(address, init); - } - - static fromAddress(address: Address) { - return new StringsTester(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: StringsTester_types, - getters: StringsTester_getters, - receivers: StringsTester_receivers, - errors: StringsTester_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null) { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getConstantString(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('constantString', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getConstantStringUnicode(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('constantStringUnicode', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getConstantStringUnicodeLong(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('constantStringUnicodeLong', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getDynamicStringCell(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('dynamicStringCell', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getDynamicCommentCell(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('dynamicCommentCell', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getDynamicCommentCellLarge(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('dynamicCommentCellLarge', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getDynamicCommentStringLarge(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('dynamicCommentStringLarge', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getStringWithNumber(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('stringWithNumber', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getStringWithNegativeNumber(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('stringWithNegativeNumber', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getStringWithLargeNumber(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('stringWithLargeNumber', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getStringWithFloat(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('stringWithFloat', builder.build())).stack; - let result = source.readString(); - return result; - } - - async getBase64(provider: ContractProvider) { - let builder = new TupleBuilder(); - let source = (await provider.get('base64', builder.build())).stack; - let result = source.readCell(); - return result; - } - - async getProcessBase64(provider: ContractProvider, src: string) { - let builder = new TupleBuilder(); - builder.writeString(src); - let source = (await provider.get('processBase64', builder.build())).stack; - let result = source.readCell(); - return result; - } - -} \ No newline at end of file diff --git a/src/test/features/output/ternary_TernaryTester.abi b/src/test/features/output/ternary_TernaryTester.abi deleted file mode 100644 index 12b2bda78..000000000 --- a/src/test/features/output/ternary_TernaryTester.abi +++ /dev/null @@ -1 +0,0 @@ -{"name":"TernaryTester","types":[{"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]},{"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]},{"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}],"receivers":[{"receiver":"internal","message":{"kind":"empty"}}],"getters":[{"name":"test1","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"test2","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"test3","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"test4","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}],"errors":{"2":{"message":"Stack undeflow"},"3":{"message":"Stack overflow"},"4":{"message":"Integer overflow"},"5":{"message":"Integer out of expected range"},"6":{"message":"Invalid opcode"},"7":{"message":"Type check error"},"8":{"message":"Cell overflow"},"9":{"message":"Cell underflow"},"10":{"message":"Dictionary error"},"13":{"message":"Out of gas error"},"32":{"message":"Method ID not found"},"34":{"message":"Action is invalid or not supported"},"37":{"message":"Not enough TON"},"38":{"message":"Not enough extra-currencies"},"128":{"message":"Null reference exception"},"129":{"message":"Invalid serialization prefix"},"130":{"message":"Invalid incoming message"},"131":{"message":"Constraints error"},"132":{"message":"Access denied"},"133":{"message":"Contract stopped"},"134":{"message":"Invalid argument"},"135":{"message":"Code of a contract was not found"},"136":{"message":"Invalid address"},"137":{"message":"Masterchain support is not enabled for this contract"}},"interfaces":["org.ton.introspection.v0","org.ton.abi.ipfs.v0","org.ton.deploy.lazy.v0","org.ton.debug.v0","org.ton.chain.workchain.v0"]} \ No newline at end of file diff --git a/src/test/features/output/ternary_TernaryTester.code.boc b/src/test/features/output/ternary_TernaryTester.code.boc deleted file mode 100644 index 2dd8291de..000000000 Binary files a/src/test/features/output/ternary_TernaryTester.code.boc and /dev/null differ diff --git a/src/test/features/output/ternary_TernaryTester.code.boc.html b/src/test/features/output/ternary_TernaryTester.code.boc.html deleted file mode 100644 index 0ae9c7d8d..000000000 --- a/src/test/features/output/ternary_TernaryTester.code.boc.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - - -

Code coverage

-
-                        PROGRAM{
-            ..DECLPROC recv_internal;
-            ..DECLPROC ?fun_70304;
-            ..DECLPROC ?fun_74435;
-            ..DECLPROC ?fun_78562;
-            ..DECLPROC ?fun_82437;
-            ..DECLPROC ?fun_86564;
-            ..DECLPROC ?fun_90695;
-            ..DECLPROC ?fun_94822;
-            ..DECLPROC ?fun_99209;
-            ..DECLPROC ?fun_103336;
-            ..DECLPROC ?fun_107552;
-            ..DECLPROC supported_interfaces;
-            ..DECLPROC lazy_deployment_completed;
-            ..DECLPROC get_abi_ipfs;
-            ..DECLPROC ?fun_ref_364de9562794919e;
-            ..DECLPROC ?fun_ref_4b7c16b16b29693f;
-            ..DECLPROC ?fun_ref_7a606fe4d77c6a30;
-            ..DECLPROC ?fun_ref_8810e73f1aa91ec4;
-            ..DECLPROC ?fun_ref_93db61788f47c8df;
-            ..DECLPROC ?fun_ref_96bb5087664b6772;
-            ..DECLPROC ?fun_ref_a05e0042bce184fb;
-            ..DECLPROC ?fun_ref_c0ca23818e24f3c9;
-            ..DECLPROC ?fun_ref_d816dc4ba685aed0;
-            ..DECLPROC ?fun_ref_eac35a6e322f692c;
-            ..DECLPROC ?fun_ref_f7f33a77d1558909;
-            x3..recv_internal PROC:<{
-            18x3....s0 s1 XCHG
-            118x3....CTOS
-            26x3....4 LDU
-            18x3....s0 s1 XCHG
-            18x3....1 PUSHINT
-            18x3....AND
-            18x3....-1 MULCONST
-            18x3....s0 s1 XCHG
-            26x3....LDMSGADDR
-            18x3....s0 s1 XCHG
-            18x3....s0 PUSH
-            26x3....SBITS
-            34x3....267 PUSHINT
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            18x3....s0 PUSH
-            34x3....11 PLDU
-            18x3....s0 PUSH
-            34x3....1279 PUSHINT
-            18x3....EQUAL
-            34x3....137 THROWIF
-            26x3....10 PUSHPOW2
-            18x3....EQUAL
-            34x3....136 THROWIFNOT
-            34x3....s0 s6 s4 PUXCPU
-            18x3....s0 s3 XCHG
-            30x3....4 TUPLE
-            28x3....1 SETGLOBVAR
-            18x3....s0 s2 XCHG
-            29x3....2 SETGLOBVAR
-            126x3....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x3....ROTREV
-            126x3....?fun_ref_364de9562794919e INLINECALLDICT
-            34x3....130 THROWIFNOT
-            18x3....s0 POP
-            18x3....NEWC
-            26x3....3 GETGLOBVAR
-            18x3....s0 s1 XCHG
-            18x3....STREF
-            18x3....-1 PUSHINT
-            18x3....s0 s1 XCHG
-            26x3....1 STI
-            518x3....ENDC
-            26x3....c4 POP
-            x3..}>
-            x2..?fun_70304 PROC:<{
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....s0 s1 XCHG
-            126x2....?fun_ref_4b7c16b16b29693f INLINECALLDICT
-            18x2....s1 POP
-            x2..}>
-            x2..?fun_74435 PROC:<{
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....s0 s1 XCHG
-            126x2....?fun_ref_f7f33a77d1558909 INLINECALLDICT
-            18x2....s1 POP
-            x2..}>
-            x2..?fun_78562 PROC:<{
-            126x2....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x2....ROTREV
-            126x2....?fun_ref_eac35a6e322f692c INLINECALLDICT
-            18x2....s1 POP
-            x2..}>
-            x4..?fun_82437 PROC:<{
-            126x4....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x4....ROTREV
-            126x4....?fun_ref_96bb5087664b6772 INLINECALLDICT
-            18x4....s1 POP
-            x4..}>
-            x1..?fun_86564 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_8810e73f1aa91ec4 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_90695 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_8810e73f1aa91ec4 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_94822 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_d816dc4ba685aed0 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_99209 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_7a606fe4d77c6a30 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x1..?fun_103336 PROC:<{
-            126x1....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            126x1....?fun_ref_7a606fe4d77c6a30 INLINECALLDICT
-            18x1....s1 POP
-            x1..}>
-            x6..?fun_107552 PROC:<{
-            126x6....?fun_ref_a05e0042bce184fb INLINECALLDICT
-            18x6....s0 s1 XCHG
-            126x6....?fun_ref_93db61788f47c8df INLINECALLDICT
-            18x6....s1 POP
-            x6..}>
-            ..supported_interfaces PROC:<{
-            ....123515602279859691144772641439386770278 PUSHINT
-            ....209801025412363888721030803524359905849 PUSHINT
-            ....42980537499636128163026532310500881091 PUSHINT
-            ....36993126140238121407019133875791708966 PUSHINT
-            ....209474421377847335869795010607481022628 PUSHINT
-            ..}>
-            ..lazy_deployment_completed PROC:<{
-            ....c4 PUSH
-            ....CTOS
-            ....1 LDI
-            ....s0 s1 XCHG
-            ..}>
-            ..get_abi_ipfs PROC:<{
-            ....x{697066733A2F2F516D517A587442666B7736504E654E6B645A4162696378675644506B65716D327161424E685063747A33794D6B4A82_} PUSHSLICE
-            ..}>
-            x4..?fun_ref_364de9562794919e PROCREF:<{
-            18x4....s0 s1 XCHG
-            18x4....<{
-            ......s0 POP
-            ......-1 PUSHINT
-            18x4....}> PUSHCONT
-            18x4....IFJMP
-            18x4....0 PUSHINT
-            18x4....s1 PUSH
-            26x4....SBITS
-            26x4....31 GTINT
-            18x4....<{
-            ......s0 POP
-            ......s0 PUSH
-            ......32 PLDU
-            18x4....}> PUSHCONT
-            18x4....IF
-            26x4....0 EQINT
-            18x4....s0 s1 XCHG
-            26x4....SBITS
-            26x4....33 LESSINT
-            18x4....AND
-            18x4....<{
-            18x4......-1 PUSHINT
-            18x4....}> PUSHCONT
-            18x4....IFJMP
-            ....0 PUSHINT
-            x4..}>
-            x2..?fun_ref_4b7c16b16b29693f PROCREF:<{
-            26x2....123 EQINT
-            18x2....<{
-            18x1......1 PUSHINT
-            18x2....}> PUSHCONT
-            18x2....<{
-            18x1......2 PUSHINT
-            18x2....}> PUSHCONT
-            18x2....IFELSE
-            x2..}>
-            x2..?fun_ref_7a606fe4d77c6a30 PROCREF:<{
-            18x2....3 PUSHINT
-            x2..}>
-            x2..?fun_ref_8810e73f1aa91ec4 PROCREF:<{
-            18x2....1 PUSHINT
-            x2..}>
-            x6..?fun_ref_93db61788f47c8df PROCREF:<{
-            18x6....s0 PUSH
-            26x6....1 EQINT
-            18x6....<{
-            18x1......s0 POP
-            26x1......42 PUSHINT
-            18x6....}> PUSHCONT
-            26x6....<{
-            18x5......s0 PUSH
-            26x5......2 EQINT
-            18x5......<{
-            18x1........s0 POP
-            26x1........43 PUSHINT
-            18x5......}> PUSHCONT
-            18x5......<{
-            26x4........3 EQINT
-            18x4........<{
-            26x1..........44 PUSHINT
-            18x4........}> PUSHCONT
-            18x4........<{
-            26x3..........45 PUSHINT
-            18x4........}> PUSHCONT
-            18x4........IFELSE
-            18x5......}> PUSHCONT
-            18x5......IFELSE
-            26x6....}> PUSHCONT
-            18x6....IFELSE
-            x6..}>
-            x4..?fun_ref_96bb5087664b6772 PROCREF:<{
-            18x4....s0 s1 XCHG
-            26x4....123 EQINT
-            18x4....<{
-            34x2......456 PUSHINT
-            18x2......EQUAL
-            18x2......<{
-            18x1........1 PUSHINT
-            18x2......}> PUSHCONT
-            18x2......<{
-            18x1........2 PUSHINT
-            18x2......}> PUSHCONT
-            18x2......IFELSE
-            18x4....}> PUSHCONT
-            18x4....<{
-            34x2......789 PUSHINT
-            18x2......EQUAL
-            18x2......<{
-            18x1........3 PUSHINT
-            18x2......}> PUSHCONT
-            18x2......<{
-            18x1........4 PUSHINT
-            18x2......}> PUSHCONT
-            18x2......IFELSE
-            18x4....}> PUSHCONT
-            18x4....IFELSE
-            x4..}>
-            x475..?fun_ref_a05e0042bce184fb PROCREF:<{
-            26x475....c4 PUSH
-            118x475....CTOS
-            18x475....LDREF
-            18x475....s0 s1 XCHG
-            30x475....3 SETGLOBVAR
-            26x475....1 LDI
-            18x475....s0 POP
-            18x475....<{
-            18x402......NULL
-            18x475....}> PUSHCONT
-            18x475....IFJMP
-            26x73....MYADDR
-            34x73....11 PLDU
-            26x73....10 PUSHPOW2
-            18x73....EQUAL
-            34x73....137 THROWIFNOT
-            126x73....?fun_ref_c0ca23818e24f3c9 INLINECALLDICT
-            x475..}>
-            x82..?fun_ref_c0ca23818e24f3c9 PROCREF:<{
-            18x82....NULL
-            x82..}>
-            x1..?fun_ref_d816dc4ba685aed0 PROCREF:<{
-            18x1....2 PUSHINT
-            x1..}>
-            x2..?fun_ref_eac35a6e322f692c PROCREF:<{
-            18x2....EQUAL
-            18x2....<{
-            18x1......1 PUSHINT
-            18x2....}> PUSHCONT
-            18x2....<{
-            18x1......2 PUSHINT
-            18x2....}> PUSHCONT
-            18x2....IFELSE
-            x2..}>
-            x2..?fun_ref_f7f33a77d1558909 PROCREF:<{
-            18x2....s0 PUSH
-            26x2....123 EQINT
-            18x2....<{
-            26x1......1 LSHIFT
-            18x2....}> PUSHCONT
-            18x2....<{
-            26x1......3 MULCONST
-            18x2....}> PUSHCONT
-            18x2....IFELSE
-            x2..}>
-            }END>c
-        
- - \ No newline at end of file diff --git a/src/test/features/output/ternary_TernaryTester.code.fc b/src/test/features/output/ternary_TernaryTester.code.fc deleted file mode 100644 index 6f6247451..000000000 --- a/src/test/features/output/ternary_TernaryTester.code.fc +++ /dev/null @@ -1,146 +0,0 @@ -#pragma version =0.4.3; -#pragma allow-post-modification; -#pragma compute-asm-ltr; - -#include "ternary_TernaryTester.headers.fc"; -#include "ternary_TernaryTester.stdlib.fc"; -#include "ternary_TernaryTester.storage.fc"; - -;; -;; Contract TernaryTester functions -;; - -tuple $TernaryTester$_contract_init() impure inline_ref { - tuple $self = null(); - return $self; -} - -(tuple, int) $TernaryTester$_fun_test1(tuple $self, int $a) impure inline_ref { - var ($self) = $self; - return ($self, (($a == 123) ? 1 : 2)); -} - -(tuple, int) $TernaryTester$_fun_test2(tuple $self, int $a) impure inline_ref { - var ($self) = $self; - return ($self, (($a == 123) ? ($a * 2) : ($a * 3))); -} - -(tuple, int) $TernaryTester$_fun_test3(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, (($a == $b) ? 1 : 2)); -} - -(tuple, int) $TernaryTester$_fun_test4(tuple $self, int $a, int $b) impure inline_ref { - var ($self) = $self; - return ($self, (($a == 123) ? (($b == 456) ? 1 : 2) : (($b == 789) ? 3 : 4))); -} - -;; -;; Receivers of a Contract TernaryTester -;; - -((tuple), ()) %$TernaryTester$_internal_empty(tuple $self) impure inline { - var $self = $self; - return ($self, ()); -} - -;; -;; Get methods of a Contract TernaryTester -;; - -_ %test1(int $$a) method_id(70304) { - int $a = $$a; - var self = $TernaryTester$_contract_load(); - var res = self~$TernaryTester$_fun_test1($a); - return res; -} - -_ %test2(int $$a) method_id(74435) { - int $a = $$a; - var self = $TernaryTester$_contract_load(); - var res = self~$TernaryTester$_fun_test2($a); - return res; -} - -_ %test3(int $$a, int $$b) method_id(78562) { - int $a = $$a; - int $b = $$b; - var self = $TernaryTester$_contract_load(); - var res = self~$TernaryTester$_fun_test3($a, $b); - return res; -} - -_ %test4(int $$a, int $$b) method_id(82437) { - int $a = $$a; - int $b = $$b; - var self = $TernaryTester$_contract_load(); - var res = self~$TernaryTester$_fun_test4($a, $b); - return res; -} - -_ supported_interfaces() method_id { - return ( - "org.ton.introspection.v0"H >> 128, - "org.ton.abi.ipfs.v0"H >> 128, - "org.ton.deploy.lazy.v0"H >> 128, - "org.ton.debug.v0"H >> 128, - "org.ton.chain.workchain.v0"H >> 128 - ); -} - -_ get_abi_ipfs() method_id { - return "ipfs://QmTm1azvz3xGNedgaYyb1nvMYZS1Nf9zkvFmYH9qBDg6FC"; -} - -_ lazy_deployment_completed() method_id { - return get_data().begin_parse().load_int(1); -} - -;; -;; Routing of a Contract TernaryTester -;; - -(tuple, int) $TernaryTester$_contract_router_internal(tuple self, int msg_bounced, slice in_msg) impure inline_ref { - ;; Handle bounced messages - if (msg_bounced) { - return (self, true); - } - - ;; Parse incoming message - int op = 0; - if (slice_bits(in_msg) >= 32) { - op = in_msg.preload_uint(32); - } - - - ;; Receive empty message - if ((op == 0) & (slice_bits(in_msg) <= 32)) { - self~%$TernaryTester$_internal_empty(); - return (self, true); - } - - return (self, false); -} - -() recv_internal(int msg_value, cell in_msg_cell, slice in_msg) impure { - - ;; Context - var cs = in_msg_cell.begin_parse(); - var msg_flags = cs~load_uint(4); - var msg_bounced = -(msg_flags & 1); - slice msg_sender_addr = __tact_verify_address(cs~load_msg_addr()); - __tact_context = (msg_bounced, msg_sender_addr, msg_value, cs); - __tact_context_sender = msg_sender_addr; - - ;; Load contract data - var self = $TernaryTester$_contract_load(); - - ;; Handle operation - int handled = self~$TernaryTester$_contract_router_internal(msg_bounced, in_msg); - - ;; Throw if not handled - throw_unless(130, handled); - - ;; Persist state - $TernaryTester$_contract_store(self); -} diff --git a/src/test/features/output/ternary_TernaryTester.code.fif b/src/test/features/output/ternary_TernaryTester.code.fif deleted file mode 100644 index 50c27b06d..000000000 --- a/src/test/features/output/ternary_TernaryTester.code.fif +++ /dev/null @@ -1,211 +0,0 @@ -PROGRAM{ - DECLPROC __tact_verify_address - DECLPROC $TernaryTester$_contract_init - DECLPROC $TernaryTester$_contract_load - DECLPROC $TernaryTester$_contract_store - DECLPROC $TernaryTester$_fun_test1 - DECLPROC $TernaryTester$_fun_test2 - DECLPROC $TernaryTester$_fun_test3 - DECLPROC $TernaryTester$_fun_test4 - DECLPROC %$TernaryTester$_internal_empty - 70304 DECLMETHOD %test1 - 74435 DECLMETHOD %test2 - 78562 DECLMETHOD %test3 - 82437 DECLMETHOD %test4 - 113617 DECLMETHOD supported_interfaces - 121275 DECLMETHOD get_abi_ipfs - 115390 DECLMETHOD lazy_deployment_completed - DECLPROC $TernaryTester$_contract_router_internal - DECLPROC recv_internal - DECLGLOBVAR __tact_context - DECLGLOBVAR __tact_context_sender - DECLGLOBVAR __tact_context_sys - DECLGLOBVAR __tact_randomized - __tact_verify_address PROCINLINE:<{ - DUP - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - DUP - 11 PLDU - DUP - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - }> - $TernaryTester$_contract_init PROCREF:<{ - PUSHNULL - }> - $TernaryTester$_contract_load PROCREF:<{ - c4 PUSH - CTOS - LDREF - SWAP - __tact_context_sys SETGLOB - 1 LDI - DROP - IFJMP:<{ - PUSHNULL - }> - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - $TernaryTester$_contract_init INLINECALLDICT - }> - $TernaryTester$_contract_store PROCINLINE:<{ - DROP - NEWC - __tact_context_sys GETGLOB - SWAP - STREF - TRUE - SWAP - 1 STI - ENDC - c4 POP - }> - $TernaryTester$_fun_test1 PROCREF:<{ - 123 EQINT - IF:<{ - 1 PUSHINT - }>ELSE<{ - 2 PUSHINT - }> - }> - $TernaryTester$_fun_test2 PROCREF:<{ - DUP - 123 EQINT - IF:<{ - 1 LSHIFT# - }>ELSE<{ - 3 MULCONST - }> - }> - $TernaryTester$_fun_test3 PROCREF:<{ - EQUAL - IF:<{ - 1 PUSHINT - }>ELSE<{ - 2 PUSHINT - }> - }> - $TernaryTester$_fun_test4 PROCREF:<{ - SWAP - 123 EQINT - IF:<{ - 456 PUSHINT - EQUAL - IF:<{ - 1 PUSHINT - }>ELSE<{ - 2 PUSHINT - }> - }>ELSE<{ - 789 PUSHINT - EQUAL - IF:<{ - 3 PUSHINT - }>ELSE<{ - 4 PUSHINT - }> - }> - }> - %$TernaryTester$_internal_empty PROCINLINE:<{ - }> - %test1 PROC:<{ - $TernaryTester$_contract_load INLINECALLDICT - SWAP - $TernaryTester$_fun_test1 INLINECALLDICT - NIP - }> - %test2 PROC:<{ - $TernaryTester$_contract_load INLINECALLDICT - SWAP - $TernaryTester$_fun_test2 INLINECALLDICT - NIP - }> - %test3 PROC:<{ - $TernaryTester$_contract_load INLINECALLDICT - -ROT - $TernaryTester$_fun_test3 INLINECALLDICT - NIP - }> - %test4 PROC:<{ - $TernaryTester$_contract_load INLINECALLDICT - -ROT - $TernaryTester$_fun_test4 INLINECALLDICT - NIP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - get_abi_ipfs PROC:<{ - x{697066733a2f2f516d546d31617a767a3378474e65646761597962316e764d595a53314e66397a6b76466d59483971424467364643} PUSHSLICE - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - SWAP - }> - $TernaryTester$_contract_router_internal PROCREF:<{ - SWAP - IFJMP:<{ - DROP - TRUE - }> - 0 PUSHINT - OVER - SBITS - 31 GTINT - IF:<{ - DROP - DUP - 32 PLDU - }> - 0 EQINT - SWAP - SBITS - 33 LESSINT - AND - IFJMP:<{ - %$TernaryTester$_internal_empty INLINECALLDICT - TRUE - }> - FALSE - }> - recv_internal PROC:<{ - SWAP - CTOS - 4 LDU - SWAP - 1 PUSHINT - AND - NEGATE - SWAP - LDMSGADDR - SWAP - __tact_verify_address INLINECALLDICT - s0 s4 s2 PUXCPU - s0 s3 XCHG - 4 TUPLE - __tact_context SETGLOB - s0 s2 XCHG - __tact_context_sender SETGLOB - $TernaryTester$_contract_load INLINECALLDICT - -ROT - $TernaryTester$_contract_router_internal INLINECALLDICT - 130 THROWIFNOT - $TernaryTester$_contract_store INLINECALLDICT - }> -}END>c diff --git a/src/test/features/output/ternary_TernaryTester.code.rev.fif b/src/test/features/output/ternary_TernaryTester.code.rev.fif deleted file mode 100644 index d6db86af3..000000000 --- a/src/test/features/output/ternary_TernaryTester.code.rev.fif +++ /dev/null @@ -1,211 +0,0 @@ -PROGRAM{ - DECLPROC recv_internal; - DECLPROC ?fun_70304; - DECLPROC ?fun_74435; - DECLPROC ?fun_78562; - DECLPROC ?fun_82437; - DECLPROC supported_interfaces; - DECLPROC lazy_deployment_completed; - DECLPROC get_abi_ipfs; - DECLPROC ?fun_ref_364de9562794919e; - DECLPROC ?fun_ref_4b7c16b16b29693f; - DECLPROC ?fun_ref_96bb5087664b6772; - DECLPROC ?fun_ref_a05e0042bce184fb; - DECLPROC ?fun_ref_c0ca23818e24f3c9; - DECLPROC ?fun_ref_eac35a6e322f692c; - DECLPROC ?fun_ref_f7f33a77d1558909; - recv_internal PROC:<{ - s0 s1 XCHG - CTOS - 4 LDU - s0 s1 XCHG - 1 PUSHINT - AND - -1 MULCONST - s0 s1 XCHG - LDMSGADDR - s0 s1 XCHG - s0 PUSH - SBITS - 267 PUSHINT - EQUAL - 136 THROWIFNOT - s0 PUSH - 11 PLDU - s0 PUSH - 1279 PUSHINT - EQUAL - 137 THROWIF - 10 PUSHPOW2 - EQUAL - 136 THROWIFNOT - s0 s6 s4 PUXCPU - s0 s3 XCHG - 4 TUPLE - 1 SETGLOBVAR - s0 s2 XCHG - 2 SETGLOBVAR - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_364de9562794919e INLINECALLDICT - 130 THROWIFNOT - s0 POP - NEWC - 3 GETGLOBVAR - s0 s1 XCHG - STREF - -1 PUSHINT - s0 s1 XCHG - 1 STI - ENDC - c4 POP - }> - ?fun_70304 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_4b7c16b16b29693f INLINECALLDICT - s1 POP - }> - ?fun_74435 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - s0 s1 XCHG - ?fun_ref_f7f33a77d1558909 INLINECALLDICT - s1 POP - }> - ?fun_78562 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_eac35a6e322f692c INLINECALLDICT - s1 POP - }> - ?fun_82437 PROC:<{ - ?fun_ref_a05e0042bce184fb INLINECALLDICT - ROTREV - ?fun_ref_96bb5087664b6772 INLINECALLDICT - s1 POP - }> - supported_interfaces PROC:<{ - 123515602279859691144772641439386770278 PUSHINT - 209801025412363888721030803524359905849 PUSHINT - 42980537499636128163026532310500881091 PUSHINT - 36993126140238121407019133875791708966 PUSHINT - 209474421377847335869795010607481022628 PUSHINT - }> - lazy_deployment_completed PROC:<{ - c4 PUSH - CTOS - 1 LDI - s0 s1 XCHG - }> - get_abi_ipfs PROC:<{ - x{697066733A2F2F516D546D31617A767A3378474E65646761597962316E764D595A53314E66397A6B76466D5948397142446736464382_} PUSHSLICE - }> - ?fun_ref_364de9562794919e PROCREF:<{ - s0 s1 XCHG - <{ - s0 POP - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - s1 PUSH - SBITS - 31 GTINT - <{ - s0 POP - s0 PUSH - 32 PLDU - }> PUSHCONT - IF - 0 EQINT - s0 s1 XCHG - SBITS - 33 LESSINT - AND - <{ - -1 PUSHINT - }> PUSHCONT - IFJMP - 0 PUSHINT - }> - ?fun_ref_4b7c16b16b29693f PROCREF:<{ - 123 EQINT - <{ - 1 PUSHINT - }> PUSHCONT - <{ - 2 PUSHINT - }> PUSHCONT - IFELSE - }> - ?fun_ref_96bb5087664b6772 PROCREF:<{ - s0 s1 XCHG - 123 EQINT - <{ - 456 PUSHINT - EQUAL - <{ - 1 PUSHINT - }> PUSHCONT - <{ - 2 PUSHINT - }> PUSHCONT - IFELSE - }> PUSHCONT - <{ - 789 PUSHINT - EQUAL - <{ - 3 PUSHINT - }> PUSHCONT - <{ - 4 PUSHINT - }> PUSHCONT - IFELSE - }> PUSHCONT - IFELSE - }> - ?fun_ref_a05e0042bce184fb PROCREF:<{ - c4 PUSH - CTOS - LDREF - s0 s1 XCHG - 3 SETGLOBVAR - 1 LDI - s0 POP - <{ - NULL - }> PUSHCONT - IFJMP - MYADDR - 11 PLDU - 10 PUSHPOW2 - EQUAL - 137 THROWIFNOT - ?fun_ref_c0ca23818e24f3c9 INLINECALLDICT - }> - ?fun_ref_c0ca23818e24f3c9 PROCREF:<{ - NULL - }> - ?fun_ref_eac35a6e322f692c PROCREF:<{ - EQUAL - <{ - 1 PUSHINT - }> PUSHCONT - <{ - 2 PUSHINT - }> PUSHCONT - IFELSE - }> - ?fun_ref_f7f33a77d1558909 PROCREF:<{ - s0 PUSH - 123 EQINT - <{ - 1 LSHIFT - }> PUSHCONT - <{ - 3 MULCONST - }> PUSHCONT - IFELSE - }> -}END>c \ No newline at end of file diff --git a/src/test/features/output/ternary_TernaryTester.headers.fc b/src/test/features/output/ternary_TernaryTester.headers.fc deleted file mode 100644 index 788865358..000000000 --- a/src/test/features/output/ternary_TernaryTester.headers.fc +++ /dev/null @@ -1,28 +0,0 @@ -;; -;; Header files for TernaryTester -;; NOTE: declarations are sorted for optimal order -;; - -;; __tact_verify_address -slice __tact_verify_address(slice address) inline; - -;; $TernaryTester$_contract_init -tuple $TernaryTester$_contract_init() impure inline_ref; - -;; $TernaryTester$_contract_load -tuple $TernaryTester$_contract_load() impure inline_ref; - -;; $TernaryTester$_contract_store -() $TernaryTester$_contract_store(tuple v) impure inline; - -;; $TernaryTester$_fun_test1 -(tuple, int) $TernaryTester$_fun_test1(tuple $self, int $a) impure inline_ref; - -;; $TernaryTester$_fun_test2 -(tuple, int) $TernaryTester$_fun_test2(tuple $self, int $a) impure inline_ref; - -;; $TernaryTester$_fun_test3 -(tuple, int) $TernaryTester$_fun_test3(tuple $self, int $a, int $b) impure inline_ref; - -;; $TernaryTester$_fun_test4 -(tuple, int) $TernaryTester$_fun_test4(tuple $self, int $a, int $b) impure inline_ref; diff --git a/src/test/features/output/ternary_TernaryTester.md b/src/test/features/output/ternary_TernaryTester.md deleted file mode 100644 index f87f35300..000000000 --- a/src/test/features/output/ternary_TernaryTester.md +++ /dev/null @@ -1,61 +0,0 @@ -# TACT Compilation Report -Contract: TernaryTester -BOC Size: 475 bytes - -# Types -Total Types: 3 - -## StateInit -TLB: `_ code:^cell data:^cell = StateInit` -Signature: `StateInit{code:^cell,data:^cell}` - -## Context -TLB: `_ bounced:bool sender:address value:int257 raw:^slice = Context` -Signature: `Context{bounced:bool,sender:address,value:int257,raw:^slice}` - -## SendParameters -TLB: `_ bounce:bool to:address value:int257 mode:int257 body:Maybe ^cell code:Maybe ^cell data:Maybe ^cell = SendParameters` -Signature: `SendParameters{bounce:bool,to:address,value:int257,mode:int257,body:Maybe ^cell,code:Maybe ^cell,data:Maybe ^cell}` - -# Get Methods -Total Get Methods: 4 - -## test1 -Argument: a - -## test2 -Argument: a - -## test3 -Argument: a -Argument: b - -## test4 -Argument: a -Argument: b - -# Error Codes -2: Stack undeflow -3: Stack overflow -4: Integer overflow -5: Integer out of expected range -6: Invalid opcode -7: Type check error -8: Cell overflow -9: Cell underflow -10: Dictionary error -13: Out of gas error -32: Method ID not found -34: Action is invalid or not supported -37: Not enough TON -38: Not enough extra-currencies -128: Null reference exception -129: Invalid serialization prefix -130: Invalid incoming message -131: Constraints error -132: Access denied -133: Contract stopped -134: Invalid argument -135: Code of a contract was not found -136: Invalid address -137: Masterchain support is not enabled for this contract \ No newline at end of file diff --git a/src/test/features/output/ternary_TernaryTester.pkg b/src/test/features/output/ternary_TernaryTester.pkg deleted file mode 100644 index 9d4234f8b..000000000 --- a/src/test/features/output/ternary_TernaryTester.pkg +++ /dev/null @@ -1 +0,0 @@ -{"name":"TernaryTester","code":"te6ccgECFwEAAc8AART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UEAQCASAFBgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwAgEgBwgCASATFAIBIAkKAhG4IF2zxZ2zwxgQEQIRtlQbZ4A7Z4YwEAsCASAMDQAOwHuRcZFy4gIRsLD2zwB2zwxgEA4CEbC4ts8Wds8MYBAPABQgwHuSqgCSpwPiAAy6kXGRcuIBNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8EgAwAcB7mYEByLqRcZFy4pmBAxW6kXORdOLiAAJtALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgCAUgVFgARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1UbTFhenZ6M3hHTmVkZ2FZeWIxbnZNWVpTMU5mOXprdkZtWUg5cUJEZzZGQ4IA==","abi":"{\"name\":\"TernaryTester\",\"types\":[{\"name\":\"StateInit\",\"header\":null,\"fields\":[{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":false}}]},{\"name\":\"Context\",\"header\":null,\"fields\":[{\"name\":\"bounced\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"sender\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"raw\",\"type\":{\"kind\":\"simple\",\"type\":\"slice\",\"optional\":false}}]},{\"name\":\"SendParameters\",\"header\":null,\"fields\":[{\"name\":\"bounce\",\"type\":{\"kind\":\"simple\",\"type\":\"bool\",\"optional\":false}},{\"name\":\"to\",\"type\":{\"kind\":\"simple\",\"type\":\"address\",\"optional\":false}},{\"name\":\"value\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"mode\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"body\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"code\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}},{\"name\":\"data\",\"type\":{\"kind\":\"simple\",\"type\":\"cell\",\"optional\":true}}]}],\"receivers\":[{\"receiver\":\"internal\",\"message\":{\"kind\":\"empty\"}}],\"getters\":[{\"name\":\"test1\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"test2\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"test3\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"test4\",\"arguments\":[{\"name\":\"a\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}},{\"name\":\"b\",\"type\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"returnType\":{\"kind\":\"simple\",\"type\":\"int\",\"optional\":false,\"format\":257}}],\"errors\":{\"2\":{\"message\":\"Stack undeflow\"},\"3\":{\"message\":\"Stack overflow\"},\"4\":{\"message\":\"Integer overflow\"},\"5\":{\"message\":\"Integer out of expected range\"},\"6\":{\"message\":\"Invalid opcode\"},\"7\":{\"message\":\"Type check error\"},\"8\":{\"message\":\"Cell overflow\"},\"9\":{\"message\":\"Cell underflow\"},\"10\":{\"message\":\"Dictionary error\"},\"13\":{\"message\":\"Out of gas error\"},\"32\":{\"message\":\"Method ID not found\"},\"34\":{\"message\":\"Action is invalid or not supported\"},\"37\":{\"message\":\"Not enough TON\"},\"38\":{\"message\":\"Not enough extra-currencies\"},\"128\":{\"message\":\"Null reference exception\"},\"129\":{\"message\":\"Invalid serialization prefix\"},\"130\":{\"message\":\"Invalid incoming message\"},\"131\":{\"message\":\"Constraints error\"},\"132\":{\"message\":\"Access denied\"},\"133\":{\"message\":\"Contract stopped\"},\"134\":{\"message\":\"Invalid argument\"},\"135\":{\"message\":\"Code of a contract was not found\"},\"136\":{\"message\":\"Invalid address\"},\"137\":{\"message\":\"Masterchain support is not enabled for this contract\"}},\"interfaces\":[\"org.ton.introspection.v0\",\"org.ton.abi.ipfs.v0\",\"org.ton.deploy.lazy.v0\",\"org.ton.debug.v0\",\"org.ton.chain.workchain.v0\"]}","init":{"kind":"direct","args":[],"prefix":{"bits":1,"value":0},"deployment":{"kind":"system-cell","system":"te6cckECGQEAAdkAAQHAAQEFoEs9AgEU/wD0pBP0vPLICwMCAWIVBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtVG0xYXp2ejN4R05lZGdhWXliMW52TVlaUzFOZjl6a3ZGbVlIOXFCRGc2RkOCAAEbCvu1E0NIAAYAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAgEgDQsCEbggXbPFnbPDGBcMADABwHuZgQHIupFxkXLimYEDFbqRc5F04uICASATDgIBIBEPAhGwuLbPFnbPDGAXEAAMupFxkXLiAhGwsPbPAHbPDGAXEgAUIMB7kqoAkqcD4gIRtlQbZ4A7Z4YwFxQADsB7kXGRcuICktAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQXFgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPBgAAm07gEnQ"}},"sources":{"src/test/features/ternary.tact":"Y29udHJhY3QgVGVybmFyeVRlc3RlciB7CgogICAgaW5pdCgpIHsKICAgICAgICAKICAgIH0KICAgIAogICAgcmVjZWl2ZSgpIHsKICAgICAgICAvLyBEZXBsb3kKICAgIH0KCiAgICBnZXQgZnVuIHRlc3QxKGE6IEludCk6IEludCB7CiAgICAgICAgcmV0dXJuIGEgPT0gMTIzID8gMSA6IDI7CiAgICB9CgogICAgZ2V0IGZ1biB0ZXN0MihhOiBJbnQpOiBJbnQgewogICAgICAgIHJldHVybiBhID09IDEyMyA/IGEgKiAyIDogYSAqIDM7CiAgICB9CgogICAgZ2V0IGZ1biB0ZXN0MyhhOiBJbnQsIGI6IEludCk6IEludCB7CiAgICAgICAgcmV0dXJuIGEgPT0gYiA/IDEgOiAyOwogICAgfQoKICAgIGdldCBmdW4gdGVzdDQoYTogSW50LCBiOiBJbnQpOiBJbnQgewogICAgICAgIHJldHVybiBhID09IDEyMyA/IChiID09IDQ1NiA/IDEgOiAyKSA6IChiID09IDc4OSA/IDMgOiA0KTsKICAgIH0KfQ=="},"compiler":{"name":"tact","version":"invalid","parameters":"{\"entrypoint\":\"./src/test/features/ternary.tact\",\"options\":{\"debug\":true}}"}} \ No newline at end of file diff --git a/src/test/features/output/ternary_TernaryTester.stdlib.fc b/src/test/features/output/ternary_TernaryTester.stdlib.fc deleted file mode 100644 index b987818a0..000000000 --- a/src/test/features/output/ternary_TernaryTester.stdlib.fc +++ /dev/null @@ -1,12 +0,0 @@ -global (int, slice, int, slice) __tact_context; -global slice __tact_context_sender; -global cell __tact_context_sys; -global int __tact_randomized; - -slice __tact_verify_address(slice address) inline { - throw_unless(136, address.slice_bits() == 267); - var h = address.preload_uint(11); - throw_if(137, h == 1279); - throw_unless(136, h == 1024); - return address; -} \ No newline at end of file diff --git a/src/test/features/output/ternary_TernaryTester.storage.fc b/src/test/features/output/ternary_TernaryTester.storage.fc deleted file mode 100644 index 58d3baae1..000000000 --- a/src/test/features/output/ternary_TernaryTester.storage.fc +++ /dev/null @@ -1,23 +0,0 @@ -;; -;; Type: TernaryTester -;; - -tuple $TernaryTester$_contract_load() impure inline_ref { - slice $sc = get_data().begin_parse(); - __tact_context_sys = $sc~load_ref(); - int $loaded = $sc~load_int(1); - if ($loaded) { - return null(); - } else { - ;; Allow only workchain deployments - throw_unless(137, my_address().preload_uint(11) == 1024); - return $TernaryTester$_contract_init(); - } -} - -() $TernaryTester$_contract_store(tuple v) impure inline { - builder b = begin_cell(); - b = b.store_ref(__tact_context_sys); - b = b.store_int(true, 1); - set_data(b.end_cell()); -} \ No newline at end of file diff --git a/src/test/features/output/ternary_TernaryTester.ts b/src/test/features/output/ternary_TernaryTester.ts deleted file mode 100644 index 7c2d8355b..000000000 --- a/src/test/features/output/ternary_TernaryTester.ts +++ /dev/null @@ -1,334 +0,0 @@ -import { - Cell, - Slice, - Address, - Builder, - beginCell, - ComputeError, - TupleItem, - TupleReader, - Dictionary, - contractAddress, - ContractProvider, - Sender, - Contract, - ContractABI, - ABIType, - ABIGetter, - ABIReceiver, - TupleBuilder, - DictionaryValue -} from '@ton/core'; - -export type StateInit = { - $$type: 'StateInit'; - code: Cell; - data: Cell; -} - -export function storeStateInit(src: StateInit) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeRef(src.code); - b_0.storeRef(src.data); - }; -} - -export function loadStateInit(slice: Slice) { - let sc_0 = slice; - let _code = sc_0.loadRef(); - let _data = sc_0.loadRef(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function loadTupleStateInit(source: TupleReader) { - let _code = source.readCell(); - let _data = source.readCell(); - return { $$type: 'StateInit' as const, code: _code, data: _data }; -} - -function storeTupleStateInit(source: StateInit) { - let builder = new TupleBuilder(); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserStateInit(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeStateInit(src)).endCell()); - }, - parse: (src) => { - return loadStateInit(src.loadRef().beginParse()); - } - } -} - -export type Context = { - $$type: 'Context'; - bounced: boolean; - sender: Address; - value: bigint; - raw: Cell; -} - -export function storeContext(src: Context) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounced); - b_0.storeAddress(src.sender); - b_0.storeInt(src.value, 257); - b_0.storeRef(src.raw); - }; -} - -export function loadContext(slice: Slice) { - let sc_0 = slice; - let _bounced = sc_0.loadBit(); - let _sender = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _raw = sc_0.loadRef(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function loadTupleContext(source: TupleReader) { - let _bounced = source.readBoolean(); - let _sender = source.readAddress(); - let _value = source.readBigNumber(); - let _raw = source.readCell(); - return { $$type: 'Context' as const, bounced: _bounced, sender: _sender, value: _value, raw: _raw }; -} - -function storeTupleContext(source: Context) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounced); - builder.writeAddress(source.sender); - builder.writeNumber(source.value); - builder.writeSlice(source.raw); - return builder.build(); -} - -function dictValueParserContext(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeContext(src)).endCell()); - }, - parse: (src) => { - return loadContext(src.loadRef().beginParse()); - } - } -} - -export type SendParameters = { - $$type: 'SendParameters'; - bounce: boolean; - to: Address; - value: bigint; - mode: bigint; - body: Cell | null; - code: Cell | null; - data: Cell | null; -} - -export function storeSendParameters(src: SendParameters) { - return (builder: Builder) => { - let b_0 = builder; - b_0.storeBit(src.bounce); - b_0.storeAddress(src.to); - b_0.storeInt(src.value, 257); - b_0.storeInt(src.mode, 257); - if (src.body !== null && src.body !== undefined) { b_0.storeBit(true).storeRef(src.body); } else { b_0.storeBit(false); } - if (src.code !== null && src.code !== undefined) { b_0.storeBit(true).storeRef(src.code); } else { b_0.storeBit(false); } - if (src.data !== null && src.data !== undefined) { b_0.storeBit(true).storeRef(src.data); } else { b_0.storeBit(false); } - }; -} - -export function loadSendParameters(slice: Slice) { - let sc_0 = slice; - let _bounce = sc_0.loadBit(); - let _to = sc_0.loadAddress(); - let _value = sc_0.loadIntBig(257); - let _mode = sc_0.loadIntBig(257); - let _body = sc_0.loadBit() ? sc_0.loadRef() : null; - let _code = sc_0.loadBit() ? sc_0.loadRef() : null; - let _data = sc_0.loadBit() ? sc_0.loadRef() : null; - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function loadTupleSendParameters(source: TupleReader) { - let _bounce = source.readBoolean(); - let _to = source.readAddress(); - let _value = source.readBigNumber(); - let _mode = source.readBigNumber(); - let _body = source.readCellOpt(); - let _code = source.readCellOpt(); - let _data = source.readCellOpt(); - return { $$type: 'SendParameters' as const, bounce: _bounce, to: _to, value: _value, mode: _mode, body: _body, code: _code, data: _data }; -} - -function storeTupleSendParameters(source: SendParameters) { - let builder = new TupleBuilder(); - builder.writeBoolean(source.bounce); - builder.writeAddress(source.to); - builder.writeNumber(source.value); - builder.writeNumber(source.mode); - builder.writeCell(source.body); - builder.writeCell(source.code); - builder.writeCell(source.data); - return builder.build(); -} - -function dictValueParserSendParameters(): DictionaryValue { - return { - serialize: (src, buidler) => { - buidler.storeRef(beginCell().store(storeSendParameters(src)).endCell()); - }, - parse: (src) => { - return loadSendParameters(src.loadRef().beginParse()); - } - } -} - - type TernaryTester_init_args = { - $$type: 'TernaryTester_init_args'; -} - -function initTernaryTester_init_args(src: TernaryTester_init_args) { - return (builder: Builder) => { - let b_0 = builder; - }; -} - -async function TernaryTester_init() { - const __code = Cell.fromBase64('te6ccgECFwEAAc8AART/APSkE/S88sgLAQIBYgIDApLQAdDTAwFxsKMB+kABINdJgQELuvLgiCDXCwoggQT/uvLQiYMJuvLgiFRQUwNvBPhhAvhi2zxZ2zzy4IIwyPhDAcx/AcoAye1UEAQCASAFBgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwAgEgBwgCASATFAIBIAkKAhG4IF2zxZ2zwxgQEQIRtlQbZ4A7Z4YwEAsCASAMDQAOwHuRcZFy4gIRsLD2zwB2zwxgEA4CEbC4ts8Wds8MYBAPABQgwHuSqgCSpwPiAAy6kXGRcuIBNO1E0NQB+GPSADCRbeD4KNcLCoMJuvLgids8EgAwAcB7mYEByLqRcZFy4pmBAxW6kXORdOLiAAJtALm7vRgnBc7D1dLK57HoTsOdZKhRtmgnCd1jUtK2R8syLTry398WI5gnAgVcAbgGdjlM5YOq5HJbLDgnAb1J3vlUWW8cdT094FWcMmgnCdl05as07LczoOlm2UZuikgCAUgVFgARsK+7UTQ0gABgAHWybuNDVpcGZzOi8vUW1UbTFhenZ6M3hHTmVkZ2FZeWIxbnZNWVpTMU5mOXprdkZtWUg5cUJEZzZGQ4IA=='); - const __system = Cell.fromBase64('te6cckECGQEAAdkAAQHAAQEFoEs9AgEU/wD0pBP0vPLICwMCAWIVBAIBIAoFAgEgCQYCAUgIBwB1sm7jQ1aXBmczovL1FtVG0xYXp2ejN4R05lZGdhWXliMW52TVlaUzFOZjl6a3ZGbVlIOXFCRGc2RkOCAAEbCvu1E0NIAAYAC5u70YJwXOw9XSyuex6E7DnWSoUbZoJwndY1LStkfLMi068t/fFiOYJwIFXAG4BnY5TOWDquRyWyw4JwG9Sd75VFlvHHU9PeBVnDJoJwnZdOWrNOy3M6DpZtlGbopIAgEgDQsCEbggXbPFnbPDGBcMADABwHuZgQHIupFxkXLimYEDFbqRc5F04uICASATDgIBIBEPAhGwuLbPFnbPDGAXEAAMupFxkXLiAhGwsPbPAHbPDGAXEgAUIMB7kqoAkqcD4gIRtlQbZ4A7Z4YwFxQADsB7kXGRcuICktAB0NMDAXGwowH6QAEg10mBAQu68uCIINcLCiCBBP+68tCJgwm68uCIVFBTA28E+GEC+GLbPFnbPPLggjDI+EMBzH8BygDJ7VQXFgA8AZIwf+BwIddJwh+VMCDXCx/ewAAB10nBIbCRf+BwATTtRNDUAfhj0gAwkW3g+CjXCwqDCbry4InbPBgAAm07gEnQ'); - let builder = beginCell(); - builder.storeRef(__system); - builder.storeUint(0, 1); - initTernaryTester_init_args({ $$type: 'TernaryTester_init_args' })(builder); - const __data = builder.endCell(); - return { code: __code, data: __data }; -} - -const TernaryTester_errors: { [key: number]: { message: string } } = { - 2: { message: `Stack undeflow` }, - 3: { message: `Stack overflow` }, - 4: { message: `Integer overflow` }, - 5: { message: `Integer out of expected range` }, - 6: { message: `Invalid opcode` }, - 7: { message: `Type check error` }, - 8: { message: `Cell overflow` }, - 9: { message: `Cell underflow` }, - 10: { message: `Dictionary error` }, - 13: { message: `Out of gas error` }, - 32: { message: `Method ID not found` }, - 34: { message: `Action is invalid or not supported` }, - 37: { message: `Not enough TON` }, - 38: { message: `Not enough extra-currencies` }, - 128: { message: `Null reference exception` }, - 129: { message: `Invalid serialization prefix` }, - 130: { message: `Invalid incoming message` }, - 131: { message: `Constraints error` }, - 132: { message: `Access denied` }, - 133: { message: `Contract stopped` }, - 134: { message: `Invalid argument` }, - 135: { message: `Code of a contract was not found` }, - 136: { message: `Invalid address` }, - 137: { message: `Masterchain support is not enabled for this contract` }, -} - -const TernaryTester_types: ABIType[] = [ - {"name":"StateInit","header":null,"fields":[{"name":"code","type":{"kind":"simple","type":"cell","optional":false}},{"name":"data","type":{"kind":"simple","type":"cell","optional":false}}]}, - {"name":"Context","header":null,"fields":[{"name":"bounced","type":{"kind":"simple","type":"bool","optional":false}},{"name":"sender","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"raw","type":{"kind":"simple","type":"slice","optional":false}}]}, - {"name":"SendParameters","header":null,"fields":[{"name":"bounce","type":{"kind":"simple","type":"bool","optional":false}},{"name":"to","type":{"kind":"simple","type":"address","optional":false}},{"name":"value","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"mode","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"body","type":{"kind":"simple","type":"cell","optional":true}},{"name":"code","type":{"kind":"simple","type":"cell","optional":true}},{"name":"data","type":{"kind":"simple","type":"cell","optional":true}}]}, -] - -const TernaryTester_getters: ABIGetter[] = [ - {"name":"test1","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"test2","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"test3","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, - {"name":"test4","arguments":[{"name":"a","type":{"kind":"simple","type":"int","optional":false,"format":257}},{"name":"b","type":{"kind":"simple","type":"int","optional":false,"format":257}}],"returnType":{"kind":"simple","type":"int","optional":false,"format":257}}, -] - -const TernaryTester_receivers: ABIReceiver[] = [ - {"receiver":"internal","message":{"kind":"empty"}}, -] - -export class TernaryTester implements Contract { - - static async init() { - return await TernaryTester_init(); - } - - static async fromInit() { - const init = await TernaryTester_init(); - const address = contractAddress(0, init); - return new TernaryTester(address, init); - } - - static fromAddress(address: Address) { - return new TernaryTester(address); - } - - readonly address: Address; - readonly init?: { code: Cell, data: Cell }; - readonly abi: ContractABI = { - types: TernaryTester_types, - getters: TernaryTester_getters, - receivers: TernaryTester_receivers, - errors: TernaryTester_errors, - }; - - private constructor(address: Address, init?: { code: Cell, data: Cell }) { - this.address = address; - this.init = init; - } - - async send(provider: ContractProvider, via: Sender, args: { value: bigint, bounce?: boolean| null | undefined }, message: null) { - - let body: Cell | null = null; - if (message === null) { - body = new Cell(); - } - if (body === null) { throw new Error('Invalid message type'); } - - await provider.internal(via, { ...args, body: body }); - - } - - async getTest1(provider: ContractProvider, a: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - let source = (await provider.get('test1', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getTest2(provider: ContractProvider, a: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - let source = (await provider.get('test2', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getTest3(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('test3', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - - async getTest4(provider: ContractProvider, a: bigint, b: bigint) { - let builder = new TupleBuilder(); - builder.writeNumber(a); - builder.writeNumber(b); - let source = (await provider.get('test4', builder.build())).stack; - let result = source.readBigNumber(); - return result; - } - -} \ No newline at end of file